Setup Terraform for a Cloud Storage backend
Stay organized with collections
Save and categorize content based on your preferences.
Use Terraform to create a config file for storing Terraform state in Cloud Storage
Explore further
For detailed documentation that includes this code sample, see the following:
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[],[],null,["# Setup Terraform for a Cloud Storage backend\n\nUse Terraform to create a config file for storing Terraform state in Cloud Storage\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Store Terraform state in a Cloud Storage bucket](/docs/terraform/resource-management/store-state)\n\nCode sample\n-----------\n\n### Terraform\n\n\nTo learn how to apply or remove a Terraform configuration, see\n[Basic Terraform commands](/docs/terraform/basic-commands).\n\n\nFor more information, see the\n[Terraform provider reference documentation](https://registry.terraform.io/providers/hashicorp/google/latest/docs).\n\n resource \"random_id\" \"default\" {\n byte_length = 8\n }\n\n resource \"google_storage_bucket\" \"default\" {\n name = \"${random_id.default.hex}-terraform-remote-backend\"\n location = \"US\"\n\n force_destroy = false\n public_access_prevention = \"enforced\"\n uniform_bucket_level_access = true\n\n versioning {\n enabled = true\n }\n }\n\n resource \"local_file\" \"default\" {\n file_permission = \"0644\"\n filename = \"${path.module}/backend.tf\"\n\n # You can store the template in a file and use the templatefile function for\n # more modularity, if you prefer, instead of storing the template inline as\n # we do here.\n content = \u003c\u003c-EOT\n terraform {\n backend \"gcs\" {\n bucket = \"${google_storage_bucket.default.name}\"\n }\n }\n EOT\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=storage)."]]