twilio-ruby 5.61.2 → 6.9.1

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