» gcs
Kind: Standard (with locking)
Stores the state as an object in a configurable prefix in a given bucket on Google Cloud Storage (GCS). This backend also supports state locking.
Warning! It is highly recommended that you enable Object Versioning on the GCS bucket to allow for state recovery in the case of accidental deletions and human error.
» Example Configuration
terraform {
backend "gcs" {
bucket = "tf-state-prod"
prefix = "terraform/state"
}
}
» Example Referencing
data "terraform_remote_state" "foo" {
backend = "gcs"
config = {
bucket = "terraform-state"
prefix = "prod"
}
}
resource "template_file" "bar" {
template = "${greeting}"
vars {
greeting = "${data.terraform_remote_state.foo.greeting}"
}
}
» Configuration variables
The following configuration options are supported:
-
bucket
- (Required) The name of the GCS bucket. This name must be globally unique. For more information, see Bucket Naming Guidelines. -
credentials
/GOOGLE_CREDENTIALS
- (Optional) Local path to Google Cloud Platform account credentials in JSON format. If unset, Google Application Default Credentials are used. The provided credentials need to have thedevstorage.read_write
scope andWRITER
permissions on the bucket. -
prefix
- (Optional) GCS prefix inside the bucket. Named states for workspaces are stored in an object called<prefix>/<name>.tfstate
. -
path
- (Deprecated) GCS path to the state file of the default state. For backwards compatibility only, useprefix
instead. -
encryption_key
/GOOGLE_ENCRYPTION_KEY
- (Optional) A 32 byte base64 encoded 'customer supplied encryption key' used to encrypt all state. For more information see Customer Supplied Encryption Keys.