Search code examples
gogoogle-cloud-sdk

Get default zone / region


I'm using the Golang google-cloud-sdk to get informations on resources (specifically here compute instances, but it doesn't really matter).

The gcloud cli allows to do something like this:

gcloud config set compute/zone ZONE

Which under the hood will write in ~/.config/gcloud/configurations/config_default those value as something that looks like an ini file.

Can the (go) sdk read config those config file ?

The cli also read the environment variable CLOUDSDK_COMPUTE_ZONE if not defined in the config file.

Can the sdk also read this variables ?

To sum up the question , how can I use the same config mechanism the gcloud cli uses with the Go sdk ?


Solution

  • To sum up the question , how can I use the same config mechanism the gcloud cli uses with the Go sdk ?

    As far as I know, you can't. You need to specify the zone to all your operations. Long time ago, someone asked about CLOUDSDK_CONFIG and the last response is cristal clear:

     Resolved: we decided not to honor CLOUDSDK_CONFIG, in the interest of maintaining simplicity for the ADC spec.

    https://github.com/googleapis/google-cloud-go/issues/288

    And I think it's true for all the CLOUDSDK_* env.