twilio-ruby 5.74.0 → 7.10.1

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 (796) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,579 +1,889 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Taskrouter
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceContext < InstanceContext
14
- class TaskQueueList < ListResource
15
- ##
16
- # Initialize the TaskQueueList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] workspace_sid The SID of the Workspace that contains the
19
- # TaskQueue.
20
- # @return [TaskQueueList] TaskQueueList
21
- def initialize(version, workspace_sid: nil)
22
- super(version)
23
-
24
- # Path Solution
25
- @solution = {workspace_sid: workspace_sid}
26
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues"
27
-
28
- # Components
29
- @statistics = nil
30
- end
31
-
32
- ##
33
- # Lists TaskQueueInstance records from the API as a list.
34
- # Unlike stream(), this operation is eager and will load `limit` records into
35
- # memory before returning.
36
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
37
- # read.
38
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
39
- # read. Returns the TaskQueues with Workers that match the attributes specified in
40
- # this parameter.
41
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
42
- # read.
43
- # @param [String] ordering Sorting parameter for TaskQueues
44
- # @param [Integer] limit Upper limit for the number of records to return. stream()
45
- # guarantees to never return more than limit. Default is no limit
46
- # @param [Integer] page_size Number of records to fetch per request, when
47
- # not set will use the default value of 50 records. If no page_size is defined
48
- # but a limit is defined, stream() will attempt to read the limit with the most
49
- # efficient page size, i.e. min(limit, 1000)
50
- # @return [Array] Array of up to limit results
51
- def list(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
52
- self.stream(
53
- friendly_name: friendly_name,
54
- evaluate_worker_attributes: evaluate_worker_attributes,
55
- worker_sid: worker_sid,
56
- ordering: ordering,
57
- limit: limit,
58
- page_size: page_size
59
- ).entries
60
- end
61
-
62
- ##
63
- # Streams TaskQueueInstance records from the API as an Enumerable.
64
- # This operation lazily loads records as efficiently as possible until the limit
65
- # is reached.
66
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
67
- # read.
68
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
69
- # read. Returns the TaskQueues with Workers that match the attributes specified in
70
- # this parameter.
71
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
72
- # read.
73
- # @param [String] ordering Sorting parameter for TaskQueues
74
- # @param [Integer] limit Upper limit for the number of records to return. stream()
75
- # guarantees to never return more than limit. Default is no limit.
76
- # @param [Integer] page_size Number of records to fetch per request, when
77
- # not set will use the default value of 50 records. If no page_size is defined
78
- # but a limit is defined, stream() will attempt to read the limit with the most
79
- # efficient page size, i.e. min(limit, 1000)
80
- # @return [Enumerable] Enumerable that will yield up to limit results
81
- def stream(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
82
- limits = @version.read_limits(limit, page_size)
83
-
84
- page = self.page(
85
- friendly_name: friendly_name,
86
- evaluate_worker_attributes: evaluate_worker_attributes,
87
- worker_sid: worker_sid,
88
- ordering: ordering,
89
- page_size: limits[:page_size],
90
- )
91
-
92
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
93
- end
94
-
95
- ##
96
- # When passed a block, yields TaskQueueInstance records from the API.
97
- # This operation lazily loads records as efficiently as possible until the limit
98
- # is reached.
99
- def each
100
- limits = @version.read_limits
101
-
102
- page = self.page(page_size: limits[:page_size], )
103
-
104
- @version.stream(page,
105
- limit: limits[:limit],
106
- page_limit: limits[:page_limit]).each {|x| yield x}
107
- end
108
-
109
- ##
110
- # Retrieve a single page of TaskQueueInstance records from the API.
111
- # Request is executed immediately.
112
- # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to
113
- # read.
114
- # @param [String] evaluate_worker_attributes The attributes of the Workers to
115
- # read. Returns the TaskQueues with Workers that match the attributes specified in
116
- # this parameter.
117
- # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to
118
- # read.
119
- # @param [String] ordering Sorting parameter for TaskQueues
120
- # @param [String] page_token PageToken provided by the API
121
- # @param [Integer] page_number Page Number, this value is simply for client state
122
- # @param [Integer] page_size Number of records to return, defaults to 50
123
- # @return [Page] Page of TaskQueueInstance
124
- def page(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
125
- params = Twilio::Values.of({
126
- 'FriendlyName' => friendly_name,
127
- 'EvaluateWorkerAttributes' => evaluate_worker_attributes,
128
- 'WorkerSid' => worker_sid,
129
- 'Ordering' => ordering,
130
- 'PageToken' => page_token,
131
- 'Page' => page_number,
132
- 'PageSize' => page_size,
133
- })
134
-
135
- response = @version.page('GET', @uri, params: params)
136
-
137
- TaskQueuePage.new(@version, response, @solution)
138
- end
139
-
140
- ##
141
- # Retrieve a single page of TaskQueueInstance records from the API.
142
- # Request is executed immediately.
143
- # @param [String] target_url API-generated URL for the requested results page
144
- # @return [Page] Page of TaskQueueInstance
145
- def get_page(target_url)
146
- response = @version.domain.request(
147
- 'GET',
148
- target_url
149
- )
150
- TaskQueuePage.new(@version, response, @solution)
151
- end
152
-
153
- ##
154
- # Create the TaskQueueInstance
155
- # @param [String] friendly_name A descriptive string that you create to describe
156
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
157
- # @param [String] target_workers A string that describes the Worker selection
158
- # criteria for any Tasks that enter the TaskQueue. For example, `'"language" ==
159
- # "spanish"'`. The default value is `1==1`. If this value is empty, Tasks will
160
- # wait in the TaskQueue until they are deleted or moved to another TaskQueue. For
161
- # more information about Worker selection, see {Describing Worker selection
162
- # criteria}[https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers].
163
- # @param [String] max_reserved_workers The maximum number of Workers to reserve
164
- # for the assignment of a Task in the queue. Can be an integer between 1 and 50,
165
- # inclusive and defaults to 1.
166
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
167
- # Set this parameter to `LIFO` to assign most recently created Task first or FIFO
168
- # to assign the oldest Task first. Default is `FIFO`. {Click
169
- # here}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo]
170
- # to learn more.
171
- # @param [String] reservation_activity_sid The SID of the Activity to assign
172
- # Workers when a task is reserved for them.
173
- # @param [String] assignment_activity_sid The SID of the Activity to assign
174
- # Workers when a task is assigned to them.
175
- # @return [TaskQueueInstance] Created TaskQueueInstance
176
- def create(friendly_name: nil, target_workers: :unset, max_reserved_workers: :unset, task_order: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset)
177
- data = Twilio::Values.of({
178
- 'FriendlyName' => friendly_name,
179
- 'TargetWorkers' => target_workers,
180
- 'MaxReservedWorkers' => max_reserved_workers,
181
- 'TaskOrder' => task_order,
182
- 'ReservationActivitySid' => reservation_activity_sid,
183
- 'AssignmentActivitySid' => assignment_activity_sid,
184
- })
185
-
186
- payload = @version.create('POST', @uri, data: data)
187
-
188
- TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
189
- end
190
-
191
- ##
192
- # Access the statistics
193
- # @return [TaskQueuesStatisticsList]
194
- # @return [TaskQueuesStatisticsContext]
195
- def statistics
196
- @statistics ||= TaskQueuesStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid], )
197
- end
198
-
199
- ##
200
- # Provide a user friendly representation
201
- def to_s
202
- '#<Twilio.Taskrouter.V1.TaskQueueList>'
203
- end
204
- end
205
-
206
- class TaskQueuePage < Page
207
- ##
208
- # Initialize the TaskQueuePage
209
- # @param [Version] version Version that contains the resource
210
- # @param [Response] response Response from the API
211
- # @param [Hash] solution Path solution for the resource
212
- # @return [TaskQueuePage] TaskQueuePage
213
- def initialize(version, response, solution)
214
- super(version, response)
215
-
216
- # Path Solution
217
- @solution = solution
218
- end
219
-
220
- ##
221
- # Build an instance of TaskQueueInstance
222
- # @param [Hash] payload Payload response from the API
223
- # @return [TaskQueueInstance] TaskQueueInstance
224
- def get_instance(payload)
225
- TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
226
- end
227
-
228
- ##
229
- # Provide a user friendly representation
230
- def to_s
231
- '<Twilio.Taskrouter.V1.TaskQueuePage>'
232
- end
233
- end
234
-
235
- class TaskQueueContext < InstanceContext
236
- ##
237
- # Initialize the TaskQueueContext
238
- # @param [Version] version Version that contains the resource
239
- # @param [String] workspace_sid The SID of the Workspace with the TaskQueue to
240
- # fetch.
241
- # @param [String] sid The SID of the TaskQueue resource to fetch.
242
- # @return [TaskQueueContext] TaskQueueContext
243
- def initialize(version, workspace_sid, sid)
244
- super(version)
245
-
246
- # Path Solution
247
- @solution = {workspace_sid: workspace_sid, sid: sid, }
248
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues/#{@solution[:sid]}"
249
-
250
- # Dependents
251
- @statistics = nil
252
- @real_time_statistics = nil
253
- @cumulative_statistics = nil
254
- end
255
-
256
- ##
257
- # Fetch the TaskQueueInstance
258
- # @return [TaskQueueInstance] Fetched TaskQueueInstance
259
- def fetch
260
- payload = @version.fetch('GET', @uri)
261
-
262
- TaskQueueInstance.new(
263
- @version,
264
- payload,
265
- workspace_sid: @solution[:workspace_sid],
266
- sid: @solution[:sid],
267
- )
268
- end
269
-
270
- ##
271
- # Update the TaskQueueInstance
272
- # @param [String] friendly_name A descriptive string that you create to describe
273
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
274
- # @param [String] target_workers A string describing the Worker selection criteria
275
- # for any Tasks that enter the TaskQueue. For example '"language" == "spanish"' If
276
- # no TargetWorkers parameter is provided, Tasks will wait in the queue until they
277
- # are either deleted or moved to another queue. Additional examples on how to
278
- # describing Worker selection criteria below.
279
- # @param [String] reservation_activity_sid The SID of the Activity to assign
280
- # Workers when a task is reserved for them.
281
- # @param [String] assignment_activity_sid The SID of the Activity to assign
282
- # Workers when a task is assigned for them.
283
- # @param [String] max_reserved_workers The maximum number of Workers to create
284
- # reservations for the assignment of a task while in the queue. Maximum of 50.
285
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
286
- # Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the
287
- # oldest task first and `LIFO` to assign the most recent task first. For more
288
- # information, see {Queue
289
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
290
- # @return [TaskQueueInstance] Updated TaskQueueInstance
291
- def update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset)
292
- data = Twilio::Values.of({
293
- 'FriendlyName' => friendly_name,
294
- 'TargetWorkers' => target_workers,
295
- 'ReservationActivitySid' => reservation_activity_sid,
296
- 'AssignmentActivitySid' => assignment_activity_sid,
297
- 'MaxReservedWorkers' => max_reserved_workers,
298
- 'TaskOrder' => task_order,
299
- })
300
-
301
- payload = @version.update('POST', @uri, data: data)
302
-
303
- TaskQueueInstance.new(
304
- @version,
305
- payload,
306
- workspace_sid: @solution[:workspace_sid],
307
- sid: @solution[:sid],
308
- )
309
- end
310
-
311
- ##
312
- # Delete the TaskQueueInstance
313
- # @return [Boolean] true if delete succeeds, false otherwise
314
- def delete
315
- @version.delete('DELETE', @uri)
316
- end
317
-
318
- ##
319
- # Access the statistics
320
- # @return [TaskQueueStatisticsList]
321
- # @return [TaskQueueStatisticsContext]
322
- def statistics
323
- TaskQueueStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
324
- end
325
-
326
- ##
327
- # Access the real_time_statistics
328
- # @return [TaskQueueRealTimeStatisticsList]
329
- # @return [TaskQueueRealTimeStatisticsContext]
330
- def real_time_statistics
331
- TaskQueueRealTimeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
332
- end
333
-
334
- ##
335
- # Access the cumulative_statistics
336
- # @return [TaskQueueCumulativeStatisticsList]
337
- # @return [TaskQueueCumulativeStatisticsContext]
338
- def cumulative_statistics
339
- TaskQueueCumulativeStatisticsContext.new(@version, @solution[:workspace_sid], @solution[:sid], )
340
- end
341
-
342
- ##
343
- # Provide a user friendly representation
344
- def to_s
345
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
346
- "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
347
- end
348
-
349
- ##
350
- # Provide a detailed, user friendly representation
351
- def inspect
352
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
353
- "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
354
- end
355
- end
356
-
357
- class TaskQueueInstance < InstanceResource
358
- ##
359
- # Initialize the TaskQueueInstance
360
- # @param [Version] version Version that contains the resource
361
- # @param [Hash] payload payload that contains response from Twilio
362
- # @param [String] workspace_sid The SID of the Workspace that contains the
363
- # TaskQueue.
364
- # @param [String] sid The SID of the TaskQueue resource to fetch.
365
- # @return [TaskQueueInstance] TaskQueueInstance
366
- def initialize(version, payload, workspace_sid: nil, sid: nil)
367
- super(version)
368
-
369
- # Marshaled Properties
370
- @properties = {
371
- 'account_sid' => payload['account_sid'],
372
- 'assignment_activity_sid' => payload['assignment_activity_sid'],
373
- 'assignment_activity_name' => payload['assignment_activity_name'],
374
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
375
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
376
- 'friendly_name' => payload['friendly_name'],
377
- 'max_reserved_workers' => payload['max_reserved_workers'] == nil ? payload['max_reserved_workers'] : payload['max_reserved_workers'].to_i,
378
- 'reservation_activity_sid' => payload['reservation_activity_sid'],
379
- 'reservation_activity_name' => payload['reservation_activity_name'],
380
- 'sid' => payload['sid'],
381
- 'target_workers' => payload['target_workers'],
382
- 'task_order' => payload['task_order'],
383
- 'url' => payload['url'],
384
- 'workspace_sid' => payload['workspace_sid'],
385
- 'links' => payload['links'],
386
- }
387
-
388
- # Context
389
- @instance_context = nil
390
- @params = {'workspace_sid' => workspace_sid, 'sid' => sid || @properties['sid'], }
391
- end
392
-
393
- ##
394
- # Generate an instance context for the instance, the context is capable of
395
- # performing various actions. All instance actions are proxied to the context
396
- # @return [TaskQueueContext] TaskQueueContext for this TaskQueueInstance
397
- def context
398
- unless @instance_context
399
- @instance_context = TaskQueueContext.new(@version, @params['workspace_sid'], @params['sid'], )
400
- end
401
- @instance_context
402
- end
403
-
404
- ##
405
- # @return [String] The SID of the Account that created the resource
406
- def account_sid
407
- @properties['account_sid']
408
- end
409
-
410
- ##
411
- # @return [String] The SID of the Activity to assign Workers when a task is assigned for them
412
- def assignment_activity_sid
413
- @properties['assignment_activity_sid']
414
- end
415
-
416
- ##
417
- # @return [String] The name of the Activity to assign Workers when a task is assigned for them
418
- def assignment_activity_name
419
- @properties['assignment_activity_name']
420
- end
421
-
422
- ##
423
- # @return [Time] The RFC 2822 date and time in GMT when the resource was created
424
- def date_created
425
- @properties['date_created']
426
- end
427
-
428
- ##
429
- # @return [Time] The RFC 2822 date and time in GMT when the resource was last updated
430
- def date_updated
431
- @properties['date_updated']
432
- end
433
-
434
- ##
435
- # @return [String] The string that you assigned to describe the resource
436
- def friendly_name
437
- @properties['friendly_name']
438
- end
439
-
440
- ##
441
- # @return [String] The maximum number of Workers to reserve
442
- def max_reserved_workers
443
- @properties['max_reserved_workers']
444
- end
445
-
446
- ##
447
- # @return [String] The SID of the Activity to assign Workers once a task is reserved for them
448
- def reservation_activity_sid
449
- @properties['reservation_activity_sid']
450
- end
451
-
452
- ##
453
- # @return [String] The name of the Activity to assign Workers once a task is reserved for them
454
- def reservation_activity_name
455
- @properties['reservation_activity_name']
456
- end
457
-
458
- ##
459
- # @return [String] The unique string that identifies the resource
460
- def sid
461
- @properties['sid']
462
- end
463
-
464
- ##
465
- # @return [String] A string describing the Worker selection criteria for any Tasks that enter the TaskQueue
466
- def target_workers
467
- @properties['target_workers']
468
- end
469
-
470
- ##
471
- # @return [task_queue.TaskOrder] How Tasks will be assigned to Workers
472
- def task_order
473
- @properties['task_order']
474
- end
475
-
476
- ##
477
- # @return [String] The absolute URL of the TaskQueue resource
478
- def url
479
- @properties['url']
480
- end
481
-
482
- ##
483
- # @return [String] The SID of the Workspace that contains the TaskQueue
484
- def workspace_sid
485
- @properties['workspace_sid']
486
- end
487
-
488
- ##
489
- # @return [String] The URLs of related resources
490
- def links
491
- @properties['links']
492
- end
493
-
494
- ##
495
- # Fetch the TaskQueueInstance
496
- # @return [TaskQueueInstance] Fetched TaskQueueInstance
497
- def fetch
498
- context.fetch
499
- end
500
-
501
- ##
502
- # Update the TaskQueueInstance
503
- # @param [String] friendly_name A descriptive string that you create to describe
504
- # the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
505
- # @param [String] target_workers A string describing the Worker selection criteria
506
- # for any Tasks that enter the TaskQueue. For example '"language" == "spanish"' If
507
- # no TargetWorkers parameter is provided, Tasks will wait in the queue until they
508
- # are either deleted or moved to another queue. Additional examples on how to
509
- # describing Worker selection criteria below.
510
- # @param [String] reservation_activity_sid The SID of the Activity to assign
511
- # Workers when a task is reserved for them.
512
- # @param [String] assignment_activity_sid The SID of the Activity to assign
513
- # Workers when a task is assigned for them.
514
- # @param [String] max_reserved_workers The maximum number of Workers to create
515
- # reservations for the assignment of a task while in the queue. Maximum of 50.
516
- # @param [task_queue.TaskOrder] task_order How Tasks will be assigned to Workers.
517
- # Can be: `FIFO` or `LIFO` and the default is `FIFO`. Use `FIFO` to assign the
518
- # oldest task first and `LIFO` to assign the most recent task first. For more
519
- # information, see {Queue
520
- # Ordering}[https://www.twilio.com/docs/taskrouter/queue-ordering-last-first-out-lifo].
521
- # @return [TaskQueueInstance] Updated TaskQueueInstance
522
- def update(friendly_name: :unset, target_workers: :unset, reservation_activity_sid: :unset, assignment_activity_sid: :unset, max_reserved_workers: :unset, task_order: :unset)
523
- context.update(
524
- friendly_name: friendly_name,
525
- target_workers: target_workers,
526
- reservation_activity_sid: reservation_activity_sid,
527
- assignment_activity_sid: assignment_activity_sid,
528
- max_reserved_workers: max_reserved_workers,
529
- task_order: task_order,
530
- )
531
- end
532
-
533
- ##
534
- # Delete the TaskQueueInstance
535
- # @return [Boolean] true if delete succeeds, false otherwise
536
- def delete
537
- context.delete
538
- end
539
-
540
- ##
541
- # Access the statistics
542
- # @return [statistics] statistics
543
- def statistics
544
- context.statistics
545
- end
546
-
547
- ##
548
- # Access the real_time_statistics
549
- # @return [real_time_statistics] real_time_statistics
550
- def real_time_statistics
551
- context.real_time_statistics
552
- end
553
-
554
- ##
555
- # Access the cumulative_statistics
556
- # @return [cumulative_statistics] cumulative_statistics
557
- def cumulative_statistics
558
- context.cumulative_statistics
559
- end
560
14
 
561
- ##
562
- # Provide a user friendly representation
563
- def to_s
564
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
565
- "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
566
- end
567
15
 
568
- ##
569
- # Provide a detailed, user friendly representation
570
- def inspect
571
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
572
- "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceContext < InstanceContext
21
+
22
+ class TaskQueueList < ListResource
23
+
24
+ ##
25
+ # Initialize the TaskQueueList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [TaskQueueList] TaskQueueList
28
+ def initialize(version, workspace_sid: nil)
29
+ super(version)
30
+
31
+ # Path Solution
32
+ @solution = { workspace_sid: workspace_sid }
33
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues"
34
+ # Components
35
+ @bulk_real_time_statistics = nil
36
+ @statistics = nil
37
+ end
38
+ ##
39
+ # Create the TaskQueueInstance
40
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
41
+ # @param [String] target_workers A string that describes the Worker selection criteria for any Tasks that enter the TaskQueue. For example, `'\\\"language\\\" == \\\"spanish\\\"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers).
42
+ # @param [String] max_reserved_workers The maximum number of Workers to reserve for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
43
+ # @param [TaskOrder] task_order
44
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
45
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned to them.
46
+ # @return [TaskQueueInstance] Created TaskQueueInstance
47
+ def create(
48
+ friendly_name: nil,
49
+ target_workers: :unset,
50
+ max_reserved_workers: :unset,
51
+ task_order: :unset,
52
+ reservation_activity_sid: :unset,
53
+ assignment_activity_sid: :unset
54
+ )
55
+
56
+ data = Twilio::Values.of({
57
+ 'FriendlyName' => friendly_name,
58
+ 'TargetWorkers' => target_workers,
59
+ 'MaxReservedWorkers' => max_reserved_workers,
60
+ 'TaskOrder' => task_order,
61
+ 'ReservationActivitySid' => reservation_activity_sid,
62
+ 'AssignmentActivitySid' => assignment_activity_sid,
63
+ })
64
+
65
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
66
+
67
+
68
+
69
+
70
+
71
+ payload = @version.create('POST', @uri, data: data, headers: headers)
72
+ TaskQueueInstance.new(
73
+ @version,
74
+ payload,
75
+ workspace_sid: @solution[:workspace_sid],
76
+ )
77
+ end
78
+
79
+ ##
80
+ # Create the TaskQueueInstanceMetadata
81
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
82
+ # @param [String] target_workers A string that describes the Worker selection criteria for any Tasks that enter the TaskQueue. For example, `'\\\"language\\\" == \\\"spanish\\\"'`. The default value is `1==1`. If this value is empty, Tasks will wait in the TaskQueue until they are deleted or moved to another TaskQueue. For more information about Worker selection, see [Describing Worker selection criteria](https://www.twilio.com/docs/taskrouter/api/taskqueues#target-workers).
83
+ # @param [String] max_reserved_workers The maximum number of Workers to reserve for the assignment of a Task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
84
+ # @param [TaskOrder] task_order
85
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
86
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned to them.
87
+ # @return [TaskQueueInstance] Created TaskQueueInstance
88
+ def create_with_metadata(
89
+ friendly_name: nil,
90
+ target_workers: :unset,
91
+ max_reserved_workers: :unset,
92
+ task_order: :unset,
93
+ reservation_activity_sid: :unset,
94
+ assignment_activity_sid: :unset
95
+ )
96
+
97
+ data = Twilio::Values.of({
98
+ 'FriendlyName' => friendly_name,
99
+ 'TargetWorkers' => target_workers,
100
+ 'MaxReservedWorkers' => max_reserved_workers,
101
+ 'TaskOrder' => task_order,
102
+ 'ReservationActivitySid' => reservation_activity_sid,
103
+ 'AssignmentActivitySid' => assignment_activity_sid,
104
+ })
105
+
106
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
107
+
108
+
109
+
110
+
111
+
112
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
113
+ task_queue_instance = TaskQueueInstance.new(
114
+ @version,
115
+ response.body,
116
+ workspace_sid: @solution[:workspace_sid],
117
+ )
118
+ TaskQueueInstanceMetadata.new(
119
+ @version,
120
+ task_queue_instance,
121
+ response.headers,
122
+ response.status_code
123
+ )
124
+ end
125
+
126
+
127
+ ##
128
+ # Lists TaskQueueInstance records from the API as a list.
129
+ # Unlike stream(), this operation is eager and will load `limit` records into
130
+ # memory before returning.
131
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
132
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
133
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
134
+ # @param [String] ordering Sorting parameter for TaskQueues
135
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
136
+ # guarantees to never return more than limit. Default is no limit
137
+ # @param [Integer] page_size Number of records to fetch per request, when
138
+ # not set will use the default value of 50 records. If no page_size is defined
139
+ # but a limit is defined, stream() will attempt to read the limit with the most
140
+ # efficient page size, i.e. min(limit, 1000)
141
+ # @return [Array] Array of up to limit results
142
+ def list(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
143
+ self.stream(
144
+ friendly_name: friendly_name,
145
+ evaluate_worker_attributes: evaluate_worker_attributes,
146
+ worker_sid: worker_sid,
147
+ ordering: ordering,
148
+ limit: limit,
149
+ page_size: page_size
150
+ ).entries
151
+ end
152
+
153
+ ##
154
+ # Streams Instance records from the API as an Enumerable.
155
+ # This operation lazily loads records as efficiently as possible until the limit
156
+ # is reached.
157
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
158
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
159
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
160
+ # @param [String] ordering Sorting parameter for TaskQueues
161
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
162
+ # guarantees to never return more than limit. Default is no limit
163
+ # @param [Integer] page_size Number of records to fetch per request, when
164
+ # not set will use the default value of 50 records. If no page_size is defined
165
+ # but a limit is defined, stream() will attempt to read the limit with the most
166
+ # efficient page size, i.e. min(limit, 1000)
167
+ # @return [Enumerable] Enumerable that will yield up to limit results
168
+ def stream(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
169
+ limits = @version.read_limits(limit, page_size)
170
+
171
+ page = self.page(
172
+ friendly_name: friendly_name,
173
+ evaluate_worker_attributes: evaluate_worker_attributes,
174
+ worker_sid: worker_sid,
175
+ ordering: ordering,
176
+ page_size: limits[:page_size], )
177
+
178
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
179
+ end
180
+
181
+ ##
182
+ # Lists TaskQueuePageMetadata records from the API as a list.
183
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
184
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
185
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
186
+ # @param [String] ordering Sorting parameter for TaskQueues
187
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
188
+ # guarantees to never return more than limit. Default is no limit
189
+ # @param [Integer] page_size Number of records to fetch per request, when
190
+ # not set will use the default value of 50 records. If no page_size is defined
191
+ # but a limit is defined, stream() will attempt to read the limit with the most
192
+ # efficient page size, i.e. min(limit, 1000)
193
+ # @return [Array] Array of up to limit results
194
+ def list_with_metadata(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, limit: nil, page_size: nil)
195
+ limits = @version.read_limits(limit, page_size)
196
+ params = Twilio::Values.of({
197
+ 'FriendlyName' => friendly_name,
198
+ 'EvaluateWorkerAttributes' => evaluate_worker_attributes,
199
+ 'WorkerSid' => worker_sid,
200
+ 'Ordering' => ordering,
201
+
202
+ 'PageSize' => limits[:page_size],
203
+ });
204
+ headers = Twilio::Values.of({})
205
+
206
+ response = @version.page('GET', @uri, params: params, headers: headers)
207
+
208
+ TaskQueuePageMetadata.new(@version, response, @solution, limits[:limit])
209
+ end
210
+
211
+ ##
212
+ # When passed a block, yields TaskQueueInstance records from the API.
213
+ # This operation lazily loads records as efficiently as possible until the limit
214
+ # is reached.
215
+ def each
216
+ limits = @version.read_limits
217
+
218
+ page = self.page(page_size: limits[:page_size], )
219
+
220
+ @version.stream(page,
221
+ limit: limits[:limit],
222
+ page_limit: limits[:page_limit]).each {|x| yield x}
223
+ end
224
+
225
+ ##
226
+ # Retrieve a single page of TaskQueueInstance records from the API.
227
+ # Request is executed immediately.
228
+ # @param [String] friendly_name The `friendly_name` of the TaskQueue resources to read.
229
+ # @param [String] evaluate_worker_attributes The attributes of the Workers to read. Returns the TaskQueues with Workers that match the attributes specified in this parameter.
230
+ # @param [String] worker_sid The SID of the Worker with the TaskQueue resources to read.
231
+ # @param [String] ordering Sorting parameter for TaskQueues
232
+ # @param [String] page_token PageToken provided by the API
233
+ # @param [Integer] page_number Page Number, this value is simply for client state
234
+ # @param [Integer] page_size Number of records to return, defaults to 50
235
+ # @return [Page] Page of TaskQueueInstance
236
+ def page(friendly_name: :unset, evaluate_worker_attributes: :unset, worker_sid: :unset, ordering: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
237
+ params = Twilio::Values.of({
238
+ 'FriendlyName' => friendly_name,
239
+ 'EvaluateWorkerAttributes' => evaluate_worker_attributes,
240
+ 'WorkerSid' => worker_sid,
241
+ 'Ordering' => ordering,
242
+ 'PageToken' => page_token,
243
+ 'Page' => page_number,
244
+ 'PageSize' => page_size,
245
+ })
246
+ headers = Twilio::Values.of({})
247
+
248
+
249
+
250
+ response = @version.page('GET', @uri, params: params, headers: headers)
251
+
252
+ TaskQueuePage.new(@version, response, @solution)
253
+ end
254
+
255
+ ##
256
+ # Retrieve a single page of TaskQueueInstance records from the API.
257
+ # Request is executed immediately.
258
+ # @param [String] target_url API-generated URL for the requested results page
259
+ # @return [Page] Page of TaskQueueInstance
260
+ def get_page(target_url)
261
+ response = @version.domain.request(
262
+ 'GET',
263
+ target_url
264
+ )
265
+ TaskQueuePage.new(@version, response, @solution)
266
+ end
267
+
268
+
269
+ ##
270
+ # Access the bulk_real_time_statistics
271
+ # @return [TaskQueueBulkRealTimeStatisticsList]
272
+ # @return [TaskQueueBulkRealTimeStatisticsContext]
273
+ def bulk_real_time_statistics
274
+ @bulk_real_time_statistics ||= TaskQueueBulkRealTimeStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid] )
275
+ end
276
+ ##
277
+ # Access the statistics
278
+ # @return [TaskQueuesStatisticsList]
279
+ # @return [TaskQueuesStatisticsContext]
280
+ def statistics
281
+ @statistics ||= TaskQueuesStatisticsList.new(@version, workspace_sid: @solution[:workspace_sid] )
282
+ end
283
+
284
+ # Provide a user friendly representation
285
+ def to_s
286
+ '#<Twilio.Taskrouter.V1.TaskQueueList>'
287
+ end
288
+ end
289
+
290
+
291
+ class TaskQueueContext < InstanceContext
292
+ ##
293
+ # Initialize the TaskQueueContext
294
+ # @param [Version] version Version that contains the resource
295
+ # @param [String] workspace_sid The SID of the Workspace with the TaskQueue to update.
296
+ # @param [String] sid The SID of the TaskQueue resource to update.
297
+ # @return [TaskQueueContext] TaskQueueContext
298
+ def initialize(version, workspace_sid, sid)
299
+ super(version)
300
+
301
+
302
+ # Path Solution
303
+ @solution = { workspace_sid: workspace_sid, sid: sid, }
304
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/TaskQueues/#{@solution[:sid]}"
305
+
306
+ # Dependents
307
+ @cumulative_statistics = nil
308
+ @statistics = nil
309
+ @real_time_statistics = nil
310
+ end
311
+ ##
312
+ # Delete the TaskQueueInstance
313
+ # @return [Boolean] True if delete succeeds, false otherwise
314
+ def delete
315
+
316
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
317
+
318
+
319
+
320
+
321
+ @version.delete('DELETE', @uri, headers: headers)
322
+ end
323
+
324
+ ##
325
+ # Delete the TaskQueueInstanceMetadata
326
+ # @return [Boolean] True if delete succeeds, false otherwise
327
+ def delete_with_metadata
328
+
329
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
330
+
331
+
332
+
333
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
334
+ taskQueue_instance = TaskQueueInstance.new(
335
+ @version,
336
+ response.body,
337
+ account_sid: @solution[:account_sid],
338
+ sid: @solution[:sid],
339
+ )
340
+ TaskQueueInstanceMetadata.new(@version, taskQueue_instance, response.headers, response.status_code)
341
+ end
342
+
343
+ ##
344
+ # Fetch the TaskQueueInstance
345
+ # @return [TaskQueueInstance] Fetched TaskQueueInstance
346
+ def fetch
347
+
348
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
349
+
350
+
351
+
352
+
353
+
354
+ payload = @version.fetch('GET', @uri, headers: headers)
355
+ TaskQueueInstance.new(
356
+ @version,
357
+ payload,
358
+ workspace_sid: @solution[:workspace_sid],
359
+ sid: @solution[:sid],
360
+ )
361
+ end
362
+
363
+ ##
364
+ # Fetch the TaskQueueInstanceMetadata
365
+ # @return [TaskQueueInstance] Fetched TaskQueueInstance
366
+ def fetch_with_metadata
367
+
368
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
369
+
370
+
371
+
372
+
373
+
374
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
375
+ task_queue_instance = TaskQueueInstance.new(
376
+ @version,
377
+ response.body,
378
+ workspace_sid: @solution[:workspace_sid],
379
+ sid: @solution[:sid],
380
+ )
381
+ TaskQueueInstanceMetadata.new(
382
+ @version,
383
+ task_queue_instance,
384
+ response.headers,
385
+ response.status_code
386
+ )
387
+ end
388
+
389
+ ##
390
+ # Update the TaskQueueInstance
391
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
392
+ # @param [String] target_workers A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\\\"language\\\" == \\\"spanish\\\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.
393
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
394
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned for them.
395
+ # @param [String] max_reserved_workers The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.
396
+ # @param [TaskOrder] task_order
397
+ # @return [TaskQueueInstance] Updated TaskQueueInstance
398
+ def update(
399
+ friendly_name: :unset,
400
+ target_workers: :unset,
401
+ reservation_activity_sid: :unset,
402
+ assignment_activity_sid: :unset,
403
+ max_reserved_workers: :unset,
404
+ task_order: :unset
405
+ )
406
+
407
+ data = Twilio::Values.of({
408
+ 'FriendlyName' => friendly_name,
409
+ 'TargetWorkers' => target_workers,
410
+ 'ReservationActivitySid' => reservation_activity_sid,
411
+ 'AssignmentActivitySid' => assignment_activity_sid,
412
+ 'MaxReservedWorkers' => max_reserved_workers,
413
+ 'TaskOrder' => task_order,
414
+ })
415
+
416
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
417
+
418
+
419
+
420
+
421
+
422
+ payload = @version.update('POST', @uri, data: data, headers: headers)
423
+ TaskQueueInstance.new(
424
+ @version,
425
+ payload,
426
+ workspace_sid: @solution[:workspace_sid],
427
+ sid: @solution[:sid],
428
+ )
429
+ end
430
+
431
+ ##
432
+ # Update the TaskQueueInstanceMetadata
433
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
434
+ # @param [String] target_workers A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\\\"language\\\" == \\\"spanish\\\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.
435
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
436
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned for them.
437
+ # @param [String] max_reserved_workers The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.
438
+ # @param [TaskOrder] task_order
439
+ # @return [TaskQueueInstance] Updated TaskQueueInstance
440
+ def update_with_metadata(
441
+ friendly_name: :unset,
442
+ target_workers: :unset,
443
+ reservation_activity_sid: :unset,
444
+ assignment_activity_sid: :unset,
445
+ max_reserved_workers: :unset,
446
+ task_order: :unset
447
+ )
448
+
449
+ data = Twilio::Values.of({
450
+ 'FriendlyName' => friendly_name,
451
+ 'TargetWorkers' => target_workers,
452
+ 'ReservationActivitySid' => reservation_activity_sid,
453
+ 'AssignmentActivitySid' => assignment_activity_sid,
454
+ 'MaxReservedWorkers' => max_reserved_workers,
455
+ 'TaskOrder' => task_order,
456
+ })
457
+
458
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
459
+
460
+
461
+
462
+
463
+
464
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
465
+ task_queue_instance = TaskQueueInstance.new(
466
+ @version,
467
+ response.body,
468
+ workspace_sid: @solution[:workspace_sid],
469
+ sid: @solution[:sid],
470
+ )
471
+ TaskQueueInstanceMetadata.new(
472
+ @version,
473
+ task_queue_instance,
474
+ response.headers,
475
+ response.status_code
476
+ )
477
+ end
478
+
479
+ ##
480
+ # Access the cumulative_statistics
481
+ # @return [TaskQueueCumulativeStatisticsList]
482
+ # @return [TaskQueueCumulativeStatisticsContext]
483
+ def cumulative_statistics
484
+ TaskQueueCumulativeStatisticsContext.new(
485
+ @version,
486
+ @solution[:workspace_sid],
487
+ @solution[:sid]
488
+ )
489
+ end
490
+ ##
491
+ # Access the statistics
492
+ # @return [TaskQueueStatisticsList]
493
+ # @return [TaskQueueStatisticsContext]
494
+ def statistics
495
+ TaskQueueStatisticsContext.new(
496
+ @version,
497
+ @solution[:workspace_sid],
498
+ @solution[:sid]
499
+ )
500
+ end
501
+ ##
502
+ # Access the real_time_statistics
503
+ # @return [TaskQueueRealTimeStatisticsList]
504
+ # @return [TaskQueueRealTimeStatisticsContext]
505
+ def real_time_statistics
506
+ TaskQueueRealTimeStatisticsContext.new(
507
+ @version,
508
+ @solution[:workspace_sid],
509
+ @solution[:sid]
510
+ )
511
+ end
512
+
513
+ ##
514
+ # Provide a user friendly representation
515
+ def to_s
516
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
517
+ "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
518
+ end
519
+
520
+ ##
521
+ # Provide a detailed, user friendly representation
522
+ def inspect
523
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
524
+ "#<Twilio.Taskrouter.V1.TaskQueueContext #{context}>"
525
+ end
526
+ end
527
+
528
+ class TaskQueueInstanceMetadata < InstanceResourceMetadata
529
+ ##
530
+ # Initializes a new TaskQueueInstanceMetadata.
531
+ # @param [Version] version Version that contains the resource
532
+ # @param [}TaskQueueInstance] task_queue_instance The instance associated with the metadata.
533
+ # @param [Hash] headers Header object with response headers.
534
+ # @param [Integer] status_code The HTTP status code of the response.
535
+ # @return [TaskQueueInstanceMetadata] The initialized instance with metadata.
536
+ def initialize(version, task_queue_instance, headers, status_code)
537
+ super(version, headers, status_code)
538
+ @task_queue_instance = task_queue_instance
539
+ end
540
+
541
+ def task_queue
542
+ @task_queue_instance
543
+ end
544
+
545
+ def headers
546
+ @headers
547
+ end
548
+
549
+ def status_code
550
+ @status_code
551
+ end
552
+
553
+ def to_s
554
+ "<Twilio.Api.V2010.TaskQueueInstanceMetadata status=#{@status_code}>"
555
+ end
556
+ end
557
+
558
+ class TaskQueueListResponse < InstanceListResource
559
+ # @param [Array<TaskQueueInstance>] instance
560
+ # @param [Hash{String => Object}] headers
561
+ # @param [Integer] status_code
562
+ def initialize(version, payload, key)
563
+ @task_queue_instance = payload.body[key].map do |data|
564
+ TaskQueueInstance.new(version, data)
565
+ end
566
+ @headers = payload.headers
567
+ @status_code = payload.status_code
568
+ end
569
+
570
+ def task_queue_instance
571
+ @instance
572
+ end
573
+ end
574
+
575
+ class TaskQueuePage < Page
576
+ ##
577
+ # Initialize the TaskQueuePage
578
+ # @param [Version] version Version that contains the resource
579
+ # @param [Response] response Response from the API
580
+ # @param [Hash] solution Path solution for the resource
581
+ # @return [TaskQueuePage] TaskQueuePage
582
+ def initialize(version, response, solution)
583
+ super(version, response)
584
+
585
+
586
+ # Path Solution
587
+ @solution = solution
588
+ end
589
+
590
+ ##
591
+ # Build an instance of TaskQueueInstance
592
+ # @param [Hash] payload Payload response from the API
593
+ # @return [TaskQueueInstance] TaskQueueInstance
594
+ def get_instance(payload)
595
+ TaskQueueInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid])
596
+ end
597
+
598
+ ##
599
+ # Provide a user friendly representation
600
+ def to_s
601
+ '<Twilio.Taskrouter.V1.TaskQueuePage>'
602
+ end
603
+ end
604
+
605
+ class TaskQueuePageMetadata < PageMetadata
606
+ attr_reader :task_queue_page
607
+
608
+ def initialize(version, response, solution, limit)
609
+ super(version, response)
610
+ @task_queue_page = []
611
+ @limit = limit
612
+ key = get_key(response.body)
613
+ records = 0
614
+ while( limit != :unset && records < limit )
615
+ @task_queue_page << TaskQueueListResponse.new(version, @payload, key, limit - records)
616
+ @payload = self.next_page
617
+ break unless @payload
618
+ records += @payload.body[key].size
619
+ end
620
+ # Path Solution
621
+ @solution = solution
622
+ end
623
+
624
+ def each
625
+ @task_queue_page.each do |record|
626
+ yield record
627
+ end
628
+ end
629
+
630
+ def to_s
631
+ '<Twilio::REST::Taskrouter::V1PageMetadata>';
632
+ end
633
+ end
634
+ class TaskQueueListResponse < InstanceListResource
635
+
636
+ # @param [Array<TaskQueueInstance>] instance
637
+ # @param [Hash{String => Object}] headers
638
+ # @param [Integer] status_code
639
+ def initialize(version, payload, key, limit = :unset)
640
+ data_list = payload.body[key]
641
+ if limit != :unset
642
+ data_list = data_list[0, limit]
643
+ end
644
+ @task_queue = data_list.map do |data|
645
+ TaskQueueInstance.new(version, data)
646
+ end
647
+ @headers = payload.headers
648
+ @status_code = payload.status_code
649
+ end
650
+
651
+ def task_queue
652
+ @task_queue
653
+ end
654
+
655
+ def headers
656
+ @headers
657
+ end
658
+
659
+ def status_code
660
+ @status_code
661
+ end
662
+ end
663
+
664
+ class TaskQueueInstance < InstanceResource
665
+ ##
666
+ # Initialize the TaskQueueInstance
667
+ # @param [Version] version Version that contains the resource
668
+ # @param [Hash] payload payload that contains response from Twilio
669
+ # @param [String] account_sid The SID of the
670
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this TaskQueue
671
+ # resource.
672
+ # @param [String] sid The SID of the Call resource to fetch.
673
+ # @return [TaskQueueInstance] TaskQueueInstance
674
+ def initialize(version, payload , workspace_sid: nil, sid: nil)
675
+ super(version)
676
+
677
+
678
+ # Marshaled Properties
679
+ @properties = {
680
+ 'account_sid' => payload['account_sid'],
681
+ 'assignment_activity_sid' => payload['assignment_activity_sid'],
682
+ 'assignment_activity_name' => payload['assignment_activity_name'],
683
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
684
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
685
+ 'friendly_name' => payload['friendly_name'],
686
+ 'max_reserved_workers' => payload['max_reserved_workers'] == nil ? payload['max_reserved_workers'] : payload['max_reserved_workers'].to_i,
687
+ 'reservation_activity_sid' => payload['reservation_activity_sid'],
688
+ 'reservation_activity_name' => payload['reservation_activity_name'],
689
+ 'sid' => payload['sid'],
690
+ 'target_workers' => payload['target_workers'],
691
+ 'task_order' => payload['task_order'],
692
+ 'url' => payload['url'],
693
+ 'workspace_sid' => payload['workspace_sid'],
694
+ 'links' => payload['links'],
695
+ }
696
+
697
+ # Context
698
+ @instance_context = nil
699
+ @params = { 'workspace_sid' => workspace_sid || @properties['workspace_sid'] ,'sid' => sid || @properties['sid'] , }
700
+ end
701
+
702
+ ##
703
+ # Generate an instance context for the instance, the context is capable of
704
+ # performing various actions. All instance actions are proxied to the context
705
+ # @return [TaskQueueContext] CallContext for this CallInstance
706
+ def context
707
+ unless @instance_context
708
+ @instance_context = TaskQueueContext.new(@version , @params['workspace_sid'], @params['sid'])
709
+ end
710
+ @instance_context
711
+ end
712
+
713
+ ##
714
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the TaskQueue resource.
715
+ def account_sid
716
+ @properties['account_sid']
717
+ end
718
+
719
+ ##
720
+ # @return [String] The SID of the Activity to assign Workers when a task is assigned for them.
721
+ def assignment_activity_sid
722
+ @properties['assignment_activity_sid']
723
+ end
724
+
725
+ ##
726
+ # @return [String] The name of the Activity to assign Workers when a task is assigned for them.
727
+ def assignment_activity_name
728
+ @properties['assignment_activity_name']
729
+ end
730
+
731
+ ##
732
+ # @return [Time] The date and time in GMT when the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
733
+ def date_created
734
+ @properties['date_created']
735
+ end
736
+
737
+ ##
738
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
739
+ def date_updated
740
+ @properties['date_updated']
741
+ end
742
+
743
+ ##
744
+ # @return [String] The string that you assigned to describe the resource.
745
+ def friendly_name
746
+ @properties['friendly_name']
747
+ end
748
+
749
+ ##
750
+ # @return [String] The maximum number of Workers to reserve for the assignment of a task in the queue. Can be an integer between 1 and 50, inclusive and defaults to 1.
751
+ def max_reserved_workers
752
+ @properties['max_reserved_workers']
753
+ end
754
+
755
+ ##
756
+ # @return [String] The SID of the Activity to assign Workers once a task is reserved for them.
757
+ def reservation_activity_sid
758
+ @properties['reservation_activity_sid']
759
+ end
760
+
761
+ ##
762
+ # @return [String] The name of the Activity to assign Workers once a task is reserved for them.
763
+ def reservation_activity_name
764
+ @properties['reservation_activity_name']
765
+ end
766
+
767
+ ##
768
+ # @return [String] The unique string that we created to identify the TaskQueue resource.
769
+ def sid
770
+ @properties['sid']
771
+ end
772
+
773
+ ##
774
+ # @return [String] A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example `'\"language\" == \"spanish\"'` If no TargetWorkers parameter is provided, Tasks will wait in the TaskQueue until they are either deleted or moved to another TaskQueue. Additional examples on how to describing Worker selection criteria below. Defaults to 1==1.
775
+ def target_workers
776
+ @properties['target_workers']
777
+ end
778
+
779
+ ##
780
+ # @return [TaskOrder]
781
+ def task_order
782
+ @properties['task_order']
783
+ end
784
+
785
+ ##
786
+ # @return [String] The absolute URL of the TaskQueue resource.
787
+ def url
788
+ @properties['url']
789
+ end
790
+
791
+ ##
792
+ # @return [String] The SID of the Workspace that contains the TaskQueue.
793
+ def workspace_sid
794
+ @properties['workspace_sid']
795
+ end
796
+
797
+ ##
798
+ # @return [Hash] The URLs of related resources.
799
+ def links
800
+ @properties['links']
801
+ end
802
+
803
+ ##
804
+ # Delete the TaskQueueInstance
805
+ # @return [Boolean] True if delete succeeds, false otherwise
806
+ def delete
807
+
808
+ context.delete
809
+ end
810
+
811
+ ##
812
+ # Fetch the TaskQueueInstance
813
+ # @return [TaskQueueInstance] Fetched TaskQueueInstance
814
+ def fetch
815
+
816
+ context.fetch
817
+ end
818
+
819
+ ##
820
+ # Update the TaskQueueInstance
821
+ # @param [String] friendly_name A descriptive string that you create to describe the TaskQueue. For example `Support-Tier 1`, `Sales`, or `Escalation`.
822
+ # @param [String] target_workers A string describing the Worker selection criteria for any Tasks that enter the TaskQueue. For example '\\\"language\\\" == \\\"spanish\\\"' If no TargetWorkers parameter is provided, Tasks will wait in the queue until they are either deleted or moved to another queue. Additional examples on how to describing Worker selection criteria below.
823
+ # @param [String] reservation_activity_sid The SID of the Activity to assign Workers when a task is reserved for them.
824
+ # @param [String] assignment_activity_sid The SID of the Activity to assign Workers when a task is assigned for them.
825
+ # @param [String] max_reserved_workers The maximum number of Workers to create reservations for the assignment of a task while in the queue. Maximum of 50.
826
+ # @param [TaskOrder] task_order
827
+ # @return [TaskQueueInstance] Updated TaskQueueInstance
828
+ def update(
829
+ friendly_name: :unset,
830
+ target_workers: :unset,
831
+ reservation_activity_sid: :unset,
832
+ assignment_activity_sid: :unset,
833
+ max_reserved_workers: :unset,
834
+ task_order: :unset
835
+ )
836
+
837
+ context.update(
838
+ friendly_name: friendly_name,
839
+ target_workers: target_workers,
840
+ reservation_activity_sid: reservation_activity_sid,
841
+ assignment_activity_sid: assignment_activity_sid,
842
+ max_reserved_workers: max_reserved_workers,
843
+ task_order: task_order,
844
+ )
845
+ end
846
+
847
+ ##
848
+ # Access the cumulative_statistics
849
+ # @return [cumulative_statistics] cumulative_statistics
850
+ def cumulative_statistics
851
+ context.cumulative_statistics
852
+ end
853
+
854
+ ##
855
+ # Access the statistics
856
+ # @return [statistics] statistics
857
+ def statistics
858
+ context.statistics
859
+ end
860
+
861
+ ##
862
+ # Access the real_time_statistics
863
+ # @return [real_time_statistics] real_time_statistics
864
+ def real_time_statistics
865
+ context.real_time_statistics
866
+ end
867
+
868
+ ##
869
+ # Provide a user friendly representation
870
+ def to_s
871
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
872
+ "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
873
+ end
874
+
875
+ ##
876
+ # Provide a detailed, user friendly representation
877
+ def inspect
878
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
879
+ "<Twilio.Taskrouter.V1.TaskQueueInstance #{values}>"
880
+ end
881
+ end
882
+
883
+ end
573
884
  end
574
- end
575
885
  end
576
- end
577
886
  end
578
- end
579
- end
887
+ end
888
+
889
+