我看到此错误“如果需要重复,请在值表达式后使用省略号 (...) 以启用按键分组。”
locals {
key_id = {
for x in var.security_rules :
"${x.type}" => x}
}
Run Code Online (Sandbox Code Playgroud)
是否可以在该循环的嵌套中使用省略号,我该怎么做?
该错误消息意味着var.security_rules有多个相同类型的项目。例如:
variable "security_rules" {
default = [
{
type = "a"
},
{
type = "b"
},
{
type = "a"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我们可以看到至少有 2 个项目具有相同的type,这不会被接受为地图中的键。我们在这里可以做的是将具有相同的项目分组type。这正是ellipsis (...)将要实现的目标。所以:
locals {
key_id = {
for x in var.security_rules : "${x.type}" => x... }
}
Run Code Online (Sandbox Code Playgroud)
本例中的值key_id将是:
key_id = {
"a" = [
{
"type" = "a"
},
{
"type" = "a"
},
]
"b" = [
{
"type" = "b"
},
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14631 次 |
| 最近记录: |