twilio-ruby 5.77.0 → 6.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. 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
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. 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
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,668 +1,627 @@
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'] == nil ? payload['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'] == nil ? payload['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'] == nil ? payload['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,
318
+ workspace_sid: @solution[:workspace_sid],
319
+ task_sid: @solution[:sid]
320
+
321
+ )
322
+ end
323
+
324
+ @reservations
325
+ end
326
+
327
+ ##
328
+ # Provide a user friendly representation
329
+ def to_s
330
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
331
+ "#<Twilio.Taskrouter.V1.TaskContext #{context}>"
332
+ end
333
+
334
+ ##
335
+ # Provide a detailed, user friendly representation
336
+ def inspect
337
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
338
+ "#<Twilio.Taskrouter.V1.TaskContext #{context}>"
339
+ end
340
+ end
341
+
342
+ class TaskPage < Page
343
+ ##
344
+ # Initialize the TaskPage
345
+ # @param [Version] version Version that contains the resource
346
+ # @param [Response] response Response from the API
347
+ # @param [Hash] solution Path solution for the resource
348
+ # @return [TaskPage] TaskPage
349
+ def initialize(version, response, solution)
350
+ super(version, response)
351
+
352
+ # Path Solution
353
+ @solution = solution
354
+ end
355
+
356
+ ##
357
+ # Build an instance of TaskInstance
358
+ # @param [Hash] payload Payload response from the API
359
+ # @return [TaskInstance] TaskInstance
360
+ def get_instance(payload)
361
+ TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid])
362
+ end
363
+
364
+ ##
365
+ # Provide a user friendly representation
366
+ def to_s
367
+ '<Twilio.Taskrouter.V1.TaskPage>'
368
+ end
369
+ end
370
+ class TaskInstance < InstanceResource
371
+ ##
372
+ # Initialize the TaskInstance
373
+ # @param [Version] version Version that contains the resource
374
+ # @param [Hash] payload payload that contains response from Twilio
375
+ # @param [String] account_sid The SID of the
376
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Task
377
+ # resource.
378
+ # @param [String] sid The SID of the Call resource to fetch.
379
+ # @return [TaskInstance] TaskInstance
380
+ def initialize(version, payload , workspace_sid: nil, sid: nil)
381
+ super(version)
382
+
383
+ # Marshaled Properties
384
+ @properties = {
385
+ 'account_sid' => payload['account_sid'],
386
+ 'age' => payload['age'] == nil ? payload['age'] : payload['age'].to_i,
387
+ 'assignment_status' => payload['assignment_status'],
388
+ 'attributes' => payload['attributes'],
389
+ 'addons' => payload['addons'],
390
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
391
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
392
+ 'task_queue_entered_date' => Twilio.deserialize_iso8601_datetime(payload['task_queue_entered_date']),
393
+ 'priority' => payload['priority'] == nil ? payload['priority'] : payload['priority'].to_i,
394
+ 'reason' => payload['reason'],
395
+ 'sid' => payload['sid'],
396
+ 'task_queue_sid' => payload['task_queue_sid'],
397
+ 'task_queue_friendly_name' => payload['task_queue_friendly_name'],
398
+ 'task_channel_sid' => payload['task_channel_sid'],
399
+ 'task_channel_unique_name' => payload['task_channel_unique_name'],
400
+ 'timeout' => payload['timeout'] == nil ? payload['timeout'] : payload['timeout'].to_i,
401
+ 'workflow_sid' => payload['workflow_sid'],
402
+ 'workflow_friendly_name' => payload['workflow_friendly_name'],
403
+ 'workspace_sid' => payload['workspace_sid'],
404
+ 'url' => payload['url'],
405
+ 'links' => payload['links'],
406
+ }
407
+
408
+ # Context
409
+ @instance_context = nil
410
+ @params = { 'workspace_sid' => workspace_sid || @properties['workspace_sid'] ,'sid' => sid || @properties['sid'] , }
411
+ end
412
+
413
+ ##
414
+ # Generate an instance context for the instance, the context is capable of
415
+ # performing various actions. All instance actions are proxied to the context
416
+ # @return [TaskContext] CallContext for this CallInstance
417
+ def context
418
+ unless @instance_context
419
+ @instance_context = TaskContext.new(@version , @params['workspace_sid'], @params['sid'])
420
+ end
421
+ @instance_context
422
+ end
423
+
424
+ ##
425
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Task resource.
426
+ def account_sid
427
+ @properties['account_sid']
428
+ end
429
+
430
+ ##
431
+ # @return [String] The number of seconds since the Task was created.
432
+ def age
433
+ @properties['age']
434
+ end
435
+
436
+ ##
437
+ # @return [Status]
438
+ def assignment_status
439
+ @properties['assignment_status']
440
+ end
441
+
442
+ ##
443
+ # @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.
444
+ def attributes
445
+ @properties['attributes']
446
+ end
447
+
448
+ ##
449
+ # @return [String] An object that contains the [addon](https://www.twilio.com/docs/taskrouter/marketplace) data for all installed addons.
450
+ def addons
451
+ @properties['addons']
452
+ end
453
+
454
+ ##
455
+ # @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.
456
+ def date_created
457
+ @properties['date_created']
458
+ end
459
+
460
+ ##
461
+ # @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.
462
+ def date_updated
463
+ @properties['date_updated']
464
+ end
465
+
466
+ ##
467
+ # @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.
468
+ def task_queue_entered_date
469
+ @properties['task_queue_entered_date']
470
+ end
471
+
472
+ ##
473
+ # @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.
474
+ def priority
475
+ @properties['priority']
476
+ end
477
+
478
+ ##
479
+ # @return [String] The reason the Task was canceled or completed, if applicable.
480
+ def reason
481
+ @properties['reason']
482
+ end
483
+
484
+ ##
485
+ # @return [String] The unique string that we created to identify the Task resource.
486
+ def sid
487
+ @properties['sid']
488
+ end
489
+
490
+ ##
491
+ # @return [String] The SID of the TaskQueue.
492
+ def task_queue_sid
493
+ @properties['task_queue_sid']
494
+ end
495
+
496
+ ##
497
+ # @return [String] The friendly name of the TaskQueue.
498
+ def task_queue_friendly_name
499
+ @properties['task_queue_friendly_name']
500
+ end
501
+
502
+ ##
503
+ # @return [String] The SID of the TaskChannel.
504
+ def task_channel_sid
505
+ @properties['task_channel_sid']
506
+ end
507
+
508
+ ##
509
+ # @return [String] The unique name of the TaskChannel.
510
+ def task_channel_unique_name
511
+ @properties['task_channel_unique_name']
512
+ end
513
+
514
+ ##
515
+ # @return [String] The amount of time in seconds that the Task can live before being assigned.
516
+ def timeout
517
+ @properties['timeout']
518
+ end
519
+
520
+ ##
521
+ # @return [String] The SID of the Workflow that is controlling the Task.
522
+ def workflow_sid
523
+ @properties['workflow_sid']
524
+ end
525
+
526
+ ##
527
+ # @return [String] The friendly name of the Workflow that is controlling the Task.
528
+ def workflow_friendly_name
529
+ @properties['workflow_friendly_name']
530
+ end
531
+
532
+ ##
533
+ # @return [String] The SID of the Workspace that contains the Task.
534
+ def workspace_sid
535
+ @properties['workspace_sid']
536
+ end
537
+
538
+ ##
539
+ # @return [String] The absolute URL of the Task resource.
540
+ def url
541
+ @properties['url']
542
+ end
543
+
544
+ ##
545
+ # @return [Hash] The URLs of related resources.
546
+ def links
547
+ @properties['links']
548
+ end
549
+
550
+ ##
551
+ # Delete the TaskInstance
552
+ # @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).
553
+ # @return [Boolean] True if delete succeeds, false otherwise
554
+ def delete(
555
+ if_match: :unset
556
+ )
557
+
558
+ context.delete(
559
+ if_match: if_match,
560
+ )
561
+ end
562
+
563
+ ##
564
+ # Fetch the TaskInstance
565
+ # @return [TaskInstance] Fetched TaskInstance
566
+ def fetch
567
+
568
+ context.fetch
569
+ end
570
+
571
+ ##
572
+ # Update the TaskInstance
573
+ # @param [String] attributes The JSON string that describes the custom attributes of the task.
574
+ # @param [Status] assignment_status
575
+ # @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.
576
+ # @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).
577
+ # @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`.
578
+ # @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).
579
+ # @return [TaskInstance] Updated TaskInstance
580
+ def update(
581
+ attributes: :unset,
582
+ assignment_status: :unset,
583
+ reason: :unset,
584
+ priority: :unset,
585
+ task_channel: :unset,
586
+ if_match: :unset
587
+ )
588
+
589
+ context.update(
590
+ attributes: attributes,
591
+ assignment_status: assignment_status,
592
+ reason: reason,
593
+ priority: priority,
594
+ task_channel: task_channel,
595
+ if_match: if_match,
596
+ )
597
+ end
598
+
599
+ ##
600
+ # Access the reservations
601
+ # @return [reservations] reservations
602
+ def reservations
603
+ context.reservations
604
+ end
605
+
606
+ ##
607
+ # Provide a user friendly representation
608
+ def to_s
609
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
610
+ "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
611
+ end
612
+
613
+ ##
614
+ # Provide a detailed, user friendly representation
615
+ def inspect
616
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
617
+ "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
618
+ end
619
+ end
620
+
621
+ end
662
622
  end
663
- end
664
623
  end
665
- end
666
624
  end
667
- end
668
- end
625
+ end
626
+
627
+