List 地形在地图上迭代
我的意见如下:List 地形在地图上迭代,list,maps,terraform,List,Maps,Terraform,我的意见如下: list_groups= [ { "dev-api-eu" = { envs = [ "dev-eu-1", "dev-eu-2", ] hosts = [ "dev-api-e
list_groups= [
{
"dev-api-eu" = {
envs = [
"dev-eu-1",
"dev-eu-2",
]
hosts = [
"dev-api-eu1",
"dev-api-eu2",
]
}
"dev-api-uk" = {
envs = [
"dev-uk-1",
"dev-uk-2",
]
hosts = [
"dev-api-uk1",
"dev-api-uk2",
]
}
},
{
"dev-api-us" = {
envs = [
"dev-us-1",
"dev-us-2",
]
hosts = [
"dev-api-us1",
"dev-api-us2",
]
}
},
]
现在,我希望我的输出是一个由3个地图和3个键组成的地图:
"dev-api-eu"
"dev-api-uk"
"dev-api-us"
不更改值
下面是我想要的输出:
map_groups1 = {
dev-api-eu = {
envs = [
"dev-eu-1",
"dev-eu-2",
]
hosts = [
"dev-api-eu1",
"dev-api-eu2",
]
}
dev-api-uk = {
envs = [
"dev-uk-1",
"dev-uk-2",
]
hosts = [
"dev-api-uk1",
"dev-api-uk2",
]
}
dev-api-us = {
envs = [
"dev-us-1",
"dev-us-2",
]
hosts = [
"dev-api-us1",
"dev-api-us2",
]
}
}
如果列表中的每个项目只有一个映射,则下面的选项有效
map_groups1 = {
for record in local.list_groups:
keys(record)[0] => values(record)[0]
}
上面的代码跳过了键“devapi uk”,只在结果中给出了两个映射。
但是,正如您所看到的,输入列表中的第一项有两个映射,并且可以没有n个映射。有什么想法吗?您可以使用:
您能提供所需输出映射的完整示例吗?谢谢。这有帮助。我还有一个稍微不同的用例,因为它是一个不同的问题,所以我在这里提出了它:。请你也看一下好吗。
output "test" {
value = merge(var.list_groups...)
}