2020 Get available zones in region
2121 *****************************************/
2222data "google_compute_zones" "available" {
23+ count = local.zone_count == 0 ? 1 : 0
24+
2325 {% if beta_cluster %}
2426 provider = google-beta
2527 {% else %}
@@ -31,7 +33,9 @@ data "google_compute_zones" "available" {
3133}
3234
3335resource "random_shuffle" "available_zones" {
34- input = data.google_compute_zones.available.names
36+ count = local.zone_count == 0 ? 1 : 0
37+
38+ input = data.google_compute_zones.available[0].names
3539 result_count = 3
3640}
3741
@@ -43,7 +47,7 @@ locals {
4347 location = var.regional ? var.region : var.zones[0]
4448 region = var.regional ? var.region : join("-", slice(split("-", var.zones[0]), 0, 2))
4549 // for regional cluster - use var.zones if provided, use available otherwise, for zonal cluster use var.zones with first element extracted
46- node_locations = var.regional ? coalescelist(compact(var.zones), sort(random_shuffle.available_zones.result)) : slice(var.zones, 1, length(var.zones))
50+ node_locations = var.regional ? coalescelist(compact(var.zones), try( sort(random_shuffle.available_zones[0] .result),[] )) : slice(var.zones, 1, length(var.zones))
4751 // Kubernetes version
4852 master_version_regional = var.kubernetes_version != "latest" ? var.kubernetes_version : data.google_container_engine_versions.region.latest_master_version
4953 master_version_zonal = var.kubernetes_version != "latest" ? var.kubernetes_version : data.google_container_engine_versions.zone.latest_master_version
@@ -245,6 +249,6 @@ data "google_container_engine_versions" "zone" {
245249 //
246250 // data.google_container_engine_versions.zone: Cannot determine zone: set in this resource, or set provider-level zone.
247251 //
248- location = local.zone_count == 0 ? data.google_compute_zones.available.names[0] : var.zones[0]
252+ location = local.zone_count == 0 ? data.google_compute_zones.available[0] .names[0] : var.zones[0]
249253 project = var.project_id
250254}
0 commit comments