Terraform and Infrastructure Manager

To work with Infrastructure Manager (Infra Manager), you should befamiliar with Terraform. To learn more aboutTerraform, start withWhat is Terraform?.

Infra Manager deploys infrastructure resources and configurations that aredefined in a Terraform configuration. These configurations can consistof multiple files and directories but their entrypoint must be aTerraform root module.

Infra Manager uses the termblueprint to refer to aTerraform configuration.

To learn more about Terraform with Google Cloud, seeTerraform on Google Cloud.

Terraform modules for Google Cloud

For a set of modules to provision Google Cloud resources, seeTerraform blueprints and modules for Google Cloud.

You can also create your own Terraform modules for Google Cloud. For moredetails, seeCreating Modules.

Supported Terraform versions

Infra Manager supports the following Terraform versions:

Terraform versionDate availableDeprecation dateEnd of support dateAuto-migrate to version
1.2.38/21/20231/8/20262/8/20261.5.7
1.3.103/14/2024TBDTBDTBD
1.4.73/14/2024TBDTBDTBD
1.5.73/14/2024TBDTBDTBD

You can use the flag--tf-version-constraint to specify the version ofTerraform that Infra Manager uses tocreate a deployment.

If you don't specify a version of Terraform, the latest support versionis used by default.

When updating a deployment, you can change the Terraform version toa later version of Terraform. You cannot change to an earlier supportedversion of Terraform. For information about Terraform version deprecation, seeTerraform version management policydocumentation.

To view the version of Terraform that was used to create a specificdeployment or revision, seeView details of a deploymentandView details of a revision.

Constraints on Terraform configurations

To use Infrastructure Manager to deploy a Terraform configuration, the configurationhas the following constraints.

Terraform configuration values and sensitive data

Don't include personal or sensitive information in Terraform configurationvalues.

Thedocumentation for the Google Cloud provider indicates configuration values that can potentially includesensitive information.

For example, the resourcegoogle_storage_bucket_object allowscreation of a Cloud Storage object using thecontent argument. Thisargument is labeled as sensitive on thegoogle_storage_bucket_object page of the Google Cloud Provider documentation.

You can use these labels to help guide you as you create Terraformconfigurations or as you review an existing Terraform configuration before use.

See theGoogle Cloud Privacy Notice forinformation on how Google Cloud processes personal information it collectsor generates during the provision and administration of the Cloud Services.

Use the Terraform provider for Google Cloud

You can configure deployments and previews to use Infra Managermaintained Terraform providers for Google Cloud.

This optional field lets you specify the use of the Infra Manager maintained Terraformproviders to create or update a deployment or preview deployment.You can specify a Terraform provider using gcloud CLI.

Infra Manager supports Terraform providers for Google Cloud:

  • google
  • google-beta

Omit this field to use theHashiCorp-maintained Terraform provider for Google Cloud.

To learn how to specify the use of a Infra Manager maintained Terraform provider,seeDeploy infrastructure using Infrastructure Manager,Update a deployment, orPreview a deployment.

Check supported versions of the provider

To check the versions of a Terraform provider for Google Cloud thatInfra Manager supports, you'll need to view themanifest.json in the Infra Manager maintained Cloud Storage bucketassociated with the region of your deployment in the format:

https://storage.googleapis.com/LOCATION-im-providers/hashicorp/PROVIDER_VERSION/manifest.json

You can find a complete list of supportedversions within theversions field of themanifest.json file.

For example, if your deployment is located in theafrica-south1 region andyou are using thegoogle-beta provider, navigate tohttps://storage.googleapis.com/africa-south1-im-providers/hashicorp/google-beta/manifest.jsonto view available regions.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.