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. Theidis read-only. - Attempted to use
importto 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
iddrift while still managing the report content? Or should this be handled via a data source lookup instead of a managed resource?