0

我目前在 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 组织并收到大量存储库。然后我使用 count 将这些存储库添加到团队中。不幸的是,一旦添加或更改了新的存储库,Terraform 就会出错。话虽这么说,我认为新的 for_each 函数可以为我解决这个难题,但是,我在思考如何实现它时遇到了麻烦;在这种特殊情况下。任何帮助,将不胜感激。

4

1 回答 1

0

虚惊。我一直都有答案,问题归因于我引用变量的方式.....

如果有人偶然发现了这个,那么你想像这样构建你的循环

for_each = toset(data.github_repositories.repositories.names) 
team_id = github_team.Business_Analysts.id 
repository = each.key 
permission = "pull" 
}

于 2020-05-15T23:15:32.027 回答