terraform-provider-google/website/docs/provider_reference.html.markdown
Riley Karson c6ceb36ec7
Introduce a new Google provider landing page, complementary pages. (#2065)
* Introduce a new Google provider landing page, complementary pages.

* Review fixes.

* Link community tutorials, modules.

* Review comments pt 2.

* Review comments 3. Prioritize and tone.

* Review comments 3.1. Then -> Next.

* Paddy review comments.

* Review comments.
2018-09-21 12:49:32 -07:00

4.0 KiB

layout page_title sidebar_current description
google google provider reference docs-google-provider-reference The Google provider is used to configure your GCP project, location, and creds

google provider reference

The google provider block is used to configure default values for your GCP project and location (zone and region), and add your credentials.

-> You can avoid using a provider block by using environment variables. Every field of the google provider is optional. If you want to share configs between environments and deploy to different projects, try it out!

Example Usage

provider "google" {
  credentials = "${file("account.json")}"
  project     = "my-project-id"
  region      = "us-central1"
  zone        = "us-central1-c"
}

Configuration Reference

The following keys can be used to configure the provider.

  • credentials - (Optional) The path or contents of a file that contains your service account private key in JSON format. You can download your existing Google Cloud service account file from the Google Cloud Console, or you can create a new one from the same page.

    Credentials can also be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_CREDENTIALS
    • GOOGLE_CLOUD_KEYFILE_JSON
    • GCLOUD_KEYFILE_JSON

    The GOOGLE_APPLICATION_CREDENTIALS environment variable can also contain the path of a file to obtain credentials from.

    If no credentials are specified, the provider will fall back to using the Google Application Default Credentials. If you are running Terraform from a GCE instance, see Creating and Enabling Service Accounts for Instances for details.

    On your computer, if you have made your identity available as the Application Default Credentials by running gcloud auth application-default login, the provider will use your identity.

    -> Service accounts are the recommended way to manage GCP credentials. GCE metadata is also acceptable, although it can only be used when running Terraform from within certain GCP resources. Credentials obtained through gcloud are not guaranteed to work for all APIs.

  • project - (Optional) The ID of the project to apply any resources to. This can also be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_PROJECT
    • GOOGLE_CLOUD_PROJECT
    • GCLOUD_PROJECT
    • CLOUDSDK_CORE_PROJECT

    -> GOOGLE_PROJECT is the recommended environment variable to use if you choose to add your project using environment variables.

  • region - (Optional) The region to operate under, if not specified by a given resource. This can also be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_REGION
    • GCLOUD_REGION
    • CLOUDSDK_COMPUTE_REGION
  • zone - (Optional) The zone to operate under, if not specified by a given resource. This can also be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_ZONE
    • GCLOUD_ZONE
    • CLOUDSDK_COMPUTE_ZONE