Terraform插值表达式弃用警告修改后遇属性键歧义错误求助
解决Terraform "Ambiguous attribute key"错误
当你把插值表达式${var.name}改为var.name后触发该错误,核心原因是在map/object的属性键位置直接使用变量表达式时,Terraform无法识别这是动态计算的键名,会将其当作字面量字符串处理。
解决步骤:
- 定位best.tf第69行的locals代码块,确认是否是在定义map或object时,把
var.name直接作为属性键使用 - 对动态计算的属性键,需要用括号
()包裹表达式,明确告知Terraform这是一个需要计算的键名 - 代码示例对比:
错误写法(触发Ambiguous attribute key):
正确写法:locals { resource_tags = { var.name = "prod" } }locals { resource_tags = { (var.name) = "prod" } } - 执行
terraform plan验证,确认错误消除且原插值警告不再出现
内容的提问来源于stack exchange,提问作者Positive Navid
相关产品推荐
相关产品推荐

