Terraform plan shows diff on CXone org export despite state match

Trying to use the Terraform provider to export our entire org config for disaster recovery. The goal is to have a snapshot we can redeploy if things go south. We’ve been using the provider to manage individual resources for a while, but now we want to do a full export.

I ran terraform import for the top-level resources and then exported the state to a JSON file. When I run terraform plan against the current environment, I expect a clean “no changes” result. Instead, it’s flagging hundreds of diffs on resources that haven’t touched in months.

Here is a of the plan output for a simple routing queue:

# genesyscloud_routing_queue.main_queue will be updated in-place
~ resource "genesyscloud_routing_queue" "main_queue" {
 ~ description = "Main support queue" -> "Main support queue"
 ~ name = "Main Queue" -> "Main Queue"
 id = "12345678-1234-1234-1234-123456789012"
 # (12 unchanged attributes hidden)
}

The values look identical. Even the id matches. I’ve checked the API response from /api/v2/routing/queues/12345678-1234-1234-1234-123456789012 and the JSON payload matches what’s in the state file. I’ve tried running terraform refresh but that doesn’t help. The provider seems to be sensitive to whitespace or hidden metadata that isn’t visible in the plan output.

Has anyone successfully used the Terraform provider for a full org export and import cycle? Or is this a known limitation where the provider can’t handle the sheer volume of dependencies without manual intervention? We need a reliable way to backup the config without manual JSON manipulation.