首页 > 解决方案 > 追加或添加到 terraform 变量 v12

问题描述

我读到 v12 不再需要插值语法,我宁愿尽可能不使用它。我的一个问题是如何将字符串添加到变量中,例如命名约定?

通过插值,你可以

name = "${var.variable_name}-vnet"

新的 v12 语法应该允许这样编写变量,但我不能像上面那样添加 -vnet

name = var.variable_name

标签: syntaxterraform

解决方案


Terraform 0.12 中更改的目的是避免对冗余插值语法的需求,特别是避免“插值”不是字符串的东西所暗示的混淆,以便将变量的值分配给参数,而不是删除完全插值语法。如果您的目标是将两个字符串连接在一起,那么插值语法仍然可能是最简洁的方法,因为字符串连接是插值语法的用途

通过内置函数还有其他一些替代方法,但它们中的每一个是否比插值方法更具可读性还是有争议的:

name = join("-", [var.variable_name, "vnet"])
name = format("%s-vnet", var.variable_name)

推荐阅读