Terraform plan drift on PR due to Genesys Cloud auto-generated IDs

Running into a nasty loop with our Genesys Cloud Terraform setup. We’re trying to enforce terraform plan on every PR and apply only on merge to main. The issue is that resources like genesyscloud_routing_queue or genesyscloud_user generate IDs or internal timestamps that differ between the PR branch state and the live environment, causing the plan to always show diff even when code hasn’t changed.

We’re using GitHub Actions. Here’s the relevant snippet:

- name: TF Plan
 run: |
 terraform init
 terraform plan -out=tfplan
 terraform show -json tfplan

The plan output shows changes in created_date or random suffixes that aren’t in our HCL. I’ve tried using lifecycle { ignore_changes = [created_date] } but that feels like a band-aid for every single resource. Is there a better way to handle this state comparison? Or should we be using terraform refresh before plan? The SDK docs don’t really cover CI/CD state management quirks for Genesys resources. Stuck on this for a day now.