如何解决Terraform .12嵌套循环
variables.tf
variable "teams" {
type = map(any)
default = {}
}
input_value:
teams = {
{
team_id = "abc"
role_names = ["owner"]
},{
team_id = "bcd"
role_names = ["read","write"]
}
}
}
main.tf:
resource "mongodbatlas_project" "project" {
name = "testing"
org_id = "123456"
dynamic "teams" {
for_each = var.teams
content {
id = teams.value.team_id
names = [teams.value.role_names]
}
}
}
我一直在尝试上面的代码,但是它不起作用。有没有更简单的方法将嵌套团队值分配给变量?
解决方法
teams
变量对我来说似乎不正确,并且存在语法错误(例如,}
中有额外的teams
)。我认为应该是list
,而不是map
:
variable "teams" {
type = list(any)
default = []
}
然后
teams = [
{
team_id = "abc"
role_names = ["owner"]
},{
team_id = "bcd"
role_names = ["read","write"]
}
]
那么您的资源可能是:
resource "mongodbatlas_project" "project" {
name = "testing"
org_id = "123456"
dynamic "teams" {
for_each = toset(var.teams)
content {
id = teams.value.team_id
names = teams.value.role_names
}
}
}
使用dynamic blocks时,迭代器的调用与块名相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。