如何解决在Terraform中将列表转换为带有索引的地图
我想将一个简单的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.上使用地图上的循环
我没有找到任何解决方案,可能对我有帮助,谢谢。
解决方法
如果我的理解正确,您想将列表转换为地图。如果是这样,那么您可以按照以下步骤进行操作:
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"
}
,
我想出了另一种解决方案,它比@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"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。