2017-02-25 196 views
1

我正在使用Terraform中的new conditionals来根据条件打开或关闭一个配置块。基于环境的Terraform条件块

下面是我想在有条件的情况下创建的块,例如,如果我有一个变量用于生产。

access_logs { 
    bucket = "my-bucket" 
    prefix = "${var.environment_name}-alb" 
} 

我想我已经检查环境条件的逻辑,但我不知道怎么坚持上述配置到逻辑。

"${var.environment_name == "production" ? 1 : 0 }" 

是否有可能经由environment_name变量打开access_logs块和关闭?如果这是不可能的,是否有解决方法?

回答

3

在当前terraform,所述if语句仅是一个的值,并且不能被用于该块。

在这种情况下有一种解决方法。您可以将access_log块的enabled属性设置为false。请注意,这不是一个通用的解决方案,但只能与access_log块一起使用。

access_logs { 
    bucket = "my-bucket" 
    prefix = "${var.environment_name}-alb" 
    enabled = "${var.environment_name == "production" ? true : false }" 
} 

参见:

+0

尼斯,它看起来像我在使用的情况下,运气好。 – jmreicha