Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

Terraform's Google provider 8.0 makes EXTERNAL_MANAGED the default load balancer scheme

HashiCorp's Terraform provider for Google Cloud 8.0 switches the default scheme on two load balancer resources from EXTERNAL to EXTERNAL_MANAGED. Teams still on Classic have to pin the old value before they upgrade, or the first plan may propose changes to their live load balancers.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying Terraform's Google provider 8.0 makes EXTERNAL_MANAGED the default load balancer scheme
Generated illustration

What happened

  • The release removes resources whose backing services were retired, among them google_iap_brand, google_iap_client, the three google_notebooks_* resources and google_ml_engine_model.
  • Attributes where order carries no meaning, in Compute Service Attachments and GKE logging and monitoring configuration among others, change from lists to sets.
  • Validation is stricter in places: google_workflows_workflow now requires source_contents, and Workforce Identity Pool Provider SCIM tenants need claim_mapping.
  • HashiCorp recommends moving to the latest 7.x release and clearing its deprecation warnings before upgrading to 8.0.
  • OpenTofu users need version 1.11 or later for write-only attributes, which send sensitive values to Google Cloud APIs without saving them.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • decision The owner of every backend service and global forwarding rule without an explicit scheme now has to choose, in code, between Classic and the external Application Load Balancer.
  • constraint Any module that still uses notebooks, BeyondCorp or IAP brand resources blocks the 8.0 upgrade until it is ported to the successor resources.
  • capability Once diffs caused only by ordering disappear from GKE logging and service attachment fields, a plan that shows a change in those blocks is more likely to mean a real one.

If a configuration leaves a field out, the provider supplies the value. In 8.0, an unset scheme on google_compute_backend_service or google_compute_global_forwarding_rule now means EXTERNAL_MANAGED [2]. Those configurations therefore describe the external Application Load Balancer, not the Classic one [3]. An existing Classic load balancer built from such a block no longer matches its own code, and the next plan may propose changing it [4].

That change shows up in the plan [4]. It goes unnoticed only in a pipeline that applies without anyone reading the plan. The fix is one line in each affected block: `load_balancing_scheme = "EXTERNAL"` [4]. InfoQ's suggested upgrade steps begin with a code search for load balancer resources that omit the field [17]. I would set the field on every one of these resources, including the ones that are supposed to move. Then the move to EXTERNAL_MANAGED is a change someone wrote and reviewed by itself, separate from the provider upgrade.

Configurations that use removed resources need edits before the upgrade [6]. Most of the removed resources have a named successor. The three notebooks resources map to google_workbench_instance. The BeyondCorp app connection, connector and gateway map to Security Gateway resources. google_vertex_ai_schedule maps to google_colab_schedule [5]. The InfoQ post does not list every removal, and it names the upgrade guide and the GitHub changelog as the authoritative references [11].

The list-to-set work is the best engineering in this release. Sometimes an API returns values in a different order from the one the configuration used. A list attribute then reports a diff that never goes away, and HashiCorp says switching to sets prevents those perpetual diffs [7]. Some schema changes migrate on their own and some do not. Certain integer-to-string conversions migrate state automatically, while others need configuration edits [9]. InfoQ's checklist also covers list-to-set conversions and write-only version attributes that changed type or became required. Those go on the review list next to anything the plan marks for destroy or replace [16].

OpenTofu users get every provider-side breaking change, the scheme default included, because those changes ship in the provider whichever CLI runs it [12]. They do not get the discovery side of the 7.x work. The provider supports Terraform list resources for the terraform query workflow. That workflow searches for infrastructure outside state and can generate resource and import configuration, across services that include Compute Engine, IAM and BigQuery [15]. OpenTofu has no equivalent, and a feature request for tofu query, issue #3787, is still pending [14].

What to watch

  • Whether the 8.0 upgrade guide and GitHub changelog list removed resources beyond the ones InfoQ named.
  • Whether plans against existing Classic load balancers show the scheme change as an in-place update or as a destroy-and-replace.
  • Movement on OpenTofu issue #3787, the pending request for a tofu query command.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence60
Adoption
Insufficient
Hype gap0
Incentives
Insufficient
Confidence65
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    HashiCorp announced the general availability of version 8.0 of the Terraform provider for Google Cloud, a major, breaking release.

    ReportedSupportedSource: InfoQ report on HashiCorp announcementView cited source
  2. [2]

    In 8.0 the default load_balancing_scheme for google_compute_backend_service and google_compute_global_forwarding_rule shifts from EXTERNAL to EXTERNAL_MANAGED.

    ReportedSupportedView cited source
  3. [3]

    Configurations that don't set load_balancing_scheme will use the new external Application Load Balancer instead of the Classic one.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. infoq.com

    1 article · October 9, 2026

    HashiCorp Relased Terraform Google Cloud Provider 8.0 in General Availability

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Loading related stories