Live
Z4M storage‑optimized compute: practical impacts for AI/ML and parallel file systemsManaged app deployment with Cursor’s cloud agents eliminates Vercel setupEmbedding Cloud Native Sustainability into Daily Operations: Takeaways from CNCF’s Month‑Long EventDesigning the Software Factory: Shifting Engineers from Code to ProcessServerless Video Orchestration Scales 5,000+ AI Assets on Google CloudCognition’s SWE‑2 Flash: Private Weights on an Open‑Source Base and Engineer ImpactGPU Partitioning Arrives Natively in SageMaker InferenceGitHub chat integration goes GA: practical impact on workflow and governanceZ4M storage‑optimized compute: practical impacts for AI/ML and parallel file systemsManaged app deployment with Cursor’s cloud agents eliminates Vercel setupEmbedding Cloud Native Sustainability into Daily Operations: Takeaways from CNCF’s Month‑Long EventDesigning the Software Factory: Shifting Engineers from Code to ProcessServerless Video Orchestration Scales 5,000+ AI Assets on Google CloudCognition’s SWE‑2 Flash: Private Weights on an Open‑Source Base and Engineer ImpactGPU Partitioning Arrives Natively in SageMaker InferenceGitHub chat integration goes GA: practical impact on workflow and governance
HashiCorp

Google Cloud Terraform provider 8.0: What the New Defaults and Removals Mean for Your Pipelines

AI SummaryPowered by AI

Version 8.0 of the Google Cloud Terraform provider updates defaults, drops retired resources, and tightens schema validation. These changes affect plan stability, state security, and migration effort for AI, platform, DevOps, and security engineers.

The Google Cloud Terraform provider 8.0 has been released as GA, bringing a new default for Application Load Balancers, removing resources tied to retired services, and tightening schema validation. Engineers who codify infrastructure, especially those managing AI workloads, Kubernetes clusters, or security‑focused resources, need to understand how these adjustments affect plan diffs, state security, and migration effort.

Changed Defaults and Schema Behavior

The default load_balancing_scheme for google_compute_backend_service and google_compute_global_forwarding_rule now switches from EXTERNAL to EXTERNAL_MANAGED. Configurations that omit this attribute will automatically adopt the modern external Application Load Balancer model. Teams that rely on the classic scheme must explicitly set load_balancing_scheme = "EXTERNAL" to preserve existing behavior.

Several attributes that previously used ordered lists have been re‑typed as sets—examples include fields in Compute Service Attachments, GKE logging/monitoring blocks, and Cloud Security Compliance Framework definitions. This change eliminates perpetual diffs caused by API‑returned ordering variations. Validation rules are also stricter: source_contents is now mandatory for google_workflows_workflow, and claim_mapping must be provided when creating Workforce Identity Pool Provider SCIM tenants.

Retired Resources and Migration Path

Version 8.0 drops a set of resources and data sources linked to services that have been shut down or superseded. The affected items include:

  • google_iap_brand and google_iap_client – IAP OAuth Admin APIs are no longer available.
  • google_notebooks_environment, google_notebooks_instance, google_notebooks_runtime – Notebooks products reached end‑of‑life; migrate to google_workbench_instance.
  • google_ml_engine_model – Machine‑learning workloads have moved to Vertex AI.
  • google_beyondcorp_app_connection, google_beyondcorp_app_connector, google_beyondcorp_app_gateway – Replaced by Security Gateway resources.
  • google_vertex_ai_schedule – Use google_colab_schedule instead.

These removals are breaking changes; any configuration referencing them must be updated before upgrading. The provider’s upgrade guide details the migration steps for each resource.

Improved Discovery and Sensitive Data Handling

Since the 7.x series, the provider introduced read‑only list resources for a range of services (Compute Engine, IAM, BigQuery, Pub/Sub, Secret Manager, Migration Center, Network Services). Combined with the terraform query workflow, these allow teams to locate existing Google Cloud objects outside of state and generate import stubs automatically.

Write‑only attribute support has been expanded to cover additional secret fields such as certificate private keys, AlloyDB passwords, and IAP credentials. These values are sent to the API but never persisted in Terraform state, reducing the exposure of sensitive material.

Related CloudNinjas coverage: hands-on guides.

What This Means For Practitioners

Adopt the new EXTERNAL_MANAGED default only after confirming that your load‑balancer topology aligns with the managed behavior, or lock the classic scheme via explicit configuration. Audit your codebase for any of the retired resources and replace them with the recommended alternatives before planning an upgrade. Leverage the expanded list resources and write‑only attributes to bring legacy infrastructure under Terraform control while keeping secrets out of state. Finally, run a plan after the upgrade to catch any new validation errors early and adjust configurations accordingly.

Originally published atHashiCorp Blog