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,740 +1,732 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
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.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceList < ListResource
14
- ##
15
- # Initialize the WorkspaceList
16
- # @param [Version] version Version that contains the resource
17
- # @return [WorkspaceList] WorkspaceList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Workspaces"
24
- end
25
-
26
- ##
27
- # Lists WorkspaceInstance records from the API as a list.
28
- # Unlike stream(), this operation is eager and will load `limit` records into
29
- # memory before returning.
30
- # @param [String] friendly_name The `friendly_name` of the Workspace resources to
31
- # read. For example `Customer Support` or `2014 Election Campaign`.
32
- # @param [Integer] limit Upper limit for the number of records to return. stream()
33
- # guarantees to never return more than limit. Default is no limit
34
- # @param [Integer] page_size Number of records to fetch per request, when
35
- # not set will use the default value of 50 records. If no page_size is defined
36
- # but a limit is defined, stream() will attempt to read the limit with the most
37
- # efficient page size, i.e. min(limit, 1000)
38
- # @return [Array] Array of up to limit results
39
- def list(friendly_name: :unset, limit: nil, page_size: nil)
40
- self.stream(friendly_name: friendly_name, limit: limit, page_size: page_size).entries
41
- end
42
-
43
- ##
44
- # Streams WorkspaceInstance records from the API as an Enumerable.
45
- # This operation lazily loads records as efficiently as possible until the limit
46
- # is reached.
47
- # @param [String] friendly_name The `friendly_name` of the Workspace resources to
48
- # read. For example `Customer Support` or `2014 Election Campaign`.
49
- # @param [Integer] limit Upper limit for the number of records to return. stream()
50
- # guarantees to never return more than limit. Default is no limit.
51
- # @param [Integer] page_size Number of records to fetch per request, when
52
- # not set will use the default value of 50 records. If no page_size is defined
53
- # but a limit is defined, stream() will attempt to read the limit with the most
54
- # efficient page size, i.e. min(limit, 1000)
55
- # @return [Enumerable] Enumerable that will yield up to limit results
56
- def stream(friendly_name: :unset, limit: nil, page_size: nil)
57
- limits = @version.read_limits(limit, page_size)
58
-
59
- page = self.page(friendly_name: friendly_name, page_size: limits[:page_size], )
60
-
61
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
62
- end
63
-
64
- ##
65
- # When passed a block, yields WorkspaceInstance records from the API.
66
- # This operation lazily loads records as efficiently as possible until the limit
67
- # is reached.
68
- def each
69
- limits = @version.read_limits
70
-
71
- page = self.page(page_size: limits[:page_size], )
72
-
73
- @version.stream(page,
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceList < ListResource
21
+ ##
22
+ # Initialize the WorkspaceList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [WorkspaceList] WorkspaceList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/Workspaces"
30
+
31
+ end
32
+ ##
33
+ # Create the WorkspaceInstance
34
+ # @param [String] friendly_name A descriptive string that you create to describe the Workspace resource. It can be up to 64 characters long. For example: `Customer Support` or `2014 Election Campaign`.
35
+ # @param [String] event_callback_url The URL we should call when an event occurs. If provided, the Workspace will publish events to this URL, for example, to collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).
36
+ # @param [String] events_filter The list of Workspace events for which to call event_callback_url. For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.
37
+ # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be created as multi-tasking. The default is `true`. Multi-tasking allows Workers to handle multiple Tasks simultaneously. When enabled (`true`), each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).
38
+ # @param [String] template An available template name. Can be: `NONE` or `FIFO` and the default is `NONE`. Pre-configures the Workspace with the Workflow and Activities specified in the template. `NONE` will create a Workspace with only a set of default activities. `FIFO` will configure TaskRouter with a set of default activities and a single TaskQueue for first-in, first-out distribution, which can be useful when you are getting started with TaskRouter.
39
+ # @param [QueueOrder] prioritize_queue_order
40
+ # @return [WorkspaceInstance] Created WorkspaceInstance
41
+ def create(
42
+ friendly_name: nil,
43
+ event_callback_url: :unset,
44
+ events_filter: :unset,
45
+ multi_task_enabled: :unset,
46
+ template: :unset,
47
+ prioritize_queue_order: :unset
48
+ )
49
+
50
+ data = Twilio::Values.of({
51
+ 'FriendlyName' => friendly_name,
52
+ 'EventCallbackUrl' => event_callback_url,
53
+ 'EventsFilter' => events_filter,
54
+ 'MultiTaskEnabled' => multi_task_enabled,
55
+ 'Template' => template,
56
+ 'PrioritizeQueueOrder' => prioritize_queue_order,
57
+ })
58
+
59
+ payload = @version.create('POST', @uri, data: data)
60
+ WorkspaceInstance.new(
61
+ @version,
62
+ payload,
63
+ )
64
+ end
65
+
66
+
67
+ ##
68
+ # Lists WorkspaceInstance records from the API as a list.
69
+ # Unlike stream(), this operation is eager and will load `limit` records into
70
+ # memory before returning.
71
+ # @param [String] friendly_name The `friendly_name` of the Workspace resources to read. For example `Customer Support` or `2014 Election Campaign`.
72
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
73
+ # guarantees to never return more than limit. Default is no limit
74
+ # @param [Integer] page_size Number of records to fetch per request, when
75
+ # not set will use the default value of 50 records. If no page_size is defined
76
+ # but a limit is defined, stream() will attempt to read the limit with the most
77
+ # efficient page size, i.e. min(limit, 1000)
78
+ # @return [Array] Array of up to limit results
79
+ def list(friendly_name: :unset, limit: nil, page_size: nil)
80
+ self.stream(
81
+ friendly_name: friendly_name,
82
+ limit: limit,
83
+ page_size: page_size
84
+ ).entries
85
+ end
86
+
87
+ ##
88
+ # Streams Instance records from the API as an Enumerable.
89
+ # This operation lazily loads records as efficiently as possible until the limit
90
+ # is reached.
91
+ # @param [String] friendly_name The `friendly_name` of the Workspace resources to read. For example `Customer Support` or `2014 Election Campaign`.
92
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
93
+ # guarantees to never return more than limit. Default is no limit
94
+ # @param [Integer] page_size Number of records to fetch per request, when
95
+ # not set will use the default value of 50 records. If no page_size is defined
96
+ # but a limit is defined, stream() will attempt to read the limit with the most
97
+ # efficient page size, i.e. min(limit, 1000)
98
+ # @return [Enumerable] Enumerable that will yield up to limit results
99
+ def stream(friendly_name: :unset, limit: nil, page_size: nil)
100
+ limits = @version.read_limits(limit, page_size)
101
+
102
+ page = self.page(
103
+ friendly_name: friendly_name,
104
+ page_size: limits[:page_size], )
105
+
106
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
107
+ end
108
+
109
+ ##
110
+ # When passed a block, yields WorkspaceInstance records from the API.
111
+ # This operation lazily loads records as efficiently as possible until the limit
112
+ # is reached.
113
+ def each
114
+ limits = @version.read_limits
115
+
116
+ page = self.page(page_size: limits[:page_size], )
117
+
118
+ @version.stream(page,
74
119
  limit: limits[:limit],
75
120
  page_limit: limits[:page_limit]).each {|x| yield x}
76
- end
77
-
78
- ##
79
- # Retrieve a single page of WorkspaceInstance records from the API.
80
- # Request is executed immediately.
81
- # @param [String] friendly_name The `friendly_name` of the Workspace resources to
82
- # read. For example `Customer Support` or `2014 Election Campaign`.
83
- # @param [String] page_token PageToken provided by the API
84
- # @param [Integer] page_number Page Number, this value is simply for client state
85
- # @param [Integer] page_size Number of records to return, defaults to 50
86
- # @return [Page] Page of WorkspaceInstance
87
- def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
88
- params = Twilio::Values.of({
89
- 'FriendlyName' => friendly_name,
90
- 'PageToken' => page_token,
91
- 'Page' => page_number,
92
- 'PageSize' => page_size,
93
- })
94
-
95
- response = @version.page('GET', @uri, params: params)
96
-
97
- WorkspacePage.new(@version, response, @solution)
98
- end
99
-
100
- ##
101
- # Retrieve a single page of WorkspaceInstance records from the API.
102
- # Request is executed immediately.
103
- # @param [String] target_url API-generated URL for the requested results page
104
- # @return [Page] Page of WorkspaceInstance
105
- def get_page(target_url)
106
- response = @version.domain.request(
107
- 'GET',
108
- target_url
109
- )
110
- WorkspacePage.new(@version, response, @solution)
111
- end
112
-
113
- ##
114
- # Create the WorkspaceInstance
115
- # @param [String] friendly_name A descriptive string that you create to describe
116
- # the Workspace resource. It can be up to 64 characters long. For example:
117
- # `Customer Support` or `2014 Election Campaign`.
118
- # @param [String] event_callback_url The URL we should call when an event occurs.
119
- # If provided, the Workspace will publish events to this URL, for example, to
120
- # collect data for reporting. See {Workspace
121
- # Events}[https://www.twilio.com/docs/taskrouter/api/event] for more information.
122
- # This parameter supports Twilio's {Webhooks (HTTP callbacks) Connection
123
- # Overrides}[https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides].
124
- # @param [String] events_filter The list of Workspace events for which to call
125
- # event_callback_url. For example, if `EventsFilter=task.created, task.canceled,
126
- # worker.activity.update`, then TaskRouter will call event_callback_url only when
127
- # a task is created, canceled, or a Worker activity is updated.
128
- # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
129
- # `true` to enable multi-tasking, or `false` to disable it. However, all
130
- # workspaces should be created as multi-tasking. The default is `true`.
131
- # Multi-tasking allows Workers to handle multiple Tasks simultaneously. When
132
- # enabled (`true`), each Worker can receive parallel reservations up to the
133
- # per-channel maximums defined in the Workers section. In single-tasking mode
134
- # (legacy mode), each Worker will only receive a new reservation when the previous
135
- # task is completed. Learn more at
136
- # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
137
- # @param [String] template An available template name. Can be: `NONE` or `FIFO`
138
- # and the default is `NONE`. Pre-configures the Workspace with the Workflow and
139
- # Activities specified in the template. `NONE` will create a Workspace with only a
140
- # set of default activities. `FIFO` will configure TaskRouter with a set of
141
- # default activities and a single TaskQueue for first-in, first-out distribution,
142
- # which can be useful when you are getting started with TaskRouter.
143
- # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
144
- # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
145
- # be: `LIFO` or `FIFO` and the default is `FIFO`. For more information, see {Queue
146
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
147
- # @return [WorkspaceInstance] Created WorkspaceInstance
148
- def create(friendly_name: nil, event_callback_url: :unset, events_filter: :unset, multi_task_enabled: :unset, template: :unset, prioritize_queue_order: :unset)
149
- data = Twilio::Values.of({
150
- 'FriendlyName' => friendly_name,
151
- 'EventCallbackUrl' => event_callback_url,
152
- 'EventsFilter' => events_filter,
153
- 'MultiTaskEnabled' => multi_task_enabled,
154
- 'Template' => template,
155
- 'PrioritizeQueueOrder' => prioritize_queue_order,
156
- })
157
-
158
- payload = @version.create('POST', @uri, data: data)
159
-
160
- WorkspaceInstance.new(@version, payload, )
161
- end
162
-
163
- ##
164
- # Provide a user friendly representation
165
- def to_s
166
- '#<Twilio.Taskrouter.V1.WorkspaceList>'
167
- end
168
- end
169
-
170
- class WorkspacePage < Page
171
- ##
172
- # Initialize the WorkspacePage
173
- # @param [Version] version Version that contains the resource
174
- # @param [Response] response Response from the API
175
- # @param [Hash] solution Path solution for the resource
176
- # @return [WorkspacePage] WorkspacePage
177
- def initialize(version, response, solution)
178
- super(version, response)
179
-
180
- # Path Solution
181
- @solution = solution
182
- end
183
-
184
- ##
185
- # Build an instance of WorkspaceInstance
186
- # @param [Hash] payload Payload response from the API
187
- # @return [WorkspaceInstance] WorkspaceInstance
188
- def get_instance(payload)
189
- WorkspaceInstance.new(@version, payload, )
190
- end
191
-
192
- ##
193
- # Provide a user friendly representation
194
- def to_s
195
- '<Twilio.Taskrouter.V1.WorkspacePage>'
196
- end
197
- end
198
-
199
- class WorkspaceContext < InstanceContext
200
- ##
201
- # Initialize the WorkspaceContext
202
- # @param [Version] version Version that contains the resource
203
- # @param [String] sid The SID of the Workspace resource to fetch.
204
- # @return [WorkspaceContext] WorkspaceContext
205
- def initialize(version, sid)
206
- super(version)
207
-
208
- # Path Solution
209
- @solution = {sid: sid, }
210
- @uri = "/Workspaces/#{@solution[:sid]}"
211
-
212
- # Dependents
213
- @activities = nil
214
- @events = nil
215
- @tasks = nil
216
- @task_queues = nil
217
- @workers = nil
218
- @workflows = nil
219
- @statistics = nil
220
- @real_time_statistics = nil
221
- @cumulative_statistics = nil
222
- @task_channels = nil
223
- end
224
-
225
- ##
226
- # Fetch the WorkspaceInstance
227
- # @return [WorkspaceInstance] Fetched WorkspaceInstance
228
- def fetch
229
- payload = @version.fetch('GET', @uri)
230
-
231
- WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
232
- end
233
-
234
- ##
235
- # Update the WorkspaceInstance
236
- # @param [String] default_activity_sid The SID of the Activity that will be used
237
- # when new Workers are created in the Workspace.
238
- # @param [String] event_callback_url The URL we should call when an event occurs.
239
- # See {Workspace Events}[https://www.twilio.com/docs/taskrouter/api/event] for
240
- # more information. This parameter supports Twilio's {Webhooks (HTTP callbacks)
241
- # Connection
242
- # Overrides}[https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides].
243
- # @param [String] events_filter The list of Workspace events for which to call
244
- # event_callback_url. For example if
245
- # `EventsFilter=task.created,task.canceled,worker.activity.update`, then
246
- # TaskRouter will call event_callback_url only when a task is created, canceled,
247
- # or a Worker activity is updated.
248
- # @param [String] friendly_name A descriptive string that you create to describe
249
- # the Workspace resource. For example: `Sales Call Center` or `Customer Support
250
- # Team`.
251
- # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
252
- # `true` to enable multi-tasking, or `false` to disable it. However, all
253
- # workspaces should be maintained as multi-tasking. There is no default when
254
- # omitting this parameter. A multi-tasking Workspace can't be updated to
255
- # single-tasking unless it is not a Flex Project and another (legacy)
256
- # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
257
- # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
258
- # reservations up to the per-channel maximums defined in the Workers section. In
259
- # single-tasking mode (legacy mode), each Worker will only receive a new
260
- # reservation when the previous task is completed. Learn more at
261
- # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
262
- # @param [String] timeout_activity_sid The SID of the Activity that will be
263
- # assigned to a Worker when a Task reservation times out without a response.
264
- # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
265
- # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
266
- # be: `LIFO` or `FIFO`. For more information, see {Queue
267
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
268
- # @return [WorkspaceInstance] Updated WorkspaceInstance
269
- def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
270
- data = Twilio::Values.of({
271
- 'DefaultActivitySid' => default_activity_sid,
272
- 'EventCallbackUrl' => event_callback_url,
273
- 'EventsFilter' => events_filter,
274
- 'FriendlyName' => friendly_name,
275
- 'MultiTaskEnabled' => multi_task_enabled,
276
- 'TimeoutActivitySid' => timeout_activity_sid,
277
- 'PrioritizeQueueOrder' => prioritize_queue_order,
278
- })
279
-
280
- payload = @version.update('POST', @uri, data: data)
281
-
282
- WorkspaceInstance.new(@version, payload, sid: @solution[:sid], )
283
- end
284
-
285
- ##
286
- # Delete the WorkspaceInstance
287
- # @return [Boolean] true if delete succeeds, false otherwise
288
- def delete
289
- @version.delete('DELETE', @uri)
290
- end
291
-
292
- ##
293
- # Access the activities
294
- # @return [ActivityList]
295
- # @return [ActivityContext] if sid was passed.
296
- def activities(sid=:unset)
297
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
298
-
299
- if sid != :unset
300
- return ActivityContext.new(@version, @solution[:sid], sid, )
301
- end
302
-
303
- unless @activities
304
- @activities = ActivityList.new(@version, workspace_sid: @solution[:sid], )
305
- end
306
-
307
- @activities
308
- end
309
-
310
- ##
311
- # Access the events
312
- # @return [EventList]
313
- # @return [EventContext] if sid was passed.
314
- def events(sid=:unset)
315
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
316
-
317
- if sid != :unset
318
- return EventContext.new(@version, @solution[:sid], sid, )
319
- end
320
-
321
- unless @events
322
- @events = EventList.new(@version, workspace_sid: @solution[:sid], )
323
- end
324
-
325
- @events
326
- end
327
-
328
- ##
329
- # Access the tasks
330
- # @return [TaskList]
331
- # @return [TaskContext] if sid was passed.
332
- def tasks(sid=:unset)
333
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
334
-
335
- if sid != :unset
336
- return TaskContext.new(@version, @solution[:sid], sid, )
337
- end
338
-
339
- unless @tasks
340
- @tasks = TaskList.new(@version, workspace_sid: @solution[:sid], )
341
- end
342
-
343
- @tasks
344
- end
345
-
346
- ##
347
- # Access the task_queues
348
- # @return [TaskQueueList]
349
- # @return [TaskQueueContext] if sid was passed.
350
- def task_queues(sid=:unset)
351
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
352
-
353
- if sid != :unset
354
- return TaskQueueContext.new(@version, @solution[:sid], sid, )
355
- end
356
-
357
- unless @task_queues
358
- @task_queues = TaskQueueList.new(@version, workspace_sid: @solution[:sid], )
359
- end
360
-
361
- @task_queues
362
- end
363
-
364
- ##
365
- # Access the workers
366
- # @return [WorkerList]
367
- # @return [WorkerContext] if sid was passed.
368
- def workers(sid=:unset)
369
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
370
-
371
- if sid != :unset
372
- return WorkerContext.new(@version, @solution[:sid], sid, )
373
- end
374
-
375
- unless @workers
376
- @workers = WorkerList.new(@version, workspace_sid: @solution[:sid], )
377
- end
378
-
379
- @workers
380
- end
381
-
382
- ##
383
- # Access the workflows
384
- # @return [WorkflowList]
385
- # @return [WorkflowContext] if sid was passed.
386
- def workflows(sid=:unset)
387
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
388
-
389
- if sid != :unset
390
- return WorkflowContext.new(@version, @solution[:sid], sid, )
391
- end
392
-
393
- unless @workflows
394
- @workflows = WorkflowList.new(@version, workspace_sid: @solution[:sid], )
395
- end
396
-
397
- @workflows
398
- end
399
-
400
- ##
401
- # Access the statistics
402
- # @return [WorkspaceStatisticsList]
403
- # @return [WorkspaceStatisticsContext]
404
- def statistics
405
- WorkspaceStatisticsContext.new(@version, @solution[:sid], )
406
- end
407
-
408
- ##
409
- # Access the real_time_statistics
410
- # @return [WorkspaceRealTimeStatisticsList]
411
- # @return [WorkspaceRealTimeStatisticsContext]
412
- def real_time_statistics
413
- WorkspaceRealTimeStatisticsContext.new(@version, @solution[:sid], )
414
- end
415
-
416
- ##
417
- # Access the cumulative_statistics
418
- # @return [WorkspaceCumulativeStatisticsList]
419
- # @return [WorkspaceCumulativeStatisticsContext]
420
- def cumulative_statistics
421
- WorkspaceCumulativeStatisticsContext.new(@version, @solution[:sid], )
422
- end
423
-
424
- ##
425
- # Access the task_channels
426
- # @return [TaskChannelList]
427
- # @return [TaskChannelContext] if sid was passed.
428
- def task_channels(sid=:unset)
429
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
430
-
431
- if sid != :unset
432
- return TaskChannelContext.new(@version, @solution[:sid], sid, )
433
- end
434
-
435
- unless @task_channels
436
- @task_channels = TaskChannelList.new(@version, workspace_sid: @solution[:sid], )
437
- end
438
-
439
- @task_channels
440
- end
441
-
442
- ##
443
- # Provide a user friendly representation
444
- def to_s
445
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
446
- "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
447
- end
448
-
449
- ##
450
- # Provide a detailed, user friendly representation
451
- def inspect
452
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
453
- "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
454
- end
455
- end
121
+ end
122
+
123
+ ##
124
+ # Retrieve a single page of WorkspaceInstance records from the API.
125
+ # Request is executed immediately.
126
+ # @param [String] friendly_name The `friendly_name` of the Workspace resources to read. For example `Customer Support` or `2014 Election Campaign`.
127
+ # @param [String] page_token PageToken provided by the API
128
+ # @param [Integer] page_number Page Number, this value is simply for client state
129
+ # @param [Integer] page_size Number of records to return, defaults to 50
130
+ # @return [Page] Page of WorkspaceInstance
131
+ def page(friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
132
+ params = Twilio::Values.of({
133
+
134
+ 'FriendlyName' => friendly_name,
135
+
136
+ 'PageToken' => page_token,
137
+ 'Page' => page_number,
138
+ 'PageSize' => page_size,
139
+ })
140
+
141
+ response = @version.page('GET', @uri, params: params)
142
+
143
+ WorkspacePage.new(@version, response, @solution)
144
+ end
145
+
146
+ ##
147
+ # Retrieve a single page of WorkspaceInstance records from the API.
148
+ # Request is executed immediately.
149
+ # @param [String] target_url API-generated URL for the requested results page
150
+ # @return [Page] Page of WorkspaceInstance
151
+ def get_page(target_url)
152
+ response = @version.domain.request(
153
+ 'GET',
154
+ target_url
155
+ )
156
+ WorkspacePage.new(@version, response, @solution)
157
+ end
158
+
159
+
160
+
161
+ # Provide a user friendly representation
162
+ def to_s
163
+ '#<Twilio.Taskrouter.V1.WorkspaceList>'
164
+ end
165
+ end
166
+
167
+
168
+ class WorkspaceContext < InstanceContext
169
+ ##
170
+ # Initialize the WorkspaceContext
171
+ # @param [Version] version Version that contains the resource
172
+ # @param [String] sid The SID of the Workspace resource to update.
173
+ # @return [WorkspaceContext] WorkspaceContext
174
+ def initialize(version, sid)
175
+ super(version)
176
+
177
+ # Path Solution
178
+ @solution = { sid: sid, }
179
+ @uri = "/Workspaces/#{@solution[:sid]}"
180
+
181
+ # Dependents
182
+ @cumulative_statistics = nil
183
+ @task_queues = nil
184
+ @activities = nil
185
+ @real_time_statistics = nil
186
+ @tasks = nil
187
+ @workflows = nil
188
+ @events = nil
189
+ @workers = nil
190
+ @statistics = nil
191
+ @task_channels = nil
192
+ end
193
+ ##
194
+ # Delete the WorkspaceInstance
195
+ # @return [Boolean] True if delete succeeds, false otherwise
196
+ def delete
197
+
198
+ @version.delete('DELETE', @uri)
199
+ end
200
+
201
+ ##
202
+ # Fetch the WorkspaceInstance
203
+ # @return [WorkspaceInstance] Fetched WorkspaceInstance
204
+ def fetch
205
+
206
+ payload = @version.fetch('GET', @uri)
207
+ WorkspaceInstance.new(
208
+ @version,
209
+ payload,
210
+ sid: @solution[:sid],
211
+ )
212
+ end
213
+
214
+ ##
215
+ # Update the WorkspaceInstance
216
+ # @param [String] default_activity_sid The SID of the Activity that will be used when new Workers are created in the Workspace.
217
+ # @param [String] event_callback_url The URL we should call when an event occurs. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).
218
+ # @param [String] events_filter The list of Workspace events for which to call event_callback_url. For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.
219
+ # @param [String] friendly_name A descriptive string that you create to describe the Workspace resource. For example: `Sales Call Center` or `Customer Support Team`.
220
+ # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can't be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).
221
+ # @param [String] timeout_activity_sid The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.
222
+ # @param [QueueOrder] prioritize_queue_order
223
+ # @return [WorkspaceInstance] Updated WorkspaceInstance
224
+ def update(
225
+ default_activity_sid: :unset,
226
+ event_callback_url: :unset,
227
+ events_filter: :unset,
228
+ friendly_name: :unset,
229
+ multi_task_enabled: :unset,
230
+ timeout_activity_sid: :unset,
231
+ prioritize_queue_order: :unset
232
+ )
233
+
234
+ data = Twilio::Values.of({
235
+ 'DefaultActivitySid' => default_activity_sid,
236
+ 'EventCallbackUrl' => event_callback_url,
237
+ 'EventsFilter' => events_filter,
238
+ 'FriendlyName' => friendly_name,
239
+ 'MultiTaskEnabled' => multi_task_enabled,
240
+ 'TimeoutActivitySid' => timeout_activity_sid,
241
+ 'PrioritizeQueueOrder' => prioritize_queue_order,
242
+ })
243
+
244
+ payload = @version.update('POST', @uri, data: data)
245
+ WorkspaceInstance.new(
246
+ @version,
247
+ payload,
248
+ sid: @solution[:sid],
249
+ )
250
+ end
251
+
252
+ ##
253
+ # Access the cumulative_statistics
254
+ # @return [WorkspaceCumulativeStatisticsList]
255
+ # @return [WorkspaceCumulativeStatisticsContext]
256
+ def cumulative_statistics
257
+ WorkspaceCumulativeStatisticsContext.new(
258
+ @version,
259
+ @solution[:sid]
260
+ )
261
+ end
262
+ ##
263
+ # Access the task_queues
264
+ # @return [TaskQueueList]
265
+ # @return [TaskQueueContext] if sid was passed.
266
+ def task_queues(sid=:unset)
267
+
268
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
269
+
270
+ if sid != :unset
271
+ return TaskQueueContext.new(@version, @solution[:sid],sid )
272
+ end
273
+
274
+ unless @task_queues
275
+ @task_queues = TaskQueueList.new(
276
+ @version, workspace_sid: @solution[:sid], )
277
+ end
278
+
279
+ @task_queues
280
+ end
281
+ ##
282
+ # Access the activities
283
+ # @return [ActivityList]
284
+ # @return [ActivityContext] if sid was passed.
285
+ def activities(sid=:unset)
286
+
287
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
288
+
289
+ if sid != :unset
290
+ return ActivityContext.new(@version, @solution[:sid],sid )
291
+ end
292
+
293
+ unless @activities
294
+ @activities = ActivityList.new(
295
+ @version, workspace_sid: @solution[:sid], )
296
+ end
297
+
298
+ @activities
299
+ end
300
+ ##
301
+ # Access the real_time_statistics
302
+ # @return [WorkspaceRealTimeStatisticsList]
303
+ # @return [WorkspaceRealTimeStatisticsContext]
304
+ def real_time_statistics
305
+ WorkspaceRealTimeStatisticsContext.new(
306
+ @version,
307
+ @solution[:sid]
308
+ )
309
+ end
310
+ ##
311
+ # Access the tasks
312
+ # @return [TaskList]
313
+ # @return [TaskContext] if sid was passed.
314
+ def tasks(sid=:unset)
315
+
316
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
317
+
318
+ if sid != :unset
319
+ return TaskContext.new(@version, @solution[:sid],sid )
320
+ end
321
+
322
+ unless @tasks
323
+ @tasks = TaskList.new(
324
+ @version, workspace_sid: @solution[:sid], )
325
+ end
326
+
327
+ @tasks
328
+ end
329
+ ##
330
+ # Access the workflows
331
+ # @return [WorkflowList]
332
+ # @return [WorkflowContext] if sid was passed.
333
+ def workflows(sid=:unset)
334
+
335
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
336
+
337
+ if sid != :unset
338
+ return WorkflowContext.new(@version, @solution[:sid],sid )
339
+ end
340
+
341
+ unless @workflows
342
+ @workflows = WorkflowList.new(
343
+ @version, workspace_sid: @solution[:sid], )
344
+ end
345
+
346
+ @workflows
347
+ end
348
+ ##
349
+ # Access the events
350
+ # @return [EventList]
351
+ # @return [EventContext] if sid was passed.
352
+ def events(sid=:unset)
353
+
354
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
355
+
356
+ if sid != :unset
357
+ return EventContext.new(@version, @solution[:sid],sid )
358
+ end
359
+
360
+ unless @events
361
+ @events = EventList.new(
362
+ @version, workspace_sid: @solution[:sid], )
363
+ end
364
+
365
+ @events
366
+ end
367
+ ##
368
+ # Access the workers
369
+ # @return [WorkerList]
370
+ # @return [WorkerContext] if sid was passed.
371
+ def workers(sid=:unset)
372
+
373
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
374
+
375
+ if sid != :unset
376
+ return WorkerContext.new(@version, @solution[:sid],sid )
377
+ end
378
+
379
+ unless @workers
380
+ @workers = WorkerList.new(
381
+ @version, workspace_sid: @solution[:sid], )
382
+ end
383
+
384
+ @workers
385
+ end
386
+ ##
387
+ # Access the statistics
388
+ # @return [WorkspaceStatisticsList]
389
+ # @return [WorkspaceStatisticsContext]
390
+ def statistics
391
+ WorkspaceStatisticsContext.new(
392
+ @version,
393
+ @solution[:sid]
394
+ )
395
+ end
396
+ ##
397
+ # Access the task_channels
398
+ # @return [TaskChannelList]
399
+ # @return [TaskChannelContext] if sid was passed.
400
+ def task_channels(sid=:unset)
401
+
402
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
403
+
404
+ if sid != :unset
405
+ return TaskChannelContext.new(@version, @solution[:sid],sid )
406
+ end
407
+
408
+ unless @task_channels
409
+ @task_channels = TaskChannelList.new(
410
+ @version, workspace_sid: @solution[:sid], )
411
+ end
412
+
413
+ @task_channels
414
+ end
415
+
416
+ ##
417
+ # Provide a user friendly representation
418
+ def to_s
419
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
420
+ "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
421
+ end
422
+
423
+ ##
424
+ # Provide a detailed, user friendly representation
425
+ def inspect
426
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
427
+ "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
428
+ end
429
+ end
430
+
431
+ class WorkspacePage < Page
432
+ ##
433
+ # Initialize the WorkspacePage
434
+ # @param [Version] version Version that contains the resource
435
+ # @param [Response] response Response from the API
436
+ # @param [Hash] solution Path solution for the resource
437
+ # @return [WorkspacePage] WorkspacePage
438
+ def initialize(version, response, solution)
439
+ super(version, response)
440
+
441
+ # Path Solution
442
+ @solution = solution
443
+ end
444
+
445
+ ##
446
+ # Build an instance of WorkspaceInstance
447
+ # @param [Hash] payload Payload response from the API
448
+ # @return [WorkspaceInstance] WorkspaceInstance
449
+ def get_instance(payload)
450
+ WorkspaceInstance.new(@version, payload)
451
+ end
452
+
453
+ ##
454
+ # Provide a user friendly representation
455
+ def to_s
456
+ '<Twilio.Taskrouter.V1.WorkspacePage>'
457
+ end
458
+ end
459
+ class WorkspaceInstance < InstanceResource
460
+ ##
461
+ # Initialize the WorkspaceInstance
462
+ # @param [Version] version Version that contains the resource
463
+ # @param [Hash] payload payload that contains response from Twilio
464
+ # @param [String] account_sid The SID of the
465
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Workspace
466
+ # resource.
467
+ # @param [String] sid The SID of the Call resource to fetch.
468
+ # @return [WorkspaceInstance] WorkspaceInstance
469
+ def initialize(version, payload , sid: nil)
470
+ super(version)
471
+
472
+ # Marshaled Properties
473
+ @properties = {
474
+ 'account_sid' => payload['account_sid'],
475
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
476
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
477
+ 'default_activity_name' => payload['default_activity_name'],
478
+ 'default_activity_sid' => payload['default_activity_sid'],
479
+ 'event_callback_url' => payload['event_callback_url'],
480
+ 'events_filter' => payload['events_filter'],
481
+ 'friendly_name' => payload['friendly_name'],
482
+ 'multi_task_enabled' => payload['multi_task_enabled'],
483
+ 'sid' => payload['sid'],
484
+ 'timeout_activity_name' => payload['timeout_activity_name'],
485
+ 'timeout_activity_sid' => payload['timeout_activity_sid'],
486
+ 'prioritize_queue_order' => payload['prioritize_queue_order'],
487
+ 'url' => payload['url'],
488
+ 'links' => payload['links'],
489
+ }
490
+
491
+ # Context
492
+ @instance_context = nil
493
+ @params = { 'sid' => sid || @properties['sid'] , }
494
+ end
495
+
496
+ ##
497
+ # Generate an instance context for the instance, the context is capable of
498
+ # performing various actions. All instance actions are proxied to the context
499
+ # @return [WorkspaceContext] CallContext for this CallInstance
500
+ def context
501
+ unless @instance_context
502
+ @instance_context = WorkspaceContext.new(@version , @params['sid'])
503
+ end
504
+ @instance_context
505
+ end
506
+
507
+ ##
508
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Workspace resource.
509
+ def account_sid
510
+ @properties['account_sid']
511
+ end
512
+
513
+ ##
514
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
515
+ def date_created
516
+ @properties['date_created']
517
+ end
518
+
519
+ ##
520
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
521
+ def date_updated
522
+ @properties['date_updated']
523
+ end
524
+
525
+ ##
526
+ # @return [String] The name of the default activity.
527
+ def default_activity_name
528
+ @properties['default_activity_name']
529
+ end
530
+
531
+ ##
532
+ # @return [String] The SID of the Activity that will be used when new Workers are created in the Workspace.
533
+ def default_activity_sid
534
+ @properties['default_activity_sid']
535
+ end
536
+
537
+ ##
538
+ # @return [String] The URL we call when an event occurs. If provided, the Workspace will publish events to this URL, for example, to collect data for reporting. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).
539
+ def event_callback_url
540
+ @properties['event_callback_url']
541
+ end
542
+
543
+ ##
544
+ # @return [String] The list of Workspace events for which to call `event_callback_url`. For example, if `EventsFilter=task.created, task.canceled, worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.
545
+ def events_filter
546
+ @properties['events_filter']
547
+ end
548
+
549
+ ##
550
+ # @return [String] The string that you assigned to describe the Workspace resource. For example `Customer Support` or `2014 Election Campaign`.
551
+ def friendly_name
552
+ @properties['friendly_name']
553
+ end
554
+
555
+ ##
556
+ # @return [Boolean] Whether multi-tasking is enabled. The default is `true`, which enables multi-tasking. Multi-tasking allows Workers to handle multiple Tasks simultaneously. When enabled (`true`), each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking each Worker would only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).
557
+ def multi_task_enabled
558
+ @properties['multi_task_enabled']
559
+ end
560
+
561
+ ##
562
+ # @return [String] The unique string that we created to identify the Workspace resource.
563
+ def sid
564
+ @properties['sid']
565
+ end
566
+
567
+ ##
568
+ # @return [String] The name of the timeout activity.
569
+ def timeout_activity_name
570
+ @properties['timeout_activity_name']
571
+ end
572
+
573
+ ##
574
+ # @return [String] The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.
575
+ def timeout_activity_sid
576
+ @properties['timeout_activity_sid']
577
+ end
578
+
579
+ ##
580
+ # @return [QueueOrder]
581
+ def prioritize_queue_order
582
+ @properties['prioritize_queue_order']
583
+ end
584
+
585
+ ##
586
+ # @return [String] The absolute URL of the Workspace resource.
587
+ def url
588
+ @properties['url']
589
+ end
590
+
591
+ ##
592
+ # @return [Hash] The URLs of related resources.
593
+ def links
594
+ @properties['links']
595
+ end
596
+
597
+ ##
598
+ # Delete the WorkspaceInstance
599
+ # @return [Boolean] True if delete succeeds, false otherwise
600
+ def delete
601
+
602
+ context.delete
603
+ end
604
+
605
+ ##
606
+ # Fetch the WorkspaceInstance
607
+ # @return [WorkspaceInstance] Fetched WorkspaceInstance
608
+ def fetch
609
+
610
+ context.fetch
611
+ end
612
+
613
+ ##
614
+ # Update the WorkspaceInstance
615
+ # @param [String] default_activity_sid The SID of the Activity that will be used when new Workers are created in the Workspace.
616
+ # @param [String] event_callback_url The URL we should call when an event occurs. See [Workspace Events](https://www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio's [Webhooks (HTTP callbacks) Connection Overrides](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).
617
+ # @param [String] events_filter The list of Workspace events for which to call event_callback_url. For example if `EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.
618
+ # @param [String] friendly_name A descriptive string that you create to describe the Workspace resource. For example: `Sales Call Center` or `Customer Support Team`.
619
+ # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be: `true` to enable multi-tasking, or `false` to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can't be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](https://www.twilio.com/docs/taskrouter/multitasking).
620
+ # @param [String] timeout_activity_sid The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.
621
+ # @param [QueueOrder] prioritize_queue_order
622
+ # @return [WorkspaceInstance] Updated WorkspaceInstance
623
+ def update(
624
+ default_activity_sid: :unset,
625
+ event_callback_url: :unset,
626
+ events_filter: :unset,
627
+ friendly_name: :unset,
628
+ multi_task_enabled: :unset,
629
+ timeout_activity_sid: :unset,
630
+ prioritize_queue_order: :unset
631
+ )
632
+
633
+ context.update(
634
+ default_activity_sid: default_activity_sid,
635
+ event_callback_url: event_callback_url,
636
+ events_filter: events_filter,
637
+ friendly_name: friendly_name,
638
+ multi_task_enabled: multi_task_enabled,
639
+ timeout_activity_sid: timeout_activity_sid,
640
+ prioritize_queue_order: prioritize_queue_order,
641
+ )
642
+ end
643
+
644
+ ##
645
+ # Access the cumulative_statistics
646
+ # @return [cumulative_statistics] cumulative_statistics
647
+ def cumulative_statistics
648
+ context.cumulative_statistics
649
+ end
650
+
651
+ ##
652
+ # Access the task_queues
653
+ # @return [task_queues] task_queues
654
+ def task_queues
655
+ context.task_queues
656
+ end
657
+
658
+ ##
659
+ # Access the activities
660
+ # @return [activities] activities
661
+ def activities
662
+ context.activities
663
+ end
664
+
665
+ ##
666
+ # Access the real_time_statistics
667
+ # @return [real_time_statistics] real_time_statistics
668
+ def real_time_statistics
669
+ context.real_time_statistics
670
+ end
671
+
672
+ ##
673
+ # Access the tasks
674
+ # @return [tasks] tasks
675
+ def tasks
676
+ context.tasks
677
+ end
678
+
679
+ ##
680
+ # Access the workflows
681
+ # @return [workflows] workflows
682
+ def workflows
683
+ context.workflows
684
+ end
685
+
686
+ ##
687
+ # Access the events
688
+ # @return [events] events
689
+ def events
690
+ context.events
691
+ end
692
+
693
+ ##
694
+ # Access the workers
695
+ # @return [workers] workers
696
+ def workers
697
+ context.workers
698
+ end
699
+
700
+ ##
701
+ # Access the statistics
702
+ # @return [statistics] statistics
703
+ def statistics
704
+ context.statistics
705
+ end
706
+
707
+ ##
708
+ # Access the task_channels
709
+ # @return [task_channels] task_channels
710
+ def task_channels
711
+ context.task_channels
712
+ end
713
+
714
+ ##
715
+ # Provide a user friendly representation
716
+ def to_s
717
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
718
+ "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
719
+ end
720
+
721
+ ##
722
+ # Provide a detailed, user friendly representation
723
+ def inspect
724
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
725
+ "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
726
+ end
727
+ end
456
728
 
457
- class WorkspaceInstance < InstanceResource
458
- ##
459
- # Initialize the WorkspaceInstance
460
- # @param [Version] version Version that contains the resource
461
- # @param [Hash] payload payload that contains response from Twilio
462
- # @param [String] sid The SID of the Workspace resource to fetch.
463
- # @return [WorkspaceInstance] WorkspaceInstance
464
- def initialize(version, payload, sid: nil)
465
- super(version)
466
-
467
- # Marshaled Properties
468
- @properties = {
469
- 'account_sid' => payload['account_sid'],
470
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
471
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
472
- 'default_activity_name' => payload['default_activity_name'],
473
- 'default_activity_sid' => payload['default_activity_sid'],
474
- 'event_callback_url' => payload['event_callback_url'],
475
- 'events_filter' => payload['events_filter'],
476
- 'friendly_name' => payload['friendly_name'],
477
- 'multi_task_enabled' => payload['multi_task_enabled'],
478
- 'sid' => payload['sid'],
479
- 'timeout_activity_name' => payload['timeout_activity_name'],
480
- 'timeout_activity_sid' => payload['timeout_activity_sid'],
481
- 'prioritize_queue_order' => payload['prioritize_queue_order'],
482
- 'url' => payload['url'],
483
- 'links' => payload['links'],
484
- }
485
-
486
- # Context
487
- @instance_context = nil
488
- @params = {'sid' => sid || @properties['sid'], }
489
- end
490
-
491
- ##
492
- # Generate an instance context for the instance, the context is capable of
493
- # performing various actions. All instance actions are proxied to the context
494
- # @return [WorkspaceContext] WorkspaceContext for this WorkspaceInstance
495
- def context
496
- unless @instance_context
497
- @instance_context = WorkspaceContext.new(@version, @params['sid'], )
498
729
  end
499
- @instance_context
500
- end
501
-
502
- ##
503
- # @return [String] The SID of the Account that created the resource
504
- def account_sid
505
- @properties['account_sid']
506
- end
507
-
508
- ##
509
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
510
- def date_created
511
- @properties['date_created']
512
- end
513
-
514
- ##
515
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
516
- def date_updated
517
- @properties['date_updated']
518
- end
519
-
520
- ##
521
- # @return [String] The name of the default activity
522
- def default_activity_name
523
- @properties['default_activity_name']
524
- end
525
-
526
- ##
527
- # @return [String] The SID of the Activity that will be used when new Workers are created in the Workspace
528
- def default_activity_sid
529
- @properties['default_activity_sid']
530
- end
531
-
532
- ##
533
- # @return [String] The URL we call when an event occurs
534
- def event_callback_url
535
- @properties['event_callback_url']
536
- end
537
-
538
- ##
539
- # @return [String] The list of Workspace events for which to call event_callback_url
540
- def events_filter
541
- @properties['events_filter']
542
- end
543
-
544
- ##
545
- # @return [String] The string that you assigned to describe the Workspace resource
546
- def friendly_name
547
- @properties['friendly_name']
548
- end
549
-
550
- ##
551
- # @return [Boolean] Whether multi-tasking is enabled
552
- def multi_task_enabled
553
- @properties['multi_task_enabled']
554
- end
555
-
556
- ##
557
- # @return [String] The unique string that identifies the resource
558
- def sid
559
- @properties['sid']
560
- end
561
-
562
- ##
563
- # @return [String] The name of the timeout activity
564
- def timeout_activity_name
565
- @properties['timeout_activity_name']
566
- end
567
-
568
- ##
569
- # @return [String] The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response
570
- def timeout_activity_sid
571
- @properties['timeout_activity_sid']
572
- end
573
-
574
- ##
575
- # @return [workspace.QueueOrder] The type of TaskQueue to prioritize when Workers are receiving Tasks from both types of TaskQueues
576
- def prioritize_queue_order
577
- @properties['prioritize_queue_order']
578
- end
579
-
580
- ##
581
- # @return [String] The absolute URL of the Workspace resource
582
- def url
583
- @properties['url']
584
- end
585
-
586
- ##
587
- # @return [String] The URLs of related resources
588
- def links
589
- @properties['links']
590
- end
591
-
592
- ##
593
- # Fetch the WorkspaceInstance
594
- # @return [WorkspaceInstance] Fetched WorkspaceInstance
595
- def fetch
596
- context.fetch
597
- end
598
-
599
- ##
600
- # Update the WorkspaceInstance
601
- # @param [String] default_activity_sid The SID of the Activity that will be used
602
- # when new Workers are created in the Workspace.
603
- # @param [String] event_callback_url The URL we should call when an event occurs.
604
- # See {Workspace Events}[https://www.twilio.com/docs/taskrouter/api/event] for
605
- # more information. This parameter supports Twilio's {Webhooks (HTTP callbacks)
606
- # Connection
607
- # Overrides}[https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides].
608
- # @param [String] events_filter The list of Workspace events for which to call
609
- # event_callback_url. For example if
610
- # `EventsFilter=task.created,task.canceled,worker.activity.update`, then
611
- # TaskRouter will call event_callback_url only when a task is created, canceled,
612
- # or a Worker activity is updated.
613
- # @param [String] friendly_name A descriptive string that you create to describe
614
- # the Workspace resource. For example: `Sales Call Center` or `Customer Support
615
- # Team`.
616
- # @param [Boolean] multi_task_enabled Whether to enable multi-tasking. Can be:
617
- # `true` to enable multi-tasking, or `false` to disable it. However, all
618
- # workspaces should be maintained as multi-tasking. There is no default when
619
- # omitting this parameter. A multi-tasking Workspace can't be updated to
620
- # single-tasking unless it is not a Flex Project and another (legacy)
621
- # single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple
622
- # Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel
623
- # reservations up to the per-channel maximums defined in the Workers section. In
624
- # single-tasking mode (legacy mode), each Worker will only receive a new
625
- # reservation when the previous task is completed. Learn more at
626
- # {Multitasking}[https://www.twilio.com/docs/taskrouter/multitasking].
627
- # @param [String] timeout_activity_sid The SID of the Activity that will be
628
- # assigned to a Worker when a Task reservation times out without a response.
629
- # @param [workspace.QueueOrder] prioritize_queue_order The type of TaskQueue to
630
- # prioritize when Workers are receiving Tasks from both types of TaskQueues. Can
631
- # be: `LIFO` or `FIFO`. For more information, see {Queue
632
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
633
- # @return [WorkspaceInstance] Updated WorkspaceInstance
634
- def update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset)
635
- context.update(
636
- default_activity_sid: default_activity_sid,
637
- event_callback_url: event_callback_url,
638
- events_filter: events_filter,
639
- friendly_name: friendly_name,
640
- multi_task_enabled: multi_task_enabled,
641
- timeout_activity_sid: timeout_activity_sid,
642
- prioritize_queue_order: prioritize_queue_order,
643
- )
644
- end
645
-
646
- ##
647
- # Delete the WorkspaceInstance
648
- # @return [Boolean] true if delete succeeds, false otherwise
649
- def delete
650
- context.delete
651
- end
652
-
653
- ##
654
- # Access the activities
655
- # @return [activities] activities
656
- def activities
657
- context.activities
658
- end
659
-
660
- ##
661
- # Access the events
662
- # @return [events] events
663
- def events
664
- context.events
665
- end
666
-
667
- ##
668
- # Access the tasks
669
- # @return [tasks] tasks
670
- def tasks
671
- context.tasks
672
- end
673
-
674
- ##
675
- # Access the task_queues
676
- # @return [task_queues] task_queues
677
- def task_queues
678
- context.task_queues
679
- end
680
-
681
- ##
682
- # Access the workers
683
- # @return [workers] workers
684
- def workers
685
- context.workers
686
- end
687
-
688
- ##
689
- # Access the workflows
690
- # @return [workflows] workflows
691
- def workflows
692
- context.workflows
693
- end
694
-
695
- ##
696
- # Access the statistics
697
- # @return [statistics] statistics
698
- def statistics
699
- context.statistics
700
- end
701
-
702
- ##
703
- # Access the real_time_statistics
704
- # @return [real_time_statistics] real_time_statistics
705
- def real_time_statistics
706
- context.real_time_statistics
707
- end
708
-
709
- ##
710
- # Access the cumulative_statistics
711
- # @return [cumulative_statistics] cumulative_statistics
712
- def cumulative_statistics
713
- context.cumulative_statistics
714
- end
715
-
716
- ##
717
- # Access the task_channels
718
- # @return [task_channels] task_channels
719
- def task_channels
720
- context.task_channels
721
- end
722
-
723
- ##
724
- # Provide a user friendly representation
725
- def to_s
726
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
727
- "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
728
- end
729
-
730
- ##
731
- # Provide a detailed, user friendly representation
732
- def inspect
733
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
734
- "<Twilio.Taskrouter.V1.WorkspaceInstance #{values}>"
735
- end
736
730
  end
737
- end
738
731
  end
739
- end
740
- end
732
+ end