The Terraform provider for Google Cloud connects Terraform configurations to Google Cloud, giving teams a consistent way to provision and manage Google Cloud infrastructure as code. Today, we are announcing the general availability of version 8.0 of the Terraform provider for Google Cloud.
This major release continues the evolution of the provider around how customers manage Google Cloud infrastructure today. It modernizes several provider defaults, removes resources and properties associated with retired or replaced Google Cloud services, and improves schema behavior to make Terraform plans more predictable.
Version 8.0 also builds on capabilities introduced throughout the 7.x release cycle, including expanded support for discovering existing infrastructure and bringing it under Terraform management through features such as Search and List.
»What's new since 7.0
The Google Cloud provider is continuously updated alongside Google Cloud services and Terraform itself. Since the release of version 7.0, several capabilities have expanded across the provider.
»Discover and import existing Google Cloud infrastructure
During the 7.x release cycle, the Google Cloud provider introduced support for Terraform list resources, starting with service accounts and expanding across a growing set of Google Cloud resources.
List resources provide a read-only mechanism for discovering existing infrastructure. Used with the terraform query workflow, they allow users to search for existing Google Cloud resources outside Terraform state and optionally generate Terraform resource and import configuration for the results.
Support has expanded across commonly used services including Compute Engine, IAM, BigQuery, Pub/Sub, Secret Manager, Migration Center, and Network Services.
The provider also expanded Resource Identity support during the 7.x cycle. Resource identities provide a provider-defined representation of the remote object and can be used for operations such as import alongside traditional provider-specific IDs.
Together, these capabilities make it easier to discover existing infrastructure and prepare it to be brought under Terraform management, particularly in environments where infrastructure already exists outside Terraform state.
»Continue reducing sensitive data in Terraform state
The 7.x release cycle continued to expand support for Terraform write-only attributes, allowing sensitive values to be sent to APIs without storing those values in Terraform state.
Write-only support expanded to additional sensitive fields, including certificate private keys, AlloyDB passwords, and IAP credentials.
This gives teams more options for managing sensitive configuration while reducing the amount of credential material persisted in Terraform state.
»Expand coverage for evolving Google Cloud services
The provider continued to add resources and capabilities as Google Cloud services evolved. This includes additional support across areas such as Vertex AI, Discovery Engine, GKE, networking, security, data services, and migration tooling.
As with previous releases, these updates are delivered continuously through the provider's regular release cadence rather than being held for a major version.
»Highlights in Google Cloud provider 8.0
Version 8.0 uses the major-version boundary to introduce several behavioral and schema changes that could not be made safely in a minor release.
»Modernized Application Load Balancer defaults
The default load_balancing_scheme for google_compute_backend_service and google_compute_global_forwarding_rule has changed from EXTERNAL to EXTERNAL_MANAGED.
Configurations that do not explicitly specify a load-balancing scheme will therefore use the modern external Application Load Balancer behavior. Users that need to retain Classic Application Load Balancer behavior should explicitly configure load_balancing_scheme = "EXTERNAL".
For migration details, refer to the google_compute_backend_service and google_compute_global_forwarding_rule sections of the version 8.0 upgrade guide.
»Removal of retired and replaced Google Cloud services
Google Cloud provider 8.0 removes a number of resources and data sources associated with services or APIs that have been retired, replaced, or superseded.
Examples include:
google_iap_brandandgoogle_iap_client, following the shutdown of the IAP OAuth Admin APIs.google_notebooks_environment,google_notebooks_instance, andgoogle_notebooks_runtime, following the end of life of the associated Notebooks products. Users should migrate togoogle_workbench_instance.google_ml_engine_model, with machine learning deployments moving to Vertex AI.google_beyondcorp_app_connection,google_beyondcorp_app_connector, and google_beyondcorp_app_gateway, with Security Gateway resources providing the replacement path.google_vertex_ai_schedule, which is replaced bygoogle_colab_schedule.
These are breaking removals, so configurations using these resources must be updated before upgrading. Refer to the version 8.0 upgrade guide for the migration path for each affected resource.
»More predictable Terraform plans
Version 8.0 includes several schema, validation, and behavioral changes designed to better reflect Google Cloud API behavior.
Several attributes where ordering is not significant have changed from lists to sets, including fields in Compute Service Attachments, GKE logging and monitoring configuration, and Cloud Security Compliance Frameworks. These changes help prevent perpetual diffs when APIs return values in an order different from the order represented in Terraform configuration or existing state.
Validation has also been tightened where Google Cloud APIs already require particular values. For example, source_contents is now required for google_workflows_workflow, and claim_mapping is required when creating Workforce Identity Pool Provider SCIM tenants.
These changes allow Terraform to catch more configuration issues during planning and reduce differences caused by how API responses are represented in state.
»Migrating to Google Cloud provider 8.0
Google Cloud provider 8.0 is a major release, so users should review their configurations before upgrading.
The Terraform provider for Google Cloud 8.0 Upgrade Guide documents removed resources and data sources, field changes, validation updates, state migrations, and other breaking changes.
When planning an upgrade, we recommend that users:
Upgrade to the latest 7.x provider release first and resolve existing deprecation warnings.
Review configurations for resources and fields removed in version 8.0.
Explicitly configure
load_balancing_scheme = "EXTERNAL"where Classic Application Load Balancer behavior is still required.Review configurations affected by schema and validation changes, including attributes converted from lists to sets and write-only fields whose version attributes have changed type or are now required.
Test the upgrade in a non-production environment and carefully review the resulting terraform plan before rollout, paying particular attention to resources that Terraform plans to destroy or replace.
Some state changes, including certain integer-to-string conversions, are migrated automatically by the provider, while other changes require updates to Terraform configuration. Refer to the upgrade guide for the requirements of each affected resource.
»Getting started
Terraform provider for Google Cloud 8.0 is now available in the Terraform Registry.
For detailed migration guidance, review the Terraform provider for Google Cloud 8.0 Upgrade Guide. For the complete list of changes included in the release, refer to the provider changelog on GitHub.
The Google Cloud provider is developed through the continued collaboration of the Google Cloud engineering team, our HashiCorp team, and the Terraform community. Thank you to the maintainers, contributors, and users whose feedback and contributions continue to improve the provider.







