我试图找到一种方法,当使用 for_each 创建资源本身时,有条件地填充 github_repository 资源的页面块。动态块似乎是实现此目的的适当方法,但我在语法上遇到了困难。
我尝试使用下面的代码但失败了。
变量.tf:
variable "repositories" {
description = "The repositories to create using terraform"
type = list(object({
name = string,
description = string,
vulnerability_alerts = bool,
pages_cname = string
}))
}
Run Code Online (Sandbox Code Playgroud)
terraform.tfvars.json:
{
"repositories": [
{
"name": "repo-with-pages",
"description": "Repository with pages enabled.",
"vulnerability_alerts": true,
"pages_cname": "www.example.com"
},
{
"name": "repo-without-pages",
"description": "Repository without pages enabled.",
"vulnerability_alerts": true
}
]
}
Run Code Online (Sandbox Code Playgroud)
主要.tf:
resource "github_repository" "this" {
for_each = { for repo in var.repositories : repo.name => …Run Code Online (Sandbox Code Playgroud)