Terraform本地变量引用报错:如何在本地变量中引用其他本地变量?
在Terraform本地值中复用变量的正确方式
你遇到的问题是因为Terraform中引用本地值(local)必须通过local.前缀,不能直接写变量名。修正后的代码如下:
locals { a = var.from_scratch b = local.a == "true" ? 5 : 56 }
如果你的评估逻辑更复杂,建议把中间逻辑拆成独立的本地值,这样既方便复用,也能提升代码可读性。比如:
locals { a = var.from_scratch # 把判断逻辑单独抽出来,后续其他地方也能复用 is_from_scratch = local.a == "true" b = local.is_from_scratch ? 5 : 56 # 其他依赖这个判断的逻辑也可以直接用local.is_from_scratch c = local.is_from_scratch ? "init" : "existing" }
这种方式在处理多层嵌套条件、多变量组合判断的场景下会更实用,能避免重复写相同的判断逻辑,也更容易排查问题。
内容的提问来源于stack exchange,提问作者Niko
相关产品推荐
相关产品推荐

