Kau*_*mar 2 terraform terraform0.12+
我有一个作为变量传递的地图
dummy = {
1 = {
instances = {
"ip1" = {
a = "earth"
b = "hi"
c = 1
}
"ip2" = {
a = "world"
b = "hello"
c = 2
}
"ip3" = {
a = "planet"
b = "hey"
c = 3
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想构建一个地图,如下所示
value = {
"ip1" = {
b = "hi"
c = 1
}
"ip2" = {
b = "hello"
c = 2
}
"ip3" = {
b = "hey"
c = 3
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用 for 循环,但似乎没有任何结果 以下是我自此以来尝试过的
_meta = {
for instance in var.dummy.1.instances:
(instance.key) = {
b = instance.value.b
c = instance.value.c
}
}
Run Code Online (Sandbox Code Playgroud)
但它说我无法使用迭代变量访问密钥
_meta = {
for key, instance in var.dummy.1.instances:
key => {
b = instance.b
c = instance.c
}
}
Run Code Online (Sandbox Code Playgroud)
for 表达式与 for_each 略有不同。您不会在 for 表达式中获取键或值变量,并且可以显式地从映射中提取整个条目,如上面所示,使用映射中的键、值作为表达式形式。
您还需要=>
在生成的映射条目的键和值之间使用粗箭头运算符。
归档时间: |
|
查看次数: |
4192 次 |
最近记录: |