在下面的地形代码中,我试图创建具有单个块的组。现在我要用0,12个独立的块来创建。有没有其他的方法来创建组与单个块。我试过了,但没有成功
locals {
instances = [
{
instance = "test1"
baseUrl = "url"
subDomain = "sd"
groups = [
"app1",
"app2",
"app3",
]
},
{
instance = "test2"
baseUrl = "url2"
subDomain = "sd2"
groups = [
"t1",
"t2",
"t3",
]
},
]
}
resource "okta_group" "press" {
for_each = { for k, instance in local.instances[0].groups : k => instance ]
name = each.value
}
resource "okta_group" "press1" {
for_each = { for k, instance in local.instances[1].groups : k => instance ]
name = each.value
}
简单来说:您需要向for_each
提供一个单一的(扁平的)列表。它不接受列表的列表或任何其他数据结构。
试题:
for_each = { for k, instance in flatten(local.instances[*].groups) : k => instance}
使用
:
flatten
-将列表的列表转换为列表的操作- 和
[*]
-他们称之为splat表达
我建议读一下这些。
我得到了与使用flatten:
相同的结果for_each = { for k, instance in local.instances[*].groups : k => instance }