如何从所有key成员中获取ONLY值并形成列表- Terraform



下面是一个团队。

---
TEAMS:
- name: dx-example-team2
roles:
- GROUP_DATA_ACCESS_READ_WRITE:
members:
- ab@ad.com
- cd@ad.com
- GROUP_OWNER:
members:
- pr@ad.com

你好,有人能帮我从嵌套的成员中获取值吗?键从上面的YAML文件,以及如何形成一个列表的所有值合并。

尝试地形代码,但下面只是我的样本:


locals {
teams_file = yamldecode(file("${path.cwd}/teams.yaml"))["TEAMS"]
all_members = flatten([for team in local.teams_file : [
for role in team.roles : {
"name" = role
}
]

])
}
output "sample" {
value = local.all_members
}

预期输出:

all_members = [ "ab@ad.com" , "cd@ad.com", "pr@ad.com"]

在您的情况下,您可以使用此表达式:

all_members = flatten(local.teams_file[*].roles[*].members) 

最新更新