twilio-ruby 5.72.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (654) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +14 -4
  4. data/.gitignore +3 -0
  5. data/CHANGES.md +281 -1
  6. data/CONTRIBUTING.md +10 -8
  7. data/LICENSE +1 -1
  8. data/Makefile +3 -0
  9. data/README.md +133 -40
  10. data/UPGRADE.md +10 -0
  11. data/advanced-examples/custom-http-client.md +170 -0
  12. data/cluster_spec.rb +77 -0
  13. data/lib/twilio-ruby/base/client_base.rb +124 -0
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  17. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  18. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  19. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  20. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  21. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  22. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  23. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +555 -514
  26. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -586
  27. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +433 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +963 -991
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +653 -717
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +498 -493
  51. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +399 -418
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +846 -903
  58. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  59. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  60. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +618 -625
  62. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  63. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  64. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  65. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  66. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  67. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +427 -390
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  69. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +369 -385
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -513
  72. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  73. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +400 -373
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +650 -645
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +400 -374
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  88. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  89. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  101. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  102. data/lib/twilio-ruby/rest/api/v2010/account.rb +982 -943
  103. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  104. data/lib/twilio-ruby/rest/api.rb +25 -34
  105. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +429 -411
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  115. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  116. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +519 -500
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +674 -640
  120. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  121. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  122. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  123. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  124. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  129. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  131. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  132. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  133. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +535 -515
  137. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  138. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  139. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +466 -440
  140. data/lib/twilio-ruby/rest/chat/v1/service.rb +862 -894
  141. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  142. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  143. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  144. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +607 -605
  149. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  150. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  152. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +510 -491
  153. data/lib/twilio-ruby/rest/chat/v2/service.rb +765 -778
  154. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  155. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  156. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  157. data/lib/twilio-ruby/rest/chat.rb +4 -48
  158. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  159. data/lib/twilio-ruby/rest/client.rb +328 -570
  160. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  161. data/lib/twilio-ruby/rest/content/v1/content.rb +364 -0
  162. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  163. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  164. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  165. data/lib/twilio-ruby/rest/content.rb +15 -0
  166. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +474 -444
  168. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  169. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  170. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +530 -495
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +606 -552
  175. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  176. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  177. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  178. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  179. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  180. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  181. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  182. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  183. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +537 -535
  184. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  185. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  186. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +618 -588
  187. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  188. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  189. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  190. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +485 -474
  191. data/lib/twilio-ruby/rest/conversations/v1/service.rb +477 -447
  192. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  193. data/lib/twilio-ruby/rest/conversations/v1/user.rb +473 -441
  194. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  195. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  196. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  198. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  199. data/lib/twilio-ruby/rest/events/v1/schema.rb +229 -218
  200. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  201. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  202. data/lib/twilio-ruby/rest/events/v1/sink.rb +439 -408
  203. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  204. data/lib/twilio-ruby/rest/events/v1/subscription.rb +420 -387
  205. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  206. data/lib/twilio-ruby/rest/events.rb +5 -34
  207. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +451 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  210. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  211. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +331 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +364 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +400 -398
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +249 -225
  226. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  227. data/lib/twilio-ruby/rest/flex_api/v1.rb +195 -92
  228. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  229. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  230. data/lib/twilio-ruby/rest/flex_api.rb +24 -31
  231. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  232. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  233. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  234. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  235. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  237. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  239. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  240. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -236
  241. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +496 -426
  242. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  243. data/lib/twilio-ruby/rest/insights/v1/conference.rb +506 -502
  244. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  245. data/lib/twilio-ruby/rest/insights/v1/room.rb +494 -489
  246. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  247. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  248. data/lib/twilio-ruby/rest/insights.rb +6 -34
  249. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  250. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +511 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +383 -0
  253. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +250 -0
  254. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +540 -0
  255. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  256. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  257. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +535 -488
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +466 -418
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +862 -779
  267. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +607 -555
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +510 -467
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +765 -689
  280. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  281. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  282. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  284. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  285. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +342 -253
  286. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  287. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  288. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  289. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  290. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  291. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  292. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  293. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  294. data/lib/twilio-ruby/rest/media.rb +4 -34
  295. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  298. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +488 -443
  299. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  301. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  302. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  304. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  305. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  307. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  308. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  309. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +507 -426
  310. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  311. data/lib/twilio-ruby/rest/messaging/v1/service.rb +741 -763
  312. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -90
  314. data/lib/twilio-ruby/rest/messaging.rb +28 -35
  315. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +359 -0
  317. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +352 -0
  318. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  319. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -295
  320. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +375 -0
  321. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +368 -0
  322. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +412 -322
  323. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -53
  324. data/lib/twilio-ruby/rest/microvisor.rb +4 -34
  325. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  327. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  328. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  329. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  330. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  331. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  332. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  333. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  334. data/lib/twilio-ruby/rest/notify/v1/service.rb +628 -622
  335. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  336. data/lib/twilio-ruby/rest/notify.rb +3 -34
  337. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  339. data/lib/twilio-ruby/rest/numbers/v1.rb +49 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  349. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  350. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  351. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  352. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  353. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  354. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +171 -0
  355. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +185 -0
  356. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +262 -0
  357. data/lib/twilio-ruby/rest/oauth/v1/token.rb +179 -0
  358. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +213 -0
  359. data/lib/twilio-ruby/rest/oauth/v1.rb +64 -0
  360. data/lib/twilio-ruby/rest/oauth.rb +33 -0
  361. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  362. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  363. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  364. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  365. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  366. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +495 -459
  367. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  368. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  369. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +449 -446
  370. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  371. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  372. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  373. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  374. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  375. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +430 -398
  376. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  377. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  378. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +443 -399
  379. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  380. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  381. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +420 -398
  382. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  383. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  384. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +420 -398
  385. data/lib/twilio-ruby/rest/preview/sync/service.rb +496 -452
  386. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  388. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  389. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  390. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  391. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +429 -400
  392. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  393. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  394. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  395. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  396. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  397. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  398. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  399. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +519 -488
  400. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +654 -619
  401. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  402. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  403. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  404. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  405. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  406. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  407. data/lib/twilio-ruby/rest/preview.rb +11 -102
  408. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  409. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  410. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  411. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  412. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  413. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  414. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  415. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  416. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  417. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  418. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  419. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  420. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  421. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  422. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  423. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  424. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  425. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +422 -455
  429. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +523 -547
  430. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  431. data/lib/twilio-ruby/rest/proxy/v1/service.rb +560 -596
  432. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  433. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  434. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  435. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  436. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  437. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  438. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  439. data/lib/twilio-ruby/rest/routes.rb +4 -34
  440. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  441. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  442. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +413 -380
  443. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  444. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  445. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  446. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  447. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  448. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +457 -447
  449. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  450. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  451. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +413 -380
  452. data/lib/twilio-ruby/rest/serverless/v1/service.rb +524 -493
  453. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  454. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  455. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  457. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  458. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  459. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +423 -394
  460. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  461. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  462. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  463. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +471 -449
  464. data/lib/twilio-ruby/rest/studio/v1/flow.rb +381 -355
  465. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  466. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  467. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  468. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  469. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +464 -442
  470. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  471. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  472. data/lib/twilio-ruby/rest/studio/v2/flow.rb +520 -472
  473. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  474. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  475. data/lib/twilio-ruby/rest/studio.rb +3 -41
  476. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  477. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -362
  478. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  479. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -406
  480. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  481. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  482. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +381 -351
  483. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +259 -0
  484. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  485. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  486. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +464 -453
  487. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  488. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  489. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  490. data/lib/twilio-ruby/rest/supersim.rb +16 -34
  491. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  492. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  493. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +457 -423
  494. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  495. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  496. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +471 -445
  497. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  498. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  499. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +471 -444
  500. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  501. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +420 -400
  502. data/lib/twilio-ruby/rest/sync/v1/service.rb +576 -567
  503. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  504. data/lib/twilio-ruby/rest/sync.rb +2 -34
  505. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -736
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +616 -661
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  515. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -566
  516. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  517. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  518. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  519. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  520. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  521. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  522. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +632 -631
  523. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  524. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +722 -730
  531. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  532. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  533. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  535. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  536. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  537. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  538. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  539. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +624 -630
  540. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  541. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  542. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  544. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  545. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  546. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +529 -513
  547. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  548. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  549. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  550. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  551. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  552. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  553. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  554. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  555. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +529 -513
  556. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  557. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  558. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  559. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  560. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  561. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -262
  562. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  563. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +500 -539
  564. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -461
  565. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -289
  566. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +423 -422
  567. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  568. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  569. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +421 -384
  570. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -366
  571. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  572. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -420
  573. data/lib/twilio-ruby/rest/verify/v2/service.rb +767 -780
  574. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -198
  575. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  576. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  577. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  578. data/lib/twilio-ruby/rest/verify.rb +7 -34
  579. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  581. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  582. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  583. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  584. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  585. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  586. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  587. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  588. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  589. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  590. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  591. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  592. data/lib/twilio-ruby/rest/video/v1/room.rb +611 -602
  593. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  594. data/lib/twilio-ruby/rest/video.rb +7 -34
  595. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  596. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  597. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  598. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  599. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +392 -352
  600. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  601. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  602. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -397
  603. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  604. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  605. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  606. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  607. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  608. data/lib/twilio-ruby/rest/voice.rb +7 -34
  609. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  610. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  611. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  612. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  613. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  614. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +640 -647
  615. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  616. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  617. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  618. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  619. data/lib/twilio-ruby/rest.rb +1 -0
  620. data/lib/twilio-ruby/twiml/voice_response.rb +132 -33
  621. data/lib/twilio-ruby/version.rb +1 -1
  622. data/sonar-project.properties +1 -1
  623. data/twilio-ruby.gemspec +1 -1
  624. metadata +118 -38
  625. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  626. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  627. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  628. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  629. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  630. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  631. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  632. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  633. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  634. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  635. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  636. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  637. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  638. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -314
  639. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  640. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +0 -559
  641. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  642. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  643. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  644. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  645. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  646. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  647. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  648. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  649. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  650. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  651. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  652. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  653. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  654. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,573 +1,578 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Taskrouter
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceContext < InstanceContext
14
- class TaskQueueList < ListResource
15
- ##
16
- # Initialize the TaskQueueList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] workspace_sid The SID of the Workspace that contains the
19
- # TaskQueue.
20
- # @return [TaskQueueList] TaskQueueList
21
- def initialize(version, workspace_sid: nil)
22
- super(version)
23
-
24
- # Path Solution
25
- @solution = {workspace_sid: workspace_sid}
26
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues"
27
-
28
- # Components
29
- @statistics = nil
30
- end
31
-
32
- ##
33
- # Lists TaskQueueInstance records from the API as a list.
34
- # Unlike stream(), this operation is eager and will load `limit` records into
35
- # memory before returning.
36
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
37
- # read.
38
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
39
- # read. Returns the TaskQueues with Workers that match the attributes specified in
40
- # this parameter.
41
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
42
- # read.
43
- # @param [Integer] limit Upper limit for the number of records to return. stream()
44
- # guarantees to never return more than limit. Default is no limit
45
- # @param [Integer] page_size Number of records to fetch per request, when
46
- # not set will use the default value of 50 records. If no page_size is defined
47
- # but a limit is defined, stream() will attempt to read the limit with the most
48
- # efficient page size, i.e. min(limit, 1000)
49
- # @return [Array] Array of up to limit results
50
- def list(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, limit: nil, page_size: nil)
51
- self.stream(
52
- friendly_name: friendly_name,
53
- evaluate_worker_attributes: evaluate_worker_attributes,
54
- worker_sid: worker_sid,
55
- limit: limit,
56
- page_size: page_size
57
- ).entries
58
- end
59
-
60
- ##
61
- # Streams TaskQueueInstance records from the API as an Enumerable.
62
- # This operation lazily loads records as efficiently as possible until the limit
63
- # is reached.
64
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
65
- # read.
66
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
67
- # read. Returns the TaskQueues with Workers that match the attributes specified in
68
- # this parameter.
69
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
70
- # read.
71
- # @param [Integer] limit Upper limit for the number of records to return. stream()
72
- # guarantees to never return more than limit. Default is no limit.
73
- # @param [Integer] page_size Number of records to fetch per request, when
74
- # not set will use the default value of 50 records. If no page_size is defined
75
- # but a limit is defined, stream() will attempt to read the limit with the most
76
- # efficient page size, i.e. min(limit, 1000)
77
- # @return [Enumerable] Enumerable that will yield up to limit results
78
- def stream(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, limit: nil, page_size: nil)
79
- limits = @version.read_limits(limit, page_size)
80
-
81
- page = self.page(
82
- friendly_name: friendly_name,
83
- evaluate_worker_attributes: evaluate_worker_attributes,
84
- worker_sid: worker_sid,
85
- page_size: limits[:page_size],
86
- )
87
-
88
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
89
- end
90
-
91
- ##
92
- # When passed a block, yields TaskQueueInstance records from the API.
93
- # This operation lazily loads records as efficiently as possible until the limit
94
- # is reached.
95
- def each
96
- limits = @version.read_limits
97
-
98
- page = self.page(page_size: limits[:page_size], )
99
-
100
- @version.stream(page,
101
- limit: limits[:limit],
102
- page_limit: limits[:page_limit]).each {|x| yield x}
103
- end
104
-
105
- ##
106
- # Retrieve a single page of TaskQueueInstance records from the API.
107
- # Request is executed immediately.
108
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
109
- # read.
110
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
111
- # read. Returns the TaskQueues with Workers that match the attributes specified in
112
- # this parameter.
113
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
114
- # read.
115
- # @param [String] page_token PageToken provided by the API
116
- # @param [Integer] page_number Page Number, this value is simply for client state
117
- # @param [Integer] page_size Number of records to return, defaults to 50
118
- # @return [Page] Page of TaskQueueInstance
119
- def page(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
120
- params = Twilio::Values.of({
121
- 'FriendlyName' => friendly_name,
122
- 'EvaluateWorkerAttributes' => evaluate_worker_attributes,
123
- 'WorkerSid' => worker_sid,
124
- 'PageToken' => page_token,
125
- 'Page' => page_number,
126
- 'PageSize' => page_size,
127
- })
128
-
129
- response = @version.page('GET', @uri, params: params)
130
-
131
- TaskQueuePage.new(@version, response, @solution)
132
- end
133
-
134
- ##
135
- # Retrieve a single page of TaskQueueInstance records from the API.
136
- # Request is executed immediately.
137
- # @param [String] target_url API-generated URL for the requested results page
138
- # @return [Page] Page of TaskQueueInstance
139
- def get_page(target_url)
140
- response = @version.domain.request(
141
- 'GET',
142
- target_url
143
- )
144
- TaskQueuePage.new(@version, response, @solution)
145
- end
146
-
147
- ##
148
- # Create the TaskQueueInstance
149
- # @param [String] friendly_name A descriptive string that you create to describe
150
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
151
- # @param [String] target_workers A string that describes the Worker selection
152
- # criteria for any Tasks that enter the TaskQueue. For example, `'"language" ==
153
- # "spanish"'`. The default value is `1==1`. If this value is empty, Tasks will
154
- # wait in the TaskQueue until they are deleted or moved to another TaskQueue. For
155
- # more information about Worker selection, see {Describing Worker selection
156
- # criteria}[https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers].
157
- # @param [String] max_reserved_workers The maximum number of Workers to reserve
158
- # for the assignment of a Task in the queue. Can be an integer between 1 and 50,
159
- # inclusive and defaults to 1.
160
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
161
- # Set this parameter to `LIFO` to assign most recently created Task first or FIFO
162
- # to assign the oldest Task first. Default is `FIFO`. {Click
163
- # here}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo]
164
- # to learn more.
165
- # @param [String] reservation_activity_sid The SID of the Activity to assign
166
- # Workers when a task is reserved for them.
167
- # @param [String] assignment_activity_sid The SID of the Activity to assign
168
- # Workers when a task is assigned to them.
169
- # @return [TaskQueueInstance] Created TaskQueueInstance
170
- def create(friendly_name: nil, target_workers: :unset, max_reserved_workers: :unset, task_order: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset)
171
- data = Twilio::Values.of({
172
- 'FriendlyName' => friendly_name,
173
- 'TargetWorkers' => target_workers,
174
- 'MaxReservedWorkers' => max_reserved_workers,
175
- 'TaskOrder' => task_order,
176
- 'ReservationActivitySid' => reservation_activity_sid,
177
- 'AssignmentActivitySid' => assignment_activity_sid,
178
- })
179
-
180
- payload = @version.create('POST', @uri, data: data)
181
-
182
- TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
183
- end
184
-
185
- ##
186
- # Access the statistics
187
- # @return [TaskQueuesStatisticsList]
188
- # @return [TaskQueuesStatisticsContext]
189
- def statistics
190
- @statistics ||= TaskQueuesStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid], )
191
- end
192
-
193
- ##
194
- # Provide a user friendly representation
195
- def to_s
196
- '#<Twilio.Taskrouter.V1.TaskQueueList>'
197
- end
198
- end
199
-
200
- class TaskQueuePage < Page
201
- ##
202
- # Initialize the TaskQueuePage
203
- # @param [Version] version Version that contains the resource
204
- # @param [Response] response Response from the API
205
- # @param [Hash] solution Path solution for the resource
206
- # @return [TaskQueuePage] TaskQueuePage
207
- def initialize(version, response, solution)
208
- super(version, response)
209
-
210
- # Path Solution
211
- @solution = solution
212
- end
213
-
214
- ##
215
- # Build an instance of TaskQueueInstance
216
- # @param [Hash] payload Payload response from the API
217
- # @return [TaskQueueInstance] TaskQueueInstance
218
- def get_instance(payload)
219
- TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
220
- end
221
-
222
- ##
223
- # Provide a user friendly representation
224
- def to_s
225
- '<Twilio.Taskrouter.V1.TaskQueuePage>'
226
- end
227
- end
228
-
229
- class TaskQueueContext < InstanceContext
230
- ##
231
- # Initialize the TaskQueueContext
232
- # @param [Version] version Version that contains the resource
233
- # @param [String] workspace_sid The SID of the Workspace with the TaskQueue to
234
- # fetch.
235
- # @param [String] sid The SID of the TaskQueue resource to fetch.
236
- # @return [TaskQueueContext] TaskQueueContext
237
- def initialize(version, workspace_sid, sid)
238
- super(version)
239
-
240
- # Path Solution
241
- @solution = {workspace_sid: workspace_sid, sid: sid, }
242
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues/#{@solution[:sid]}"
243
-
244
- # Dependents
245
- @statistics = nil
246
- @real_time_statistics = nil
247
- @cumulative_statistics = nil
248
- end
249
-
250
- ##
251
- # Fetch the TaskQueueInstance
252
- # @return [TaskQueueInstance] Fetched TaskQueueInstance
253
- def fetch
254
- payload = @version.fetch('GET', @uri)
255
-
256
- TaskQueueInstance.new(
257
- @version,
258
- payload,
259
- workspace_sid: @solution[:workspace_sid],
260
- sid: @solution[:sid],
261
- )
262
- end
263
-
264
- ##
265
- # Update the TaskQueueInstance
266
- # @param [String] friendly_name A descriptive string that you create to describe
267
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
268
- # @param [String] target_workers A string describing the Worker selection criteria
269
- # for any Tasks that enter the TaskQueue. For example '"language" == "spanish"' If
270
- # no TargetWorkers parameter is provided, Tasks will wait in the queue until they
271
- # are either deleted or moved to another queue. Additional examples on how to
272
- # describing Worker selection criteria below.
273
- # @param [String] reservation_activity_sid The SID of the Activity to assign
274
- # Workers when a task is reserved for them.
275
- # @param [String] assignment_activity_sid The SID of the Activity to assign
276
- # Workers when a task is assigned for them.
277
- # @param [String] max_reserved_workers The maximum number of Workers to create
278
- # reservations for the assignment of a task while in the queue. Maximum of 50.
279
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
280
- # Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the
281
- # oldest task first and `LIFO` to assign the most recent task first. For more
282
- # information, see {Queue
283
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
284
- # @return [TaskQueueInstance] Updated TaskQueueInstance
285
- def update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset)
286
- data = Twilio::Values.of({
287
- 'FriendlyName' => friendly_name,
288
- 'TargetWorkers' => target_workers,
289
- 'ReservationActivitySid' => reservation_activity_sid,
290
- 'AssignmentActivitySid' => assignment_activity_sid,
291
- 'MaxReservedWorkers' => max_reserved_workers,
292
- 'TaskOrder' => task_order,
293
- })
294
-
295
- payload = @version.update('POST', @uri, data: data)
296
-
297
- TaskQueueInstance.new(
298
- @version,
299
- payload,
300
- workspace_sid: @solution[:workspace_sid],
301
- sid: @solution[:sid],
302
- )
303
- end
304
-
305
- ##
306
- # Delete the TaskQueueInstance
307
- # @return [Boolean] true if delete succeeds, false otherwise
308
- def delete
309
- @version.delete('DELETE', @uri)
310
- end
311
-
312
- ##
313
- # Access the statistics
314
- # @return [TaskQueueStatisticsList]
315
- # @return [TaskQueueStatisticsContext]
316
- def statistics
317
- TaskQueueStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
318
- end
319
-
320
- ##
321
- # Access the real_time_statistics
322
- # @return [TaskQueueRealTimeStatisticsList]
323
- # @return [TaskQueueRealTimeStatisticsContext]
324
- def real_time_statistics
325
- TaskQueueRealTimeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
326
- end
327
-
328
- ##
329
- # Access the cumulative_statistics
330
- # @return [TaskQueueCumulativeStatisticsList]
331
- # @return [TaskQueueCumulativeStatisticsContext]
332
- def cumulative_statistics
333
- TaskQueueCumulativeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
334
- end
335
-
336
- ##
337
- # Provide a user friendly representation
338
- def to_s
339
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
340
- "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
341
- end
342
-
343
- ##
344
- # Provide a detailed, user friendly representation
345
- def inspect
346
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
347
- "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
348
- end
349
- end
350
-
351
- class TaskQueueInstance < InstanceResource
352
- ##
353
- # Initialize the TaskQueueInstance
354
- # @param [Version] version Version that contains the resource
355
- # @param [Hash] payload payload that contains response from Twilio
356
- # @param [String] workspace_sid The SID of the Workspace that contains the
357
- # TaskQueue.
358
- # @param [String] sid The SID of the TaskQueue resource to fetch.
359
- # @return [TaskQueueInstance] TaskQueueInstance
360
- def initialize(version, payload, workspace_sid: nil, sid: nil)
361
- super(version)
362
-
363
- # Marshaled Properties
364
- @properties = {
365
- 'account_sid' => payload['account_sid'],
366
- 'assignment_activity_sid' => payload['assignment_activity_sid'],
367
- 'assignment_activity_name' => payload['assignment_activity_name'],
368
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
369
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
370
- 'friendly_name' => payload['friendly_name'],
371
- 'max_reserved_workers' => payload['max_reserved_workers'].to_i,
372
- 'reservation_activity_sid' => payload['reservation_activity_sid'],
373
- 'reservation_activity_name' => payload['reservation_activity_name'],
374
- 'sid' => payload['sid'],
375
- 'target_workers' => payload['target_workers'],
376
- 'task_order' => payload['task_order'],
377
- 'url' => payload['url'],
378
- 'workspace_sid' => payload['workspace_sid'],
379
- 'links' => payload['links'],
380
- }
381
-
382
- # Context
383
- @instance_context = nil
384
- @params = {'workspace_sid' => workspace_sid, 'sid' => sid || @properties['sid'], }
385
- end
386
-
387
- ##
388
- # Generate an instance context for the instance, the context is capable of
389
- # performing various actions. All instance actions are proxied to the context
390
- # @return [TaskQueueContext] TaskQueueContext for this TaskQueueInstance
391
- def context
392
- unless @instance_context
393
- @instance_context = TaskQueueContext.new(@version, @params['workspace_sid'], @params['sid'], )
394
- end
395
- @instance_context
396
- end
397
-
398
- ##
399
- # @return [String] The SID of the Account that created the resource
400
- def account_sid
401
- @properties['account_sid']
402
- end
403
-
404
- ##
405
- # @return [String] The SID of the Activity to assign Workers when a task is assigned for them
406
- def assignment_activity_sid
407
- @properties['assignment_activity_sid']
408
- end
409
-
410
- ##
411
- # @return [String] The name of the Activity to assign Workers when a task is assigned for them
412
- def assignment_activity_name
413
- @properties['assignment_activity_name']
414
- end
415
-
416
- ##
417
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
418
- def date_created
419
- @properties['date_created']
420
- end
421
-
422
- ##
423
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
424
- def date_updated
425
- @properties['date_updated']
426
- end
427
-
428
- ##
429
- # @return [String] The string that you assigned to describe the resource
430
- def friendly_name
431
- @properties['friendly_name']
432
- end
433
-
434
- ##
435
- # @return [String] The maximum number of Workers to reserve
436
- def max_reserved_workers
437
- @properties['max_reserved_workers']
438
- end
439
-
440
- ##
441
- # @return [String] The SID of the Activity to assign Workers once a task is reserved for them
442
- def reservation_activity_sid
443
- @properties['reservation_activity_sid']
444
- end
445
-
446
- ##
447
- # @return [String] The name of the Activity to assign Workers once a task is reserved for them
448
- def reservation_activity_name
449
- @properties['reservation_activity_name']
450
- end
451
-
452
- ##
453
- # @return [String] The unique string that identifies the resource
454
- def sid
455
- @properties['sid']
456
- end
457
-
458
- ##
459
- # @return [String] A string describing the Worker selection criteria for any Tasks that enter the TaskQueue
460
- def target_workers
461
- @properties['target_workers']
462
- end
463
-
464
- ##
465
- # @return [task_queue.TaskOrder] How Tasks will be assigned to Workers
466
- def task_order
467
- @properties['task_order']
468
- end
469
-
470
- ##
471
- # @return [String] The absolute URL of the TaskQueue resource
472
- def url
473
- @properties['url']
474
- end
475
-
476
- ##
477
- # @return [String] The SID of the Workspace that contains the TaskQueue
478
- def workspace_sid
479
- @properties['workspace_sid']
480
- end
481
-
482
- ##
483
- # @return [String] The URLs of related resources
484
- def links
485
- @properties['links']
486
- end
487
-
488
- ##
489
- # Fetch the TaskQueueInstance
490
- # @return [TaskQueueInstance] Fetched TaskQueueInstance
491
- def fetch
492
- context.fetch
493
- end
494
-
495
- ##
496
- # Update the TaskQueueInstance
497
- # @param [String] friendly_name A descriptive string that you create to describe
498
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
499
- # @param [String] target_workers A string describing the Worker selection criteria
500
- # for any Tasks that enter the TaskQueue. For example '"language" == "spanish"' If
501
- # no TargetWorkers parameter is provided, Tasks will wait in the queue until they
502
- # are either deleted or moved to another queue. Additional examples on how to
503
- # describing Worker selection criteria below.
504
- # @param [String] reservation_activity_sid The SID of the Activity to assign
505
- # Workers when a task is reserved for them.
506
- # @param [String] assignment_activity_sid The SID of the Activity to assign
507
- # Workers when a task is assigned for them.
508
- # @param [String] max_reserved_workers The maximum number of Workers to create
509
- # reservations for the assignment of a task while in the queue. Maximum of 50.
510
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
511
- # Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the
512
- # oldest task first and `LIFO` to assign the most recent task first. For more
513
- # information, see {Queue
514
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
515
- # @return [TaskQueueInstance] Updated TaskQueueInstance
516
- def update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset)
517
- context.update(
518
- friendly_name: friendly_name,
519
- target_workers: target_workers,
520
- reservation_activity_sid: reservation_activity_sid,
521
- assignment_activity_sid: assignment_activity_sid,
522
- max_reserved_workers: max_reserved_workers,
523
- task_order: task_order,
524
- )
525
- end
526
-
527
- ##
528
- # Delete the TaskQueueInstance
529
- # @return [Boolean] true if delete succeeds, false otherwise
530
- def delete
531
- context.delete
532
- end
533
-
534
- ##
535
- # Access the statistics
536
- # @return [statistics] statistics
537
- def statistics
538
- context.statistics
539
- end
540
-
541
- ##
542
- # Access the real_time_statistics
543
- # @return [real_time_statistics] real_time_statistics
544
- def real_time_statistics
545
- context.real_time_statistics
546
- end
547
-
548
- ##
549
- # Access the cumulative_statistics
550
- # @return [cumulative_statistics] cumulative_statistics
551
- def cumulative_statistics
552
- context.cumulative_statistics
553
- end
554
14
 
555
- ##
556
- # Provide a user friendly representation
557
- def to_s
558
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
559
- "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
560
- end
561
15
 
562
- ##
563
- # Provide a detailed, user friendly representation
564
- def inspect
565
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
566
- "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceContext < InstanceContext
21
+
22
+ class TaskQueueList < ListResource
23
+ ##
24
+ # Initialize the TaskQueueList
25
+ # @param [Version] version Version that contains the resource
26
+ # @return [TaskQueueList] TaskQueueList
27
+ def initialize(version, workspace_sid: nil)
28
+ super(version)
29
+ # Path Solution
30
+ @solution = { workspace_sid: workspace_sid }
31
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues"
32
+ # Components
33
+ @statistics = nil
34
+ end
35
+ ##
36
+ # Create the TaskQueueInstance
37
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
38
+ # @param [String] target_workers A string that describes the Worker selection criteria for any Tasks that enter the TaskQueue. For example, `'\\\"language\\\" == \\\"spanish\\\"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers).
39
+ # @param [String] max_reserved_workers The maximum number of Workers to reserve for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
40
+ # @param [TaskOrder] task_order
41
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
42
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned to them.
43
+ # @return [TaskQueueInstance] Created TaskQueueInstance
44
+ def create(
45
+ friendly_name: nil,
46
+ target_workers: :unset,
47
+ max_reserved_workers: :unset,
48
+ task_order: :unset,
49
+ reservation_activity_sid: :unset,
50
+ assignment_activity_sid: :unset
51
+ )
52
+
53
+ data = Twilio::Values.of({
54
+ 'FriendlyName' => friendly_name,
55
+ 'TargetWorkers' => target_workers,
56
+ 'MaxReservedWorkers' => max_reserved_workers,
57
+ 'TaskOrder' => task_order,
58
+ 'ReservationActivitySid' => reservation_activity_sid,
59
+ 'AssignmentActivitySid' => assignment_activity_sid,
60
+ })
61
+
62
+ payload = @version.create('POST', @uri, data: data)
63
+ TaskQueueInstance.new(
64
+ @version,
65
+ payload,
66
+ workspace_sid: @solution[:workspace_sid],
67
+ )
68
+ end
69
+
70
+
71
+ ##
72
+ # Lists TaskQueueInstance records from the API as a list.
73
+ # Unlike stream(), this operation is eager and will load `limit` records into
74
+ # memory before returning.
75
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
76
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
77
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
78
+ # @param [String] ordering Sorting parameter for TaskQueues
79
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
80
+ # guarantees to never return more than limit. Default is no limit
81
+ # @param [Integer] page_size Number of records to fetch per request, when
82
+ # not set will use the default value of 50 records. If no page_size is defined
83
+ # but a limit is defined, stream() will attempt to read the limit with the most
84
+ # efficient page size, i.e. min(limit, 1000)
85
+ # @return [Array] Array of up to limit results
86
+ def list(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
87
+ self.stream(
88
+ friendly_name: friendly_name,
89
+ evaluate_worker_attributes: evaluate_worker_attributes,
90
+ worker_sid: worker_sid,
91
+ ordering: ordering,
92
+ limit: limit,
93
+ page_size: page_size
94
+ ).entries
95
+ end
96
+
97
+ ##
98
+ # Streams Instance records from the API as an Enumerable.
99
+ # This operation lazily loads records as efficiently as possible until the limit
100
+ # is reached.
101
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
102
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
103
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
104
+ # @param [String] ordering Sorting parameter for TaskQueues
105
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
106
+ # guarantees to never return more than limit. Default is no limit
107
+ # @param [Integer] page_size Number of records to fetch per request, when
108
+ # not set will use the default value of 50 records. If no page_size is defined
109
+ # but a limit is defined, stream() will attempt to read the limit with the most
110
+ # efficient page size, i.e. min(limit, 1000)
111
+ # @return [Enumerable] Enumerable that will yield up to limit results
112
+ def stream(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
113
+ limits = @version.read_limits(limit, page_size)
114
+
115
+ page = self.page(
116
+ friendly_name: friendly_name,
117
+ evaluate_worker_attributes: evaluate_worker_attributes,
118
+ worker_sid: worker_sid,
119
+ ordering: ordering,
120
+ page_size: limits[:page_size], )
121
+
122
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
123
+ end
124
+
125
+ ##
126
+ # When passed a block, yields TaskQueueInstance records from the API.
127
+ # This operation lazily loads records as efficiently as possible until the limit
128
+ # is reached.
129
+ def each
130
+ limits = @version.read_limits
131
+
132
+ page = self.page(page_size: limits[:page_size], )
133
+
134
+ @version.stream(page,
135
+ limit: limits[:limit],
136
+ page_limit: limits[:page_limit]).each {|x| yield x}
137
+ end
138
+
139
+ ##
140
+ # Retrieve a single page of TaskQueueInstance records from the API.
141
+ # Request is executed immediately.
142
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
143
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
144
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
145
+ # @param [String] ordering Sorting parameter for TaskQueues
146
+ # @param [String] page_token PageToken provided by the API
147
+ # @param [Integer] page_number Page Number, this value is simply for client state
148
+ # @param [Integer] page_size Number of records to return, defaults to 50
149
+ # @return [Page] Page of TaskQueueInstance
150
+ def page(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
151
+ params = Twilio::Values.of({
152
+
153
+ 'FriendlyName' => friendly_name,
154
+
155
+ 'EvaluateWorkerAttributes' => evaluate_worker_attributes,
156
+
157
+ 'WorkerSid' => worker_sid,
158
+
159
+ 'Ordering' => ordering,
160
+
161
+ 'PageToken' => page_token,
162
+ 'Page' => page_number,
163
+ 'PageSize' => page_size,
164
+ })
165
+
166
+ response = @version.page('GET', @uri, params: params)
167
+
168
+ TaskQueuePage.new(@version, response, @solution)
169
+ end
170
+
171
+ ##
172
+ # Retrieve a single page of TaskQueueInstance records from the API.
173
+ # Request is executed immediately.
174
+ # @param [String] target_url API-generated URL for the requested results page
175
+ # @return [Page] Page of TaskQueueInstance
176
+ def get_page(target_url)
177
+ response = @version.domain.request(
178
+ 'GET',
179
+ target_url
180
+ )
181
+ TaskQueuePage.new(@version, response, @solution)
182
+ end
183
+
184
+
185
+ ##
186
+ # Access the statistics
187
+ # @return [TaskQueuesStatisticsList]
188
+ # @return [TaskQueuesStatisticsContext]
189
+ def statistics
190
+ @statistics ||= TaskQueuesStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid] )
191
+ end
192
+
193
+ # Provide a user friendly representation
194
+ def to_s
195
+ '#<Twilio.Taskrouter.V1.TaskQueueList>'
196
+ end
197
+ end
198
+
199
+
200
+ class TaskQueueContext < InstanceContext
201
+ ##
202
+ # Initialize the TaskQueueContext
203
+ # @param [Version] version Version that contains the resource
204
+ # @param [String] workspace_sid The SID of the Workspace with the TaskQueue to update.
205
+ # @param [String] sid The SID of the TaskQueue resource to update.
206
+ # @return [TaskQueueContext] TaskQueueContext
207
+ def initialize(version, workspace_sid, sid)
208
+ super(version)
209
+
210
+ # Path Solution
211
+ @solution = { workspace_sid: workspace_sid, sid: sid, }
212
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues/#{@solution[:sid]}"
213
+
214
+ # Dependents
215
+ @cumulative_statistics = nil
216
+ @statistics = nil
217
+ @real_time_statistics = nil
218
+ end
219
+ ##
220
+ # Delete the TaskQueueInstance
221
+ # @return [Boolean] True if delete succeeds, false otherwise
222
+ def delete
223
+
224
+ @version.delete('DELETE', @uri)
225
+ end
226
+
227
+ ##
228
+ # Fetch the TaskQueueInstance
229
+ # @return [TaskQueueInstance] Fetched TaskQueueInstance
230
+ def fetch
231
+
232
+ payload = @version.fetch('GET', @uri)
233
+ TaskQueueInstance.new(
234
+ @version,
235
+ payload,
236
+ workspace_sid: @solution[:workspace_sid],
237
+ sid: @solution[:sid],
238
+ )
239
+ end
240
+
241
+ ##
242
+ # Update the TaskQueueInstance
243
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
244
+ # @param [String] target_workers A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\\\"language\\\" == \\\"spanish\\\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.
245
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
246
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned for them.
247
+ # @param [String] max_reserved_workers The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.
248
+ # @param [TaskOrder] task_order
249
+ # @return [TaskQueueInstance] Updated TaskQueueInstance
250
+ def update(
251
+ friendly_name: :unset,
252
+ target_workers: :unset,
253
+ reservation_activity_sid: :unset,
254
+ assignment_activity_sid: :unset,
255
+ max_reserved_workers: :unset,
256
+ task_order: :unset
257
+ )
258
+
259
+ data = Twilio::Values.of({
260
+ 'FriendlyName' => friendly_name,
261
+ 'TargetWorkers' => target_workers,
262
+ 'ReservationActivitySid' => reservation_activity_sid,
263
+ 'AssignmentActivitySid' => assignment_activity_sid,
264
+ 'MaxReservedWorkers' => max_reserved_workers,
265
+ 'TaskOrder' => task_order,
266
+ })
267
+
268
+ payload = @version.update('POST', @uri, data: data)
269
+ TaskQueueInstance.new(
270
+ @version,
271
+ payload,
272
+ workspace_sid: @solution[:workspace_sid],
273
+ sid: @solution[:sid],
274
+ )
275
+ end
276
+
277
+ ##
278
+ # Access the cumulative_statistics
279
+ # @return [TaskQueueCumulativeStatisticsList]
280
+ # @return [TaskQueueCumulativeStatisticsContext]
281
+ def cumulative_statistics
282
+ TaskQueueCumulativeStatisticsContext.new(
283
+ @version,
284
+ @solution[:workspace_sid],
285
+ @solution[:sid]
286
+ )
287
+ end
288
+ ##
289
+ # Access the statistics
290
+ # @return [TaskQueueStatisticsList]
291
+ # @return [TaskQueueStatisticsContext]
292
+ def statistics
293
+ TaskQueueStatisticsContext.new(
294
+ @version,
295
+ @solution[:workspace_sid],
296
+ @solution[:sid]
297
+ )
298
+ end
299
+ ##
300
+ # Access the real_time_statistics
301
+ # @return [TaskQueueRealTimeStatisticsList]
302
+ # @return [TaskQueueRealTimeStatisticsContext]
303
+ def real_time_statistics
304
+ TaskQueueRealTimeStatisticsContext.new(
305
+ @version,
306
+ @solution[:workspace_sid],
307
+ @solution[:sid]
308
+ )
309
+ end
310
+
311
+ ##
312
+ # Provide a user friendly representation
313
+ def to_s
314
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
315
+ "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
316
+ end
317
+
318
+ ##
319
+ # Provide a detailed, user friendly representation
320
+ def inspect
321
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
322
+ "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
323
+ end
324
+ end
325
+
326
+ class TaskQueuePage < Page
327
+ ##
328
+ # Initialize the TaskQueuePage
329
+ # @param [Version] version Version that contains the resource
330
+ # @param [Response] response Response from the API
331
+ # @param [Hash] solution Path solution for the resource
332
+ # @return [TaskQueuePage] TaskQueuePage
333
+ def initialize(version, response, solution)
334
+ super(version, response)
335
+
336
+ # Path Solution
337
+ @solution = solution
338
+ end
339
+
340
+ ##
341
+ # Build an instance of TaskQueueInstance
342
+ # @param [Hash] payload Payload response from the API
343
+ # @return [TaskQueueInstance] TaskQueueInstance
344
+ def get_instance(payload)
345
+ TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid])
346
+ end
347
+
348
+ ##
349
+ # Provide a user friendly representation
350
+ def to_s
351
+ '<Twilio.Taskrouter.V1.TaskQueuePage>'
352
+ end
353
+ end
354
+ class TaskQueueInstance < InstanceResource
355
+ ##
356
+ # Initialize the TaskQueueInstance
357
+ # @param [Version] version Version that contains the resource
358
+ # @param [Hash] payload payload that contains response from Twilio
359
+ # @param [String] account_sid The SID of the
360
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this TaskQueue
361
+ # resource.
362
+ # @param [String] sid The SID of the Call resource to fetch.
363
+ # @return [TaskQueueInstance] TaskQueueInstance
364
+ def initialize(version, payload , workspace_sid: nil, sid: nil)
365
+ super(version)
366
+
367
+ # Marshaled Properties
368
+ @properties = {
369
+ 'account_sid' => payload['account_sid'],
370
+ 'assignment_activity_sid' => payload['assignment_activity_sid'],
371
+ 'assignment_activity_name' => payload['assignment_activity_name'],
372
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
373
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
374
+ 'friendly_name' => payload['friendly_name'],
375
+ 'max_reserved_workers' => payload['max_reserved_workers'] == nil ? payload['max_reserved_workers'] : payload['max_reserved_workers'].to_i,
376
+ 'reservation_activity_sid' => payload['reservation_activity_sid'],
377
+ 'reservation_activity_name' => payload['reservation_activity_name'],
378
+ 'sid' => payload['sid'],
379
+ 'target_workers' => payload['target_workers'],
380
+ 'task_order' => payload['task_order'],
381
+ 'url' => payload['url'],
382
+ 'workspace_sid' => payload['workspace_sid'],
383
+ 'links' => payload['links'],
384
+ }
385
+
386
+ # Context
387
+ @instance_context = nil
388
+ @params = { 'workspace_sid' => workspace_sid || @properties['workspace_sid'] ,'sid' => sid || @properties['sid'] , }
389
+ end
390
+
391
+ ##
392
+ # Generate an instance context for the instance, the context is capable of
393
+ # performing various actions. All instance actions are proxied to the context
394
+ # @return [TaskQueueContext] CallContext for this CallInstance
395
+ def context
396
+ unless @instance_context
397
+ @instance_context = TaskQueueContext.new(@version , @params['workspace_sid'], @params['sid'])
398
+ end
399
+ @instance_context
400
+ end
401
+
402
+ ##
403
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the TaskQueue resource.
404
+ def account_sid
405
+ @properties['account_sid']
406
+ end
407
+
408
+ ##
409
+ # @return [String] The SID of the Activity to assign Workers when a task is assigned for them.
410
+ def assignment_activity_sid
411
+ @properties['assignment_activity_sid']
412
+ end
413
+
414
+ ##
415
+ # @return [String] The name of the Activity to assign Workers when a task is assigned for them.
416
+ def assignment_activity_name
417
+ @properties['assignment_activity_name']
418
+ end
419
+
420
+ ##
421
+ # @return [Time] The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
422
+ def date_created
423
+ @properties['date_created']
424
+ end
425
+
426
+ ##
427
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
428
+ def date_updated
429
+ @properties['date_updated']
430
+ end
431
+
432
+ ##
433
+ # @return [String] The string that you assigned to describe the resource.
434
+ def friendly_name
435
+ @properties['friendly_name']
436
+ end
437
+
438
+ ##
439
+ # @return [String] The maximum number of Workers to reserve for the assignment of a task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
440
+ def max_reserved_workers
441
+ @properties['max_reserved_workers']
442
+ end
443
+
444
+ ##
445
+ # @return [String] The SID of the Activity to assign Workers once a task is reserved for them.
446
+ def reservation_activity_sid
447
+ @properties['reservation_activity_sid']
448
+ end
449
+
450
+ ##
451
+ # @return [String] The name of the Activity to assign Workers once a task is reserved for them.
452
+ def reservation_activity_name
453
+ @properties['reservation_activity_name']
454
+ end
455
+
456
+ ##
457
+ # @return [String] The unique string that we created to identify the TaskQueue resource.
458
+ def sid
459
+ @properties['sid']
460
+ end
461
+
462
+ ##
463
+ # @return [String] A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example `'\"language\" == \"spanish\"'` If no TargetWorkers parameter is provided, Tasks will wait in the TaskQueue until they are either deleted or moved to another TaskQueue. Additional examples on how to describing Worker selection criteria below. Defaults to 1==1.
464
+ def target_workers
465
+ @properties['target_workers']
466
+ end
467
+
468
+ ##
469
+ # @return [TaskOrder]
470
+ def task_order
471
+ @properties['task_order']
472
+ end
473
+
474
+ ##
475
+ # @return [String] The absolute URL of the TaskQueue resource.
476
+ def url
477
+ @properties['url']
478
+ end
479
+
480
+ ##
481
+ # @return [String] The SID of the Workspace that contains the TaskQueue.
482
+ def workspace_sid
483
+ @properties['workspace_sid']
484
+ end
485
+
486
+ ##
487
+ # @return [Hash] The URLs of related resources.
488
+ def links
489
+ @properties['links']
490
+ end
491
+
492
+ ##
493
+ # Delete the TaskQueueInstance
494
+ # @return [Boolean] True if delete succeeds, false otherwise
495
+ def delete
496
+
497
+ context.delete
498
+ end
499
+
500
+ ##
501
+ # Fetch the TaskQueueInstance
502
+ # @return [TaskQueueInstance] Fetched TaskQueueInstance
503
+ def fetch
504
+
505
+ context.fetch
506
+ end
507
+
508
+ ##
509
+ # Update the TaskQueueInstance
510
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
511
+ # @param [String] target_workers A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\\\"language\\\" == \\\"spanish\\\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.
512
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
513
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned for them.
514
+ # @param [String] max_reserved_workers The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.
515
+ # @param [TaskOrder] task_order
516
+ # @return [TaskQueueInstance] Updated TaskQueueInstance
517
+ def update(
518
+ friendly_name: :unset,
519
+ target_workers: :unset,
520
+ reservation_activity_sid: :unset,
521
+ assignment_activity_sid: :unset,
522
+ max_reserved_workers: :unset,
523
+ task_order: :unset
524
+ )
525
+
526
+ context.update(
527
+ friendly_name: friendly_name,
528
+ target_workers: target_workers,
529
+ reservation_activity_sid: reservation_activity_sid,
530
+ assignment_activity_sid: assignment_activity_sid,
531
+ max_reserved_workers: max_reserved_workers,
532
+ task_order: task_order,
533
+ )
534
+ end
535
+
536
+ ##
537
+ # Access the cumulative_statistics
538
+ # @return [cumulative_statistics] cumulative_statistics
539
+ def cumulative_statistics
540
+ context.cumulative_statistics
541
+ end
542
+
543
+ ##
544
+ # Access the statistics
545
+ # @return [statistics] statistics
546
+ def statistics
547
+ context.statistics
548
+ end
549
+
550
+ ##
551
+ # Access the real_time_statistics
552
+ # @return [real_time_statistics] real_time_statistics
553
+ def real_time_statistics
554
+ context.real_time_statistics
555
+ end
556
+
557
+ ##
558
+ # Provide a user friendly representation
559
+ def to_s
560
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
561
+ "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
562
+ end
563
+
564
+ ##
565
+ # Provide a detailed, user friendly representation
566
+ def inspect
567
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
568
+ "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
569
+ end
570
+ end
571
+
572
+ end
567
573
  end
568
- end
569
574
  end
570
- end
571
575
  end
572
- end
573
- end
576
+ end
577
+
578
+