Условные атрибуты репозитория 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