Terraform 我能在地形中避开花括号符号吗?
我正在使用terraformTerraform 我能在地形中避开花括号符号吗?,terraform,Terraform,我正在使用terraformtemplate\u文件data资源创建一个文件,当我应用堆栈时,该文件应该写入动态创建的EC2实例。换句话说,我希望在新创建的EC2实例的主文件夹中创建此文件。但是,该文件包含曲括号语法${},terraform正在尝试插入该语法。我怎样才能摆脱这些卷曲的括号 作为背景,我正在使用cloud-config语法来编写这些文件 例: ${username}应该写入文件,而不是以terraform插入 即使我使用双美元符号$$,terraform仍然会失败,因为它找不到变
template\u文件
data资源创建一个文件,当我应用堆栈时,该文件应该写入动态创建的EC2实例。换句话说,我希望在新创建的EC2实例的主文件夹中创建此文件。但是,该文件包含曲括号语法${}
,terraform正在尝试插入该语法。我怎样才能摆脱这些卷曲的括号
作为背景,我正在使用cloud-config
语法来编写这些文件
例:
${username}
应该写入文件,而不是以terraform插入
即使我使用双美元符号$$
,terraform仍然会失败,因为它找不到变量:
。。。未能呈现::105,18-26:未知变量;没有名为“username”的变量。
仅供参考,我最终通过将模板写入另一个文件,然后使用文件
方法将其读入地形堆栈来解决此问题:
data "template_file" "config" {
template = "${file("./user_data.tpl")}"
}
Terraform为花括号使用了一个相当独特的转义: 序列 替换 $${ 文字${,不开始插值序列。 %%{ 文本%{,不开始模板指令序列。
您能在问题中包含几行模板文件脚本吗?谢谢没有大括号的$username这似乎不适用于
NAME\u模板:%{{service\u NAME}.%{environment\u NAME}