以下两种在terraform中的样式有什么区别,是否相同?
vpc_id = aws_vpc.default.id
对比
vpc_id = "${aws_vpc.default.id}"
答案 0 :(得分:4)
第一个是HCL2表达式,第二个是插值。
在terraform v.0.12.x之前使用了插值法,这就是为什么您仍然可以在Internet上找到这种表示法的原因。
如果具有v0.12.x,请使用"${aws_vpc.default.ip}"
表示法并运行命令terraform validate
,您将收到警告:
警告:不建议仅使用插值表达式
[...]
Terraform 0.11和更早版本要求通过插值语法提供所有非常数表达式,但是现在不建议使用此模式。要使该警告静音,请从该表达式的开头删除“ $ {序列,从}序列开始,仅保留内部表达式。
当模板包含多个插值序列或文字字符串和插值的混合时,模板插值语法仍用于根据表达式构造字符串。此弃用仅适用于完全由单个插值序列组成的模板。