Terraform如何在count参数中同时使用多个变量做条件判断
你遇到的报错是因为Terraform的每个资源/数据源块仅支持定义一次count参数,重复声明同一个参数会触发语法校验错误。
你只需要将多个判断条件通过逻辑运算符合并到同一个count的三元表达式中即可,根据你的业务需求可选两种逻辑:
- 需同时满足两个判断条件才创建数据源(逻辑与
&&)
代码示例:data "aws_secretsmanager_secret_version" "test1" { count = (var.test123.load_from_secrets_manager && var.test456.load_from_secrets_manager) ? 1 : 0 secret_id = "test1" } - 任意一个判断条件满足就创建数据源(逻辑或
||)
代码示例:data "aws_secretsmanager_secret_version" "test1" { count = (var.test123.load_from_secrets_manager || var.test456.load_from_secrets_manager) ? 1 : 0 secret_id = "test1" }
表达式外层的括号用于提升可读性,避免运算符优先级导致逻辑异常,你也可以根据需求继续拼接更多判断条件。
内容的提问来源于stack exchange,提问作者devgirl
相关产品推荐
相关产品推荐

