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.