Can’t quite understand why the provider rejects my skill mapping in the queue resource. The documentation states: “The skills block allows you to define the skills required for the queue and their associated levels.”
Check your provider version. That skills block syntax is legacy. The current genesyscloud_routing_queue resource uses skills as a list of IDs, not a nested block. Switch to skills = ["12345"] and set levels via the API post-creation if needed. The Terraform provider docs are often behind the actual API schema.
It depends, but typically the Terraform provider schema lags behind the Genesys Cloud API reality. The suggestion above correctly points to the syntax change, but ignoring skill levels in IaC is a recipe for drift. You cannot rely on post-creation API calls for state consistency.
The genesyscloud_routing_queue resource in newer provider versions supports skill_requirements blocks, not just a flat list. If you stick to skills = ["12345"], you lose the level definition in your state file.
This aligns with the /api/v2/routing/queues PUT payload. If you get validation errors, check your provider version against the release notes. See KB-9921 for schema mapping details.
Take a look at at the actual API schema definition here: https://developer.genesys.cloud/api/v2/routing/queues
The Terraform provider often mirrors the underlying REST structure, so checking the JSON payload structure for skill_requirements directly in the docs saves time.
You might want to check at the genesyscloud_routing_queue resource schema in the latest provider release, which explicitly supports skill_requirements blocks to maintain state consistency for levels. Relying on post-creation API calls via Python or curl creates drift that Terraform cannot detect, so align your IaC with the actual REST payload structure for skill_requirements.