twilio-ruby 5.72.0 → 6.0.2

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