Skip to main content
 首页 » 编程设计

if-statement之是否可以通过 environment_name 变量打开和关闭 access_logs block

2024年11月24日35lyhabc

我正在考虑使用 new conditionals Terraform v0.11 基本上根据环境打开或关闭配置块。

这是我想成为条件的块,例如,如果我有一个变量要打开以进行生产。

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

我想我有条件检查环境的逻辑,但我不知道如何将上述配置粘贴到逻辑中。
"${var.environment_name == "production" ? 1 : 0 }" 

是否可以转 access_logs通过 environment_name 阻止和关闭多变的?如果这是不可能的,是否有解决方法?

请您参考如下方法:

在当前的地形中,if语句只是一个值,不能用于块。

在这种情况下有一个解决方法。您可以设置 enabled access_log 的属性阻止到 false .请注意,这不是通用解决方案,只能与 access_log 一起使用。堵塞。

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

也可以看看:
  • https://www.terraform.io/docs/providers/aws/r/elb.html#access_logs
  • https://www.terraform.io/docs/providers/aws/r/alb.html#access_logs
  • https://github.com/hashicorp/terraform/pull/11120