* 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.
4.0 KiB
layout | page_title | sidebar_current | description |
---|---|---|---|
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