Terraform genesyscloud_user breaking change in v1.35.0 - external_contact_id attribute error

Just upgraded the Genesys Cloud Terraform vider to v1.35.0 and my existing user visioning pipeline is completely broken. It’s failing on every single genesyscloud_user resource with a schema validation error that wasn’t there yesterday.

The error message is pretty cryptic:

Error: Invalid attribute

 on main.tf line 45, in resource "genesyscloud_user" "agent_user":
 45: external_contact_id = var.user_external_id

An argument named "external_contact_id" is not expected here. Did you mean to define a block of type "external_contact"?

I checked the release notes for 1.35.0 and it looks like they refactored how external contact associations are handled. Previously, external_contact_id was a simple string attribute. Now it seems to want a nested block, but the docs are still showing the old string format for some reason.

Here’s what my resource block looked like before the upgrade:

resource "genesyscloud_user" "agent_user" {
 name = "John Doe"
 email = "john.doe@example.com"
 external_contact_id = var.user_external_id
 
 division_id = var.default_division_id
}

I tried changing it to match the error suggestion:

resource "genesyscloud_user" "agent_user" {
 name = "John Doe"
 email = "john.doe@example.com"
 
 external_contact {
 id = var.user_external_id
 }
 
 division_id = var.default_division_id
}

But that just gives me a different error saying external_contact is not a valid block type for genesyscloud_user. I’m stuck. The API docs for /api/v2/users still show external_contact_id as a top-level string field in the JSON payload. Why is the Terraform vider diverging from the actual REST API schema?

Is there a temporary workaround to pin to an older vider version, or is there a new syntax I’m missing? I don’t want to rewrite 200 user resources if I can help it.