在Terraform中如何将字符串与列表元素拼接得到指定格式输出?
Terraform 列表元素批量拼接实现方案
你可以通过Terraform内置的for表达式遍历列表元素,逐个完成字符串拼接即可实现需求。
正确代码示例
locals { mylist = ["aaa","bbb","ccc","ddd","eee"] str1 = "hello" str2 = "Data" # 遍历每个列表元素,按要求拼接生成新的列表 merged_string_list = [for item in local.mylist : "${local.str1},${item},${local.str2}"] # 若需要直接得到换行分隔的单条字符串,可添加下方配置 merged_string_multiline = join("\n", local.merged_string_list) }
结果验证
添加output块查看最终输出:
output "target_result" { # 输出列表格式结果 value = local.merged_string_list # 若要输出逐行格式的单字符串,替换为下行 # value = local.merged_string_multiline }
执行terraform apply后,得到的输出如下:
target_result = [ "hello,aaa,Data", "hello,bbb,Data", "hello,ccc,Data", "hello,ddd,Data", "hello,eee,Data", ]
如果使用merged_string_multiline作为输出值,会直接返回你要求的逐行格式内容。
内容的提问来源于stack exchange,提问作者kanmani1303
相关产品推荐
相关产品推荐

