Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"genesyscloud_tf_export" to generate Routing Queue using Bullseye_rings issue #1286

Open
tonny-m-telus-com opened this issue Oct 9, 2024 · 2 comments

Comments

@tonny-m-telus-com
Copy link

I don't know if this Repo has a specific issue format to follow, so I apologies in advance.

Hi,
I've noticed an issue with the "genesyscloud_tf_export" function when it generates an existing Routing queue using the bullseye_rings routing method.

If the queue has a Group assigned to the last Ring (which is not really a ring but "Route to all agents in queue, based on selected evaluation method." option), the routing queue terraform resource won't have the group in the generated output of the tf_export run.

Ex.:

A test queue using the bullseye rings:
image

Groups assigned to the last ring (a.k.a the "Route to all agents in queue, based on selected evaluation method." option):
image

This is the generated output of this tf_export:

resource "genesyscloud_tf_export" "export" {
  directory          = "./queue"
  export_as_hcl      = true
  log_permission_errors = true
  split_files_by_resource = true
  include_state_file = true
  enable_dependency_resolution = false
  include_filter_resources = [ 
     "genesyscloud_routing_queue::^test_xxxxx_group$",
   ]
}

Result (notice that there's no groups in this output whatsoever) :

resource "genesyscloud_routing_queue" "test_xxxxx_group" {
  calling_party_number    = "+undefined"
  enable_audio_monitoring = false
  media_settings_email {
    enable_auto_answer        = false
    enable_auto_dial_and_end  = false
    service_level_duration_ms = 86400000
    service_level_percentage  = 0.8
    alerting_timeout_sec      = 300
  }
  name                             = "test_xxxxx_group"
  suppress_in_queue_call_recording = true
  acw_timeout_ms                   = 8000
  acw_wrapup_prompt                = "MANDATORY_TIMEOUT"
  bullseye_rings {
    expansion_timeout_seconds = 2
  }
  bullseye_rings {
    expansion_timeout_seconds = 4
  }
  division_id = "56f815ff-dd0e-439c-a34b-425cef6b1706"
  media_settings_callback {
    enable_auto_dial_and_end  = false
    service_level_duration_ms = 20000
    service_level_percentage  = 0.8
    alerting_timeout_sec      = 30
    auto_dial_delay_seconds   = 300
    auto_end_delay_seconds    = 300
    enable_auto_answer        = false
  }
  media_settings_chat {
    enable_auto_answer        = false
    enable_auto_dial_and_end  = false
    service_level_duration_ms = 20000
    service_level_percentage  = 0.8
    alerting_timeout_sec      = 30
  }
  media_settings_message {
    enable_auto_answer        = false
    enable_auto_dial_and_end  = false
    service_level_duration_ms = 20000
    service_level_percentage  = 0.8
    alerting_timeout_sec      = 30
  }
  description              = "this is a test"
  enable_manual_assignment = false
  enable_transcription     = true
  media_settings_call {
    enable_auto_answer        = false
    enable_auto_dial_and_end  = false
    service_level_duration_ms = 20000
    service_level_percentage  = 0.8
    alerting_timeout_sec      = 8
  }
  scoring_method          = "PriorityOnly"
  skill_evaluation_method = "ALL"
  auto_answer_only        = false
  calling_party_name      = "Security"
}

However, if the group is assigned to the 2nd ring rather than the last one (3rd), it works just fine when it comes to the tf_export output of the queue.

  bullseye_rings {
    expansion_timeout_seconds = 2
  }
  bullseye_rings {
    expansion_timeout_seconds = 4
    member_groups {
      member_group_id   = "589e24a2-bcf9-4769-ba32-221d8a3b2ea2"
      member_group_type = "GROUP"
    }
  }

Is this a bug?

Thank you!

@carnellj-genesys
Copy link
Collaborator

carnellj-genesys commented Nov 8, 2024

Hey Tony,

Thanks for the detailed writeup. I will have someone on our team and research.

Thanks,
John

(DEVTOOLING-920)

@kavinbalagen
Copy link
Collaborator

Hey @tonny-m-telus-com The is done deliberately and the reason for this
is that when you submit a list of bullseye_rings to the API, the API will always take the last item in the list and use it to drive default behavior. To get around this, the provider creates a dummy bullseye_ring and sets it to the last item in the list and hence we don't export that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants