What is the correct way to handle Analytics Report ID drift in Terraform?

Background

Deploying custom analytics reports via the Genesys Cloud Terraform provider (genesyscloud_version 1.68.4) in region au-1. The pipeline uses GitHub Actions to promote configs from dev to prod. The goal is to manage a set of custom queue performance reports as code.

Issue

During the terraform apply phase in the production environment, the genesyscloud_report resource enters a constant update loop. The provider attempts to update the id field, which is immutable or auto-generated by the API.

Error snippet:

Error: updating Report (id: xxx-xxx-xxx): 400 Bad Request
Message: The id cannot be updated.

The HCL block:

resource "genesyscloud_report" "custom_queue_perf" {
 name = "Custom Queue Perf"
 description = "Managed by Terraform"
 # ... other config ...
}

Troubleshooting

  • Verified the report exists in the target org via the UI.
  • Checked the API documentation for /api/v2/analytics/reports. The id is read-only.
  • Attempted to use import to sync the state, but subsequent applies still try to modify the resource if any minor attribute drifts.
  • Is there a specific lifecycle block or configuration required to ignore the id drift while still managing the report content? Or should this be handled via a data source lookup instead of a managed resource?