我想将一个简单的terraform字符串列表转换为以键为索引的地图。
我想从这样的事情出发:
locals {
keycloak_secret = [
"account-console",
"admin-cli",
"broker",
"internal",
"realm-management",
"security-admin-console",
]
}
类似
map({0:"account-console", 1:"admin-cli"}, ...)
我的目标是利用terraform 0.13的新功能在terraform module.上使用地图上的循环
我没有找到任何解决方案,可能对我有帮助,谢谢。
答案 0 :(得分:2)
如果我的理解正确,您想将列表转换为地图。如果是这样,那么您可以按照以下步骤进行操作:
locals {
keycloak_secret_map = {for idx, val in local.keycloak_secret: idx => val}
}
产生:
{
"0" = "account-console"
"1" = "admin-cli"
"2" = "broker"
"3" = "internal"
"4" = "realm-management"
"5" = "security-admin-console"
}
答案 1 :(得分:0)
我想出了另一种解决方案,它比@Marcin的回答要丑。
locals = {
keycloak_secret_map = for secret_name in local.keycloak_secret : index(local.keycloak_secret, secret_name) => secret_name
}
哪个给
{
0 = "account-console"
1 = "admin-cli"
2 = "broker"
3 = "internal"
4 = "realm-management"
5 = "security-admin-console"
}