twilio-ruby 5.72.0 → 6.0.2

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