Google Cloud Provider

The Google Cloud provider is used to interact with Google Cloud services. The provider needs to be configured with the proper credentials before it can be used.

Use the navigation to the left to read about the available resources.

Example Usage

// Configure the Google Cloud provider
provider "google" {
  credentials = "${file("account.json")}"
  project     = "my-gce-project"
  region      = "us-central1"
}

// Create a new instance
resource "google_compute_instance" "default" {
  // ...
}

Configuration Reference

The following keys can be used to configure the provider.

  • credentials - (Optional) Contents of the JSON file used to describe your account credentials, downloaded from Google Cloud Console. More details on retrieving this file are below. Credentials may be blank if you are running Terraform from a GCE instance with a properly-configured Compute Engine Service Account. This 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
  • project - (Required) The ID of the project to apply any resources to. This can be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_PROJECT
    • GCLOUD_PROJECT
    • CLOUDSDK_CORE_PROJECT
  • region - (Required) The region to operate under. This can also be specified using any of the following environment variables (listed in order of precedence):

    • GOOGLE_REGION
    • GCLOUD_REGION
    • CLOUDSDK_COMPUTE_REGION

The following keys are supported for backwards compatibility, and may be removed in a future version:

  • account_file - Deprecated: please use credentials instead. Path to or contents of the JSON file used to describe your account credentials, downloaded from Google Cloud Console. More details on retrieving this file are below. The account file can be "" if you are running terraform from a GCE instance with a properly-configured Compute Engine Service Account. This can also be specified with the GOOGLE_ACCOUNT_FILE shell environment variable.

Authentication JSON File

Authenticating with Google Cloud services requires a JSON file which we call the account file.

This file is downloaded directly from the Google Developers Console. To make the process more straightforwarded, it is documented here:

  1. Log into the Google Developers Console and select a project.

  2. The API Manager view should be selected, click on "Credentials" on the left, then "Create credentials", and finally "Service account key".

  3. Select "Compute Engine default service account" in the "Service account" dropdown, and select "JSON" as the key type.

  4. Clicking "Create" will download your credentials.