Upgraded the Genesys Cloud Terraform provider to v1.35.0 this morning and immediately hit a wall during terraform plan. The genesyscloud_user resource schema appears to have changed, specifically around how phone_numbers or routing_profile_id are handled, causing a drift that wasn’t there in v1.34.0.
Here’s the relevant block from my users.tf:
resource "genesyscloud_user" "support_agent" {
name = "Tessa Test"
email = "tessa@example.com"
phone_numbers {
e164_number = "+15550199"
phone_type = "MOBILE"
}
routing_profile_id = genesyscloud_routing_profile.support.id
}
The plan output complains that the phone_numbers block is now being treated as a set rather than a list, or perhaps the attributes inside have shifted. The error message is vague:
Error: Provider produced inconsistent result after apply
When applying changes to genesyscloud_user.support_agent, provider
"registry.terraform.io/mynah/genesyscloud" produced an unexpected new
value: was null, but now true.
I’ve verified the user exists in Genesys Cloud and the phone number is correct. The state file shows the old structure. Is this a known breaking change in v1.35.0? I tried importing the resource again with terraform import, but it just recreates the drift.
Also, the routing_profile_id seems to be triggering a re-creation of the user if I don’t comment it out, which is dangerous. I’m using Kotlin for the backend services, so I can’t just script a workaround easily. Has anyone else seen this schema shift? I’m stuck on v1.34.0 for now, but need to update for the new genesyscloud_routing_skill_group support.
Any ideas on how to force the state to match the new schema without losing the user resource?