You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform v0.11.7中如何向zipmap值侧追加字符串?

解决方案:在Terraform v0.11.7中为zipmap的value追加字符串

在Terraform v0.11.7里,直接用"*" + random_shuffle.x.result"这种写法是行不通的——因为字符串和列表类型不兼容,没法直接相加。不过我们可以借助formatlist函数来逐个处理列表里的元素,实现给每个value前缀加*的效果。

具体的表达式写法如下:

my_expression = "${zipmap(random_shuffle.x.result, formatlist("*%s", random_shuffle.x.result))}"

原理说明:

  • formatlist("*%s", random_shuffle.x.result):这个函数会遍历random_shuffle.x.result列表中的每一个元素,把每个元素代入*%s的格式化字符串里,生成一个新的列表。比如原列表是["foo", "bar"],处理后就变成了["*foo", "*bar"]。
  • zipmap函数会把原列表(作为key)和格式化后的新列表(作为value)一一对应,生成你想要的映射结构。

举个例子,如果random_shuffle.x.result的输出是["a", "b", "c"],最终my_expression的结果会是:

{
  "a" = "*a"
  "b" = "*b"
  "c" = "*c"
}

内容的提问来源于stack exchange,提问作者goldver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:13:58