Terraform如何实现多行编写字符串但最终输出为单行
解决方案
HCL语法不支持将+运算符放在行首做字符串拼接,你可以选择以下两种方式实现拆分多行编写、最终输出单行字符串的需求,两种方式都兼容apply执行阶段才解析的动态值:
方法1:修正+拼接写法
将+运算符放在上一行末尾即可符合语法要求:
output "variable" { value = "First part " + ", then second part " + " and final part." }
方法2:使用join()函数(可读性更好)
如果拆分的字符串片段较多,更推荐用join函数把多段字符串放在数组中逐行编写,代码可读性更高:
output "variable" { value = join("", [ "First part ", ", then second part ", " and final part.", # 支持插入apply时才解析的动态参数,例如 # aws_instance.example.public_ip ]) }
两种写法最终输出的output.variable结果都和你预期的完全一致。
内容的提问来源于stack exchange,提问作者MBHA Phoenix
相关产品推荐
相关产品推荐

