如何基于变量值使用IF/OR实现Terraform Count功能
Terraform 根据变量值动态设置count参数
你可以通过Terraform的条件表达式直接实现这个逻辑,在count参数中嵌入包含逻辑或的判断:
resource "your_resource_type" "resource_name" { count = var.domain_name_suffix == "all" || var.domain_name_suffix == "GW" ? 1 : 0 # 其他资源配置项... }
逻辑说明
- 利用三元运算符
condition ? true_value : false_value做分支判断 - 当
var.domain_name_suffix等于"all"或"GW"时,条件成立,count设为1,创建1个资源实例 - 其他情况条件不成立,count设为0,不创建该资源
如果追求代码可读性,也可以把判断逻辑抽离为局部变量:
locals { should_create_resource = var.domain_name_suffix == "all" || var.domain_name_suffix == "GW" } resource "your_resource_type" "resource_name" { count = local.should_create_resource ? 1 : 0 # 其他资源配置项... }
这样后续修改判断条件时,只需调整局部变量的逻辑即可,代码结构更清晰。
内容的提问来源于stack exchange,提问作者jh12298
相关产品推荐
相关产品推荐

