Условные атрибуты репозитория github в Terraform

Я хочу условно установить аргументы для ресурсов при управлении репозиториями Github с помощью Terraform.

Я хотел бы иметь разные блоки страниц в зависимости от значения параметра has_pages, как в следующем примере

Пример:

      resource "github_repository" "example" {
  name        = "example"
  description = "My awesome web page"

  private = false

  if ${var.has_page} == true:
    pages {
      source {
        branch = "master"
        path   = "/docs"
      }
    }
  end
}

У меня тоже проблемы с использованием dynamic! Кто-нибудь знает, как это сделать?

1 ответ

Для этого вы можете использовать комбинацию и :

      resource "github_repository" "example" {
  name        = "example"
  description = "My awesome web page"

  private = false

  dynamic "pages" {
    for_each = var.has_page ? [1] : []
    content {
      source {
        branch = "master"
        path   = "/docs"
      }
    }
  }

}

Дополнительная информация о том, как использоватьdynamicнаходится в [1] и околоfor_eachесть в [2].


[1] https://www.terraform.io/language/expressions/dynamic-blocks

[2] https://www.terraform.io/language/meta-arguments/for_each

Другие вопросы по тегам