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" 
}