Terraform 12 将计数转换为 for_each
Terraform 12 convert count to for_each
我目前在 Terraform 中计算索引的方式遇到了一些挑战。我正在寻求一些帮助将其转换为 for_each.
# Data Source for github repositories. This is used for adding all repos to the teams.
data "github_repositories" "repositories" {
query = "org:theorg"
}
resource "github_team_repository" "business_analysts" {
count = length(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = element(data.github_repositories.repositories.names, count.index)
permission = "pull"
}
我尝试了以下但没有成功:
resource "github_team_repository" "business_analysts" {
for_each = toset(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = "${each.value}"
permission = "pull"
}
我正在查询 Github 组织并收到大量存储库列表。然后我使用计数将这些存储库添加到团队中。不幸的是,一旦添加或更改了新的存储库,Terraform 就会出错。话虽这么说,我认为新的 for_each 函数可以为我解决这个难题,但是,我无法解决如何实现它的问题;在这种特殊情况下。任何帮助,将不胜感激。
误报。我一直都有答案,问题归因于我引用变量的方式.....
如果有人无意中发现了这个,那么你想像这样构建你的循环
for_each = toset(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = each.key
permission = "pull"
}
我目前在 Terraform 中计算索引的方式遇到了一些挑战。我正在寻求一些帮助将其转换为 for_each.
# Data Source for github repositories. This is used for adding all repos to the teams.
data "github_repositories" "repositories" {
query = "org:theorg"
}
resource "github_team_repository" "business_analysts" {
count = length(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = element(data.github_repositories.repositories.names, count.index)
permission = "pull"
}
我尝试了以下但没有成功:
resource "github_team_repository" "business_analysts" {
for_each = toset(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = "${each.value}"
permission = "pull"
}
我正在查询 Github 组织并收到大量存储库列表。然后我使用计数将这些存储库添加到团队中。不幸的是,一旦添加或更改了新的存储库,Terraform 就会出错。话虽这么说,我认为新的 for_each 函数可以为我解决这个难题,但是,我无法解决如何实现它的问题;在这种特殊情况下。任何帮助,将不胜感激。
误报。我一直都有答案,问题归因于我引用变量的方式.....
如果有人无意中发现了这个,那么你想像这样构建你的循环
for_each = toset(data.github_repositories.repositories.names)
team_id = github_team.Business_Analysts.id
repository = each.key
permission = "pull"
}