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