We are migrating our Genesys Cloud configuration to Infrastructure as Code using the CX as Code Terraform provider. The goal is to define a new queue and assign specific skills to it within the same resource block to ensure atomic deployment.
The documentation for the genesyscloud_routing_queue resource mentions a skills attribute, but the structure is not entirely clear from the examples. We have tried the following configuration:
resource "genesyscloud_routing_queue" "support_queue" {
name = "Technical Support"
description = "Queue for tier 2 support"
skills {
id = "skill-uuid-123"
name = "Technical"
}
}
When we run terraform plan, the provider throws an error stating that the skills block expects a list of objects with specific fields, but it is rejecting the id field as invalid. The error message is somewhat generic:
Error: Invalid attribute
on main.tf line 5, in resource "genesyscloud_routing_queue" "support_queue":
5: id = "skill-uuid-123"
An argument named "id" is not expected here.
We have also attempted to use the genesyscloud_routing_skill resource separately and then reference it, but the queue resource does not seem to have a direct reference field for skill IDs in the same way it does for members or wrap-up codes.
Is there a specific way to link existing skills to a queue in the CX as Code provider? Or do we need to use a data source to fetch the skill IDs and then pass them in a different format? We want to avoid managing skills in one file and queues in another if possible, as it complicates the dependency graph.
Any examples of a working queue configuration with skills would be appreciated.