google-cloud-platformgoogle-kubernetes-engineterraform-provider-gcp

error fetching latest gke min version using data.google_container_engine_versions


I'm using

data "google_container_engine_versions" "latest_version" {
  provider       = google-beta
  location       = var.region
  version_prefix = "1.31."
}

min_master_version = data.google_container_engine_versions.latest_version.release_channel_latest_version["REGULAR"]

to fetch latest version for 1.31

getting error

│ data.google_container_engine_versions.latest_version.release_channel_latest_version is map of string with 1 element

getting this error , where as in regular release channel i see 1.31 version available https://cloud.google.com/kubernetes-engine/docs/release-notes#regular-channel

The following versions are now available in the Regular channel: 1.30.12-gke.1033000 1.31.8-gke.1045000 1.32.3-gke.1927009 1.32.4-gke.1106006

is there something wrong im doing


Solution

  • Please refer to the below code so you can get the information that you need.

    Use the below code to perform your test, please update your location accordingly.

    
    data "google_container_engine_versions" "central1b" {
      provider       = google-beta
      location       = "us-central1-b"
      version_prefix = "1.31."
    }
    
    output "stable_channel_default_version_rapid_1" {
      value = data.google_container_engine_versions.central1b.release_channel_default_version["RAPID"]
    }
    output "stable_channel_default_version_rapid_2" {
      value = data.google_container_engine_versions.central1b.release_channel_latest_version["RAPID"]
    }
    
    output "stable_channel_default_version_regular_1" {
      value = data.google_container_engine_versions.central1b.release_channel_default_version["REGULAR"]
    }
    output "stable_channel_default_version_regular_2" {
      value = data.google_container_engine_versions.central1b.release_channel_latest_version["REGULAR"]
    }
    
    output "stable_channel_default_version_stable_1" {
      value = data.google_container_engine_versions.central1b.release_channel_default_version["STABLE"]
    }
    output "stable_channel_default_version_stable_2" {
      value = data.google_container_engine_versions.central1b.release_channel_latest_version["STABLE"]
    }
    
    output "stable_channel_default_version_extended_1" {
      value = data.google_container_engine_versions.central1b.release_channel_default_version["EXTENDED"]
    }
    output "stable_channel_default_version_extended_2" {
      value = data.google_container_engine_versions.central1b.release_channel_latest_version["EXTENDED"]
    }
    

    Note that I am using the latest version of the Terrafor client and the GCP provider.

    $ terraform version
    Terraform v1.12.1
    on linux_amd64
    + provider registry.terraform.io/hashicorp/google-beta v6.38.0
    

    After the apply you will get the information you are looking for depending on the release channel name.

    $ terraform apply
    data.google_container_engine_versions.central1b: Reading...
    data.google_container_engine_versions.central1b: Read complete after 0s [id=2025-06-03 19:48:39.489120945 +0000 UTC]
    
    No changes. Your infrastructure matches the configuration.
    
    Terraform has compared your real infrastructure against your configuration and found no differences, so no changes are needed.
    
    Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
    
    Outputs:
    
    stable_channel_default_version_extended_1 = "1.32.4-gke.1106006"
    stable_channel_default_version_extended_2 = "1.31.8-gke.1113000"
    stable_channel_default_version_rapid_1 = "1.33.0-gke.2248000"
    stable_channel_default_version_rapid_2 = "1.31.9-gke.1044000"
    stable_channel_default_version_regular_1 = "1.32.4-gke.1106006"
    stable_channel_default_version_regular_2 = "1.31.8-gke.1113000"
    stable_channel_default_version_stable_1 = "1.32.2-gke.1297002"
    stable_channel_default_version_stable_2 = "1.31.7-gke.1390000"
    

    Refer to the below documentation to get more details.

    https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/container_engine_versions

    https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#channel_1