xxxxxxxxxx
variable "list" {
type = list(map(string))
default = [
{ a : "a", k : "k1" },
{ a : "b", k : "k1" },
{ a : "c", k : "k1" },
{ a : "d", k : "k2" },
{ a : "e", k : "k2" }
]
}
output "test" {
value = {for item in var.list:
item["k"] => {a = item["a"]}
}
}
xxxxxxxxxx
variable "list" {
type = list(map(string))
default = [
{ a : "a", k : "node" },
{ a : "b", k : "node" },
{ a : "c", k : "master" },
{ a : "d", k : "master" }
]
}
locals {
helper_map = {for idx,item in var.list: item["k"] => {a = item["a"]} }
final_map = {for v1 in flatten([
for key, item in local.helper_map: [
for idx, val in item: {
"${key}-${idx}" = val
}
]
]): keys(v1)[0] => values(v1)[0]}
}
output "test2" {
value = local.final_map
}