【发布时间】:2017-11-10 14:00:33
【问题描述】:
使用 Terraform (v0.9.6) GitHub Provider,如何在使用一种资源的同时将多个不同的问题标签分别分配给 GitHub 存储库列表?
用另一种语言我可能会写一些类似的东西:
for i in repos {
for j in tags[i] {
make tag j on repo i
}
}
在下面的示例中,我将多个标签添加到单个存储库。 map 键是存储库,值是字符串列表。:
variable "issue-labels" {
type = "map"
default = {
"repo_0" = "tag1, tag2, tag3"
"repo_1" = "tag4"
"repo_2" = "tag5, tag6"
}
}
resource "github_issue_label" "issue_labels" {
count = "${length(split(", ", join(", ", lookup(issue-labels, "my-repo"))))}"
repository = "my-repo"
name = "${element(split(", ", join(", ", lookup(issue-labels, "my-repo"))), count.index)}"
color = "FFFFFF"
}
目前正在寻找 terraform 内部循环的答案。要么找到某种方法来遍历存储库并为每个存储库进行多个资源计数,要么涉及interpolation 的解决方法,以便在我们遍历标签总数时分配正确的存储库。
【问题讨论】:
-
一开始我也认为这是同一个问题,但另一个问题是关于创建资源的二维“矩阵”,这最终与这种情况略有不同,其中每个顶级对象(存储库)有自己的一组二级对象。