Need some troubleshooting help with a persistent state drift issue with a specific routing queue resource.
I am managing Genesys Cloud resources via a Deno Deploy worker that invokes a Terraform plan/apply cycle via a headless CLI wrapper. Everything works fine until I modify the genesyscloud_routing_queue resource, specifically the outbound_calling or acw_wrap_up_time attributes. After the apply succeeds, the next terraform plan immediately shows drift for the same resource, claiming the local state differs from the remote platform state. This triggers a state lock error if another deployment pipeline tries to run concurrently, causing our CI/CD to fail with a 409 Conflict on the Terraform state backend.
Here is the resource definition causing the headache:
resource "genesyscloud_routing_queue" "support_queue" {
name = "Customer Support - KR"
description = "Primary support queue"
acw_wrap_up_time {
enabled = true
range = "PT120S"
}
# This block seems to cause the drift
outbound_calling {
enabled = true
enabled_for = ["agents"]
}
}
The terraform plan output indicates:
# genesyscloud_routing_queue.support_queue will be updated in-place
~ resource "genesyscloud_routing_queue" "support_queue" {
~ acw_wrap_up_time = [
~ {
~ range = "PT120S" -> "PT120S" # (no change, but flagged)
}
]
}
It looks like the Terraform provider is not correctly serializing or comparing the acw_wrap_up_time or outbound_calling nested blocks against the Genesys Cloud API response. I verified via the /api/v2/routing/queues/{id} endpoint that the platform state matches my HCL exactly. Is this a known issue with the provider’s diff logic for these specific attributes? I am using provider version 1.35.0. Any workarounds or specific provider configurations to ignore these spurious diffs?