Terraform提示条件表达式必须为bool类型的错误该如何修复?
Terraform Incorrect condition type 错误修复方案
完整报错信息:
on modules/compute/main.tf line 34, in resource "compute" "abc" 34: count = local.home_region ? 1 : 0 |---------------- | local.home_region是 "us-ashburn-1" 条件表达式必须为布尔类型
错误根因
三目运算符? :左侧的判断条件必须是布尔类型的true或false,你当前直接传入了字符串类型的区域值local.home_region,Terraform不会自动将字符串转换为布尔值进行判断,因此触发类型错误。
修复方案
根据实际业务逻辑调整条件表达式为布尔返回值即可,常见场景对应写法如下:
- 场景1:仅当前部署区域等于home_region时创建资源
将count = var.current_deploy_region == local.home_region ? 1 : 0var.current_deploy_region替换为你代码中实际存储当前部署区域的变量/本地值即可。 - 场景2:仅home_region变量非空时创建资源
count = local.home_region != "" ? 1 : 0 - 场景3:仅home_region等于指定固定区域时创建资源
count = local.home_region == "us-ashburn-1" ? 1 : 0
内容的提问来源于stack exchange,提问作者Amman
相关产品推荐
相关产品推荐

