🎉
terraformのdynamicブロックでパラメータを条件分岐してみた
はじめに
terraformでGKEを定義した際に、反映する環境によって特定のリソースプロパティを追加したいケースがあった。
その際に、dynamic
ブロックを使うことで、リソースプロパティの条件分岐を実現できた。
dynamicブロックでパラメータを条件分岐
var.project
がtest
の場合のみ、dns_config
を定義することができる。
resource "google_container_cluster" "cluster" {
name = "cluster"
location = var.region
project = var.project
network = google_compute_network.network.name
enable_autopilot = true
vertical_pod_autoscaling {
enabled = true
}
ip_allocation_policy {}
dynamic "dns_config" {
for_each = var.project == "test" ? [1] : []
content {
cluster_dns = "CLOUD_DNS"
cluster_dns_domain = "cluster.local"
cluster_dns_scope = "CLUSTER_SCOPE"
}
}
}
Discussion