twilio-ruby 5.10.7 → 7.6.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 (1049) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/pr-lint.yml +21 -0
  5. data/.github/workflows/test-and-deploy.yml +147 -0
  6. data/.gitignore +11 -1
  7. data/.rubocop.yml +23 -6
  8. data/.rubocop_todo.yml +147 -73
  9. data/CHANGES.md +3392 -0
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +14 -10
  12. data/Dockerfile +4 -3
  13. data/Gemfile +5 -8
  14. data/ISSUE_TEMPLATE.md +17 -13
  15. data/{LICENSE.md → LICENSE} +2 -2
  16. data/Makefile +22 -22
  17. data/PULL_REQUEST_TEMPLATE.md +30 -3
  18. data/README.md +219 -57
  19. data/Rakefile +0 -54
  20. data/UPGRADE.md +21 -0
  21. data/VERSIONS.md +9 -10
  22. data/advanced-examples/custom-http-client.md +170 -0
  23. data/cluster/cluster_oauth_spec.rb +19 -0
  24. data/cluster/cluster_orgs_spec.rb +40 -0
  25. data/cluster/cluster_spec.rb +75 -0
  26. data/examples/examples.rb +1 -1
  27. data/examples/public_oauth.rb +13 -0
  28. data/githooks/pre-commit +0 -0
  29. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  30. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  31. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  32. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  33. data/lib/twilio-ruby/base/client_base.rb +131 -0
  34. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  35. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  36. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  37. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  38. data/lib/twilio-ruby/framework/request.rb +8 -1
  39. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -2
  40. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -15
  41. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +1 -0
  42. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  43. data/lib/twilio-ruby/http/client_token_manager.rb +28 -0
  44. data/lib/twilio-ruby/http/http_client.rb +53 -17
  45. data/lib/twilio-ruby/http/org_token_manager.rb +28 -0
  46. data/lib/twilio-ruby/http.rb +5 -0
  47. data/lib/twilio-ruby/jwt/access_token.rb +20 -61
  48. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  49. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  50. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +213 -0
  51. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +137 -0
  52. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +137 -0
  53. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +398 -334
  54. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +398 -341
  55. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +123 -114
  56. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +186 -0
  57. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +233 -0
  58. data/lib/twilio-ruby/rest/accounts/v1.rb +64 -29
  59. data/lib/twilio-ruby/rest/accounts.rb +10 -28
  60. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +375 -364
  62. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +584 -521
  63. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +642 -606
  64. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +324 -318
  65. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +398 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +398 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +398 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +398 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +398 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +398 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +398 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +442 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +150 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +213 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +411 -413
  76. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +335 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +521 -485
  78. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +885 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +885 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +318 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +170 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +250 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +973 -827
  84. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +686 -576
  85. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +472 -450
  86. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -477
  87. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +447 -399
  88. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +331 -346
  89. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +417 -420
  90. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +547 -503
  91. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +547 -503
  92. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +547 -503
  93. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +868 -865
  94. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +356 -304
  95. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +175 -162
  96. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -347
  97. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +645 -601
  98. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +165 -143
  99. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +165 -143
  100. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +411 -408
  101. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +389 -364
  102. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +357 -324
  103. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +453 -390
  104. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +204 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +386 -366
  106. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +383 -380
  107. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +379 -360
  108. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -478
  109. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +434 -410
  110. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +356 -312
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +402 -375
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +426 -383
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +366 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +366 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +366 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +127 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +360 -340
  120. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +360 -340
  121. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +677 -539
  122. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +439 -410
  123. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +426 -383
  124. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +143 -150
  125. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +179 -158
  126. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +379 -348
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -320
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -320
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -323
  130. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -320
  131. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -320
  132. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -320
  133. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -320
  134. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -320
  135. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -397
  136. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +512 -492
  137. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +114 -104
  138. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +180 -167
  139. data/lib/twilio-ruby/rest/api/v2010/account.rb +1002 -934
  140. data/lib/twilio-ruby/rest/api/v2010.rb +127 -144
  141. data/lib/twilio-ruby/rest/api.rb +62 -60
  142. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +371 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +371 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +311 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +206 -0
  147. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +687 -0
  148. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +232 -0
  149. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +213 -0
  150. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +629 -0
  151. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +267 -0
  152. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +267 -0
  153. data/lib/twilio-ruby/rest/assistants/v1/session.rb +335 -0
  154. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +605 -0
  155. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  156. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  157. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +316 -0
  159. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +315 -0
  160. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +289 -0
  161. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +261 -0
  162. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +266 -0
  163. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  164. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  165. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  166. data/lib/twilio-ruby/rest/chat/v1/credential.rb +446 -393
  167. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +395 -386
  168. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +449 -444
  169. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +465 -430
  170. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +561 -508
  171. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +423 -368
  172. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +249 -238
  173. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +492 -448
  174. data/lib/twilio-ruby/rest/chat/v1/service.rb +888 -914
  175. data/lib/twilio-ruby/rest/chat/v1.rb +58 -52
  176. data/lib/twilio-ruby/rest/chat/v2/credential.rb +446 -409
  177. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +386 -361
  178. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +395 -389
  179. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +510 -492
  180. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +537 -514
  181. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +467 -422
  182. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +630 -576
  183. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +423 -365
  184. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +379 -377
  185. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +428 -240
  186. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +534 -477
  187. data/lib/twilio-ruby/rest/chat/v2/service.rb +791 -740
  188. data/lib/twilio-ruby/rest/chat/v2.rb +58 -52
  189. data/lib/twilio-ruby/rest/chat/v3/channel.rb +303 -0
  190. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  191. data/lib/twilio-ruby/rest/chat.rb +12 -40
  192. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  193. data/lib/twilio-ruby/rest/client.rb +344 -400
  194. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +190 -0
  195. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +213 -0
  196. data/lib/twilio-ruby/rest/content/v1/content.rb +974 -0
  197. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +255 -0
  198. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +269 -0
  199. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  200. data/lib/twilio-ruby/rest/content/v2/content.rb +319 -0
  201. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +312 -0
  202. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  203. data/lib/twilio-ruby/rest/content.rb +15 -0
  204. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +508 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +294 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +300 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +567 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +528 -0
  211. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +458 -0
  212. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +653 -0
  213. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +263 -0
  214. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +461 -0
  215. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +316 -0
  216. data/lib/twilio-ruby/rest/conversations/v1/role.rb +420 -0
  217. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +385 -0
  218. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +347 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +293 -0
  220. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +327 -0
  221. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +366 -0
  222. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +580 -0
  223. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  224. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +471 -0
  225. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +662 -0
  226. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +269 -0
  227. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +321 -0
  228. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +429 -0
  229. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +477 -0
  230. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +514 -0
  231. data/lib/twilio-ruby/rest/conversations/v1/service.rb +525 -0
  232. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +472 -0
  233. data/lib/twilio-ruby/rest/conversations/v1/user.rb +505 -0
  234. data/lib/twilio-ruby/rest/conversations/v1.rb +142 -0
  235. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  236. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  237. data/lib/twilio-ruby/rest/events/v1/event_type.rb +336 -0
  238. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +309 -0
  239. data/lib/twilio-ruby/rest/events/v1/schema.rb +242 -0
  240. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +136 -0
  241. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +143 -0
  242. data/lib/twilio-ruby/rest/events/v1/sink.rb +470 -0
  243. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +398 -0
  244. data/lib/twilio-ruby/rest/events/v1/subscription.rb +452 -0
  245. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  246. data/lib/twilio-ruby/rest/events.rb +43 -0
  247. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +460 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +395 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +563 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +599 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +336 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +232 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +462 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +373 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +458 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +365 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +221 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +161 -0
  260. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +147 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +200 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +261 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +365 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +352 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +449 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +329 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +408 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +461 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +251 -0
  270. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +400 -0
  271. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +397 -0
  272. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +237 -0
  273. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +343 -0
  274. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +260 -0
  275. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +192 -0
  276. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +414 -0
  277. data/lib/twilio-ruby/rest/flex_api/v1.rb +320 -0
  278. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +339 -0
  279. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +155 -0
  280. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  281. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  282. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +286 -0
  284. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  285. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  286. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  287. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +280 -0
  288. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +226 -0
  289. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +181 -0
  290. data/lib/twilio-ruby/rest/iam/v1/token.rb +186 -0
  291. data/lib/twilio-ruby/rest/iam/v1.rb +67 -0
  292. data/lib/twilio-ruby/rest/iam.rb +6 -0
  293. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  294. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +330 -0
  295. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +357 -0
  296. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +280 -0
  297. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +272 -0
  298. data/lib/twilio-ruby/rest/insights/v1/call.rb +275 -0
  299. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +545 -0
  300. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +498 -0
  301. data/lib/twilio-ruby/rest/insights/v1/conference.rb +515 -0
  302. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +393 -0
  303. data/lib/twilio-ruby/rest/insights/v1/room.rb +508 -0
  304. data/lib/twilio-ruby/rest/insights/v1/setting.rb +267 -0
  305. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  306. data/lib/twilio-ruby/rest/insights.rb +46 -0
  307. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +464 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +363 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +223 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +201 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +365 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +363 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +534 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +231 -0
  316. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +403 -0
  317. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +265 -0
  318. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +538 -0
  319. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  320. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  321. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +446 -393
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +395 -386
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +449 -444
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +465 -430
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +561 -508
  327. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +423 -368
  328. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +249 -238
  329. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +492 -448
  330. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +888 -914
  331. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +58 -52
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +446 -409
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +386 -361
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +395 -389
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +510 -492
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +537 -514
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +467 -422
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +630 -576
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +423 -365
  340. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +379 -377
  341. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +420 -240
  342. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +534 -477
  343. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +791 -740
  344. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -52
  345. data/lib/twilio-ruby/rest/ip_messaging.rb +9 -49
  346. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  347. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +232 -0
  348. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +213 -0
  349. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +617 -0
  350. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  351. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  352. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  353. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +249 -231
  354. data/lib/twilio-ruby/rest/lookups/v1.rb +43 -37
  355. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +394 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  357. data/lib/twilio-ruby/rest/lookups.rb +5 -37
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +316 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +343 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +363 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +162 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +482 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +221 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +325 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +146 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +143 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +379 -0
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +524 -0
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +196 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +295 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +300 -0
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +243 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +171 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +223 -0
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +201 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +243 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +370 -338
  382. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +383 -0
  383. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +386 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +377 -342
  385. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +377 -337
  386. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +637 -0
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +142 -0
  388. data/lib/twilio-ruby/rest/messaging/v1/service.rb +819 -620
  389. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +820 -0
  390. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +130 -0
  391. data/lib/twilio-ruby/rest/messaging/v1.rb +203 -37
  392. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +492 -0
  393. data/lib/twilio-ruby/rest/messaging/v2.rb +49 -0
  394. data/lib/twilio-ruby/rest/messaging.rb +53 -25
  395. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  396. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +382 -0
  397. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +375 -0
  398. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +213 -0
  399. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +361 -0
  400. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +398 -0
  401. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +391 -0
  402. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +441 -0
  403. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  404. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  405. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  406. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +409 -409
  407. data/lib/twilio-ruby/rest/monitor/v1/event.rb +392 -365
  408. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -52
  409. data/lib/twilio-ruby/rest/monitor.rb +7 -36
  410. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/notify/v1/credential.rb +446 -408
  412. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +456 -447
  413. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +321 -361
  414. data/lib/twilio-ruby/rest/notify/v1/service.rb +651 -635
  415. data/lib/twilio-ruby/rest/notify/v1.rb +58 -52
  416. data/lib/twilio-ruby/rest/notify.rb +7 -36
  417. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +249 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +132 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +304 -0
  421. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +328 -0
  422. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +260 -0
  423. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +153 -0
  424. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +170 -0
  425. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +280 -0
  426. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +165 -0
  427. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +347 -0
  429. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +421 -0
  430. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +274 -0
  431. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +281 -0
  432. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +613 -0
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +295 -0
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +351 -0
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +364 -0
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +208 -0
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +637 -0
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +424 -0
  439. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +307 -0
  440. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +356 -0
  441. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +452 -0
  442. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +307 -0
  443. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +186 -0
  444. data/lib/twilio-ruby/rest/numbers/v2.rb +100 -0
  445. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  446. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  447. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +148 -0
  448. data/lib/twilio-ruby/rest/oauth/v1/token.rb +186 -0
  449. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  451. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +375 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +467 -452
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -636
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -54
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +310 -297
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +334 -313
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +357 -333
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +454 -412
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -54
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +402 -371
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +473 -409
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +241 -206
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +589 -529
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -67
  466. data/lib/twilio-ruby/rest/preview.rb +15 -143
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +148 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +186 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +309 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +375 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +530 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +277 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +308 -273
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +109 -118
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +301 -266
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +109 -118
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +308 -273
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +228 -197
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +123 -134
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +46 -43
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +309 -0
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +247 -0
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +314 -0
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +252 -0
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +130 -0
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  492. data/lib/twilio-ruby/rest/pricing.rb +24 -33
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +444 -357
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +421 -441
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +445 -449
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +440 -449
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +547 -528
  499. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +424 -339
  500. data/lib/twilio-ruby/rest/proxy/v1/service.rb +584 -535
  501. data/lib/twilio-ruby/rest/proxy/v1.rb +43 -37
  502. data/lib/twilio-ruby/rest/proxy.rb +4 -35
  503. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  504. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +281 -0
  505. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +281 -0
  506. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +281 -0
  507. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  508. data/lib/twilio-ruby/rest/routes.rb +32 -0
  509. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  511. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +443 -0
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +224 -0
  513. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +432 -0
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +364 -0
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +380 -0
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +438 -0
  517. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +481 -0
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +235 -0
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +361 -0
  520. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +443 -0
  521. data/lib/twilio-ruby/rest/serverless/v1/service.rb +557 -0
  522. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  523. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  524. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +214 -207
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +229 -226
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +379 -365
  528. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +443 -400
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +214 -207
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +229 -226
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +379 -370
  532. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +495 -404
  533. data/lib/twilio-ruby/rest/studio/v1/flow.rb +395 -365
  534. data/lib/twilio-ruby/rest/studio/v1.rb +43 -37
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +224 -0
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +235 -0
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +389 -0
  538. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +494 -0
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +358 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +245 -0
  541. data/lib/twilio-ruby/rest/studio/v2/flow.rb +555 -0
  542. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +146 -0
  543. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  544. data/lib/twilio-ruby/rest/studio.rb +11 -35
  545. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  546. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +417 -0
  547. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +502 -0
  548. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +422 -0
  549. data/lib/twilio-ruby/rest/supersim/v1/network.rb +320 -0
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +362 -0
  551. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +410 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +260 -0
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +253 -0
  554. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +211 -0
  555. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +490 -0
  556. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +382 -0
  557. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +317 -0
  558. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  559. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  560. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  561. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +397 -381
  562. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +482 -428
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +491 -443
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +397 -381
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +497 -442
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +494 -444
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +397 -381
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +497 -442
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +147 -142
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +446 -411
  571. data/lib/twilio-ruby/rest/sync/v1/service.rb +602 -514
  572. data/lib/twilio-ruby/rest/sync/v1.rb +43 -37
  573. data/lib/twilio-ruby/rest/sync.rb +4 -35
  574. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +432 -390
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +453 -419
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +721 -577
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +677 -621
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +436 -295
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +168 -0
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +367 -356
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +270 -229
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +238 -234
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +244 -268
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +601 -570
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +703 -575
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +406 -392
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +243 -231
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +289 -262
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +223 -186
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +259 -232
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +648 -606
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +367 -363
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +253 -226
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +238 -234
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +550 -510
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +361 -350
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +242 -200
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +249 -230
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +747 -719
  601. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -37
  602. data/lib/twilio-ruby/rest/taskrouter.rb +4 -35
  603. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +363 -322
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +363 -323
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +467 -429
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +496 -449
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +244 -0
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +650 -600
  610. data/lib/twilio-ruby/rest/trunking/v1.rb +43 -37
  611. data/lib/twilio-ruby/rest/trunking.rb +4 -36
  612. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +257 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +365 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +224 -0
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +384 -0
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +368 -0
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +356 -0
  619. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +568 -0
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +419 -0
  621. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +302 -0
  622. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +295 -0
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +433 -0
  624. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +302 -0
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +384 -0
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +368 -0
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +356 -0
  628. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +568 -0
  629. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  630. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  631. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  632. data/lib/twilio-ruby/rest/verify/v2/form.rb +208 -0
  633. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +246 -0
  634. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +292 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +530 -0
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +478 -0
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +276 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +449 -0
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +412 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +438 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +453 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +409 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +235 -0
  645. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +480 -0
  646. data/lib/twilio-ruby/rest/verify/v2/service.rb +843 -0
  647. data/lib/twilio-ruby/rest/verify/v2/template.rb +233 -0
  648. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +392 -0
  649. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +254 -0
  650. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  651. data/lib/twilio-ruby/rest/verify.rb +58 -0
  652. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  653. data/lib/twilio-ruby/rest/video/v1/composition.rb +498 -491
  654. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +561 -0
  655. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +295 -271
  656. data/lib/twilio-ruby/rest/video/v1/recording.rb +441 -387
  657. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +295 -271
  658. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +266 -0
  659. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +341 -0
  660. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +194 -0
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +348 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +514 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +183 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +437 -0
  665. data/lib/twilio-ruby/rest/video/v1/room.rb +635 -512
  666. data/lib/twilio-ruby/rest/video/v1.rb +100 -83
  667. data/lib/twilio-ruby/rest/video.rb +22 -40
  668. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  669. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +171 -0
  670. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +537 -0
  671. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +473 -0
  672. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +427 -0
  673. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +149 -0
  674. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +206 -0
  675. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +390 -0
  676. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +235 -0
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +131 -0
  678. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +413 -0
  679. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +396 -0
  680. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  681. data/lib/twilio-ruby/rest/voice.rb +61 -0
  682. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  683. data/lib/twilio-ruby/rest/wireless/v1/command.rb +429 -361
  684. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +493 -439
  685. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +303 -288
  686. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +244 -240
  687. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +655 -611
  688. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +238 -0
  689. data/lib/twilio-ruby/rest/wireless/v1.rb +79 -67
  690. data/lib/twilio-ruby/rest/wireless.rb +11 -34
  691. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  692. data/lib/twilio-ruby/rest.rb +14 -0
  693. data/lib/twilio-ruby/security/request_validator.rb +102 -8
  694. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  695. data/lib/twilio-ruby/twiml/messaging_response.rb +2 -2
  696. data/lib/twilio-ruby/twiml/twiml.rb +12 -1
  697. data/lib/twilio-ruby/twiml/voice_response.rb +1705 -81
  698. data/lib/twilio-ruby/util/configuration.rb +22 -5
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/lib/twilio-ruby.rb +9 -25
  701. data/sonar-project.properties +13 -0
  702. data/twilio-ruby.gemspec +15 -10
  703. metadata +542 -646
  704. data/.travis.yml +0 -31
  705. data/conf/cacert.pem +0 -3376
  706. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -509
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -398
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -506
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -398
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -398
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -506
  713. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -398
  714. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -459
  715. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -296
  716. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  717. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -315
  718. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -530
  719. data/lib/twilio-ruby/rest/fax/v1.rb +0 -43
  720. data/lib/twilio-ruby/rest/fax.rb +0 -46
  721. data/lib/twilio-ruby/rest/notify/v1/service/segment.rb +0 -225
  722. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -262
  723. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -438
  724. data/lib/twilio-ruby/rest/notify/v1/service/user.rb +0 -438
  725. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  726. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  727. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -388
  728. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  729. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -211
  730. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -203
  731. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -227
  732. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -392
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -375
  735. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -435
  736. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -386
  737. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -479
  738. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -44
  739. data/lib/twilio-ruby/rest/preview/proxy/service/phone_number.rb +0 -347
  740. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -437
  741. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -455
  742. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -514
  743. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -497
  744. data/lib/twilio-ruby/rest/preview/proxy/service/short_code.rb +0 -342
  745. data/lib/twilio-ruby/rest/preview/proxy/service.rb +0 -464
  746. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -43
  747. data/lib/twilio-ruby/rest/preview/studio/flow/engagement/step.rb +0 -350
  748. data/lib/twilio-ruby/rest/preview/studio/flow/engagement.rb +0 -372
  749. data/lib/twilio-ruby/rest/preview/studio/flow.rb +0 -355
  750. data/lib/twilio-ruby/rest/preview/studio.rb +0 -43
  751. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -390
  752. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -413
  753. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -421
  754. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -390
  755. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -411
  756. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -418
  757. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -390
  758. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -411
  759. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -472
  760. data/lib/twilio-ruby/rest/preview/sync.rb +0 -43
  761. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -392
  762. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -417
  763. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/field.rb +0 -379
  764. data/lib/twilio-ruby/rest/preview/understand/assistant/intent/sample.rb +0 -438
  765. data/lib/twilio-ruby/rest/preview/understand/assistant/intent.rb +0 -447
  766. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -390
  767. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -443
  768. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -562
  769. data/lib/twilio-ruby/rest/preview/understand.rb +0 -43
  770. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -388
  771. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -333
  772. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -313
  773. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -456
  774. data/spec/framework/request_spec.rb +0 -36
  775. data/spec/framework/serialize_spec.rb +0 -80
  776. data/spec/holodeck/holodeck.rb +0 -61
  777. data/spec/holodeck/hologram.rb +0 -4
  778. data/spec/http/http_client_spec.rb +0 -122
  779. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  780. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  781. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  782. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  783. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  784. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  785. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  786. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  787. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  788. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  789. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  790. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  791. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  792. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  793. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  794. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  795. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  796. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  797. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -291
  798. data/spec/integration/api/v2010/account/call_spec.rb +0 -314
  799. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -282
  800. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -240
  801. data/spec/integration/api/v2010/account/conference_spec.rb +0 -179
  802. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -179
  803. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  804. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  805. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  806. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  807. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  808. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  809. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  810. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  811. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  812. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  813. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  814. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  815. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  816. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  817. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -169
  818. data/spec/integration/api/v2010/account/queue_spec.rb +0 -242
  819. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  820. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  821. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  822. data/spec/integration/api/v2010/account/recording_spec.rb +0 -189
  823. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  824. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  825. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  826. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  827. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  828. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  829. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -287
  830. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  831. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  832. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  833. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  834. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  835. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  836. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  837. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  838. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  839. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  840. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  841. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  842. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  843. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  844. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  845. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  846. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  847. data/spec/integration/api/v2010/account_spec.rb +0 -272
  848. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  849. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  850. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  851. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  852. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  853. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  854. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  855. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  856. data/spec/integration/chat/v1/service_spec.rb +0 -299
  857. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  858. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  859. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  860. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -257
  861. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  862. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  863. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  864. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  865. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  866. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -94
  867. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  868. data/spec/integration/chat/v2/service_spec.rb +0 -354
  869. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  870. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  871. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  872. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  873. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  874. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  875. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  876. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  877. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  878. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  879. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  880. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  881. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  882. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  883. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -257
  884. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  885. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  886. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  887. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  888. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  889. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -94
  890. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  891. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  892. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -71
  893. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  894. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  895. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  896. data/spec/integration/messaging/v1/service_spec.rb +0 -263
  897. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  898. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  899. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  900. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  901. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  902. data/spec/integration/notify/v1/service/segment_spec.rb +0 -86
  903. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -118
  904. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -268
  905. data/spec/integration/notify/v1/service/user_spec.rb +0 -213
  906. data/spec/integration/notify/v1/service_spec.rb +0 -286
  907. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  908. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  909. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  910. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  911. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  912. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  913. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  914. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  915. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  916. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  917. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  918. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  919. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  920. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  921. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  922. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  923. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  924. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  925. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -173
  926. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -106
  927. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -166
  928. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -226
  929. data/spec/integration/preview/proxy/service/session_spec.rb +0 -218
  930. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -173
  931. data/spec/integration/preview/proxy/service_spec.rb +0 -202
  932. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -98
  933. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -145
  934. data/spec/integration/preview/studio/flow_spec.rb +0 -117
  935. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  936. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  937. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  938. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  939. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  940. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  941. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  942. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  943. data/spec/integration/preview/sync/service_spec.rb +0 -246
  944. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  945. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  946. data/spec/integration/preview/understand/assistant/intent/field_spec.rb +0 -207
  947. data/spec/integration/preview/understand/assistant/intent/sample_spec.rb +0 -253
  948. data/spec/integration/preview/understand/assistant/intent_spec.rb +0 -250
  949. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  950. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  951. data/spec/integration/preview/understand/assistant_spec.rb +0 -266
  952. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  953. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  954. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  955. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  956. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  957. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  958. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  959. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  960. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  961. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  962. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  963. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -184
  964. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  965. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  966. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -181
  967. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  968. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -182
  969. data/spec/integration/proxy/v1/service_spec.rb +0 -215
  970. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  971. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  972. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  973. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  974. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  975. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  976. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  977. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  978. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  979. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  980. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  981. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  982. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  983. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  984. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  985. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  986. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  987. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  988. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  989. data/spec/integration/sync/v1/service_spec.rb +0 -254
  990. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  991. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -159
  992. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -194
  993. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -129
  994. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  995. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -81
  996. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  997. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  998. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -298
  999. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  1000. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  1001. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  1002. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  1003. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  1004. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  1005. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  1006. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  1007. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  1008. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  1009. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  1010. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  1011. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  1012. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  1013. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  1014. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  1015. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  1016. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  1017. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  1018. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  1019. data/spec/integration/trunking/v1/trunk_spec.rb +0 -282
  1020. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  1021. data/spec/integration/video/v1/composition_spec.rb +0 -325
  1022. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  1023. data/spec/integration/video/v1/recording_spec.rb +0 -177
  1024. data/spec/integration/video/v1/room/recording_spec.rb +0 -186
  1025. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  1026. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -134
  1027. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  1028. data/spec/integration/video/v1/room_spec.rb +0 -257
  1029. data/spec/integration/wireless/v1/command_spec.rb +0 -166
  1030. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  1031. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -87
  1032. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  1033. data/spec/integration/wireless/v1/sim_spec.rb +0 -216
  1034. data/spec/jwt/access_token_spec.rb +0 -151
  1035. data/spec/jwt/client_capability_spec.rb +0 -104
  1036. data/spec/jwt/task_router_spec.rb +0 -172
  1037. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1038. data/spec/rest/client_spec.rb +0 -61
  1039. data/spec/security/request_validator_spec.rb +0 -113
  1040. data/spec/spec_helper.rb +0 -38
  1041. data/spec/support/fakeweb.rb +0 -2
  1042. data/spec/twilio_spec.rb +0 -15
  1043. data/spec/twiml/messaging_response_spec.rb +0 -235
  1044. data/spec/twiml/voice_response_spec.rb +0 -807
  1045. data/spec/util/configuration_spec.rb +0 -15
  1046. data/spec/util/url_encode_spec.rb +0 -12
  1047. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1048. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  1049. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -1,627 +1,683 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
- #
7
- # frozen_string_literal: true
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.
13
+ #
8
14
 
9
- module Twilio
10
- module REST
11
- class Taskrouter < Domain
12
- class V1 < Version
13
- class WorkspaceContext < InstanceContext
14
- class TaskList < ListResource
15
- ##
16
- # Initialize the TaskList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] workspace_sid The ID of the Workspace that holds this Task
19
- # @return [TaskList] TaskList
20
- def initialize(version, workspace_sid: nil)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {workspace_sid: workspace_sid}
25
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks"
26
- end
27
-
28
- ##
29
- # Lists TaskInstance records from the API as a list.
30
- # Unlike stream(), this operation is eager and will load `limit` records into
31
- # memory before returning.
32
- # @param [String] priority Retrieve the list of all Tasks in the workspace with
33
- # the specified priority.
34
- # @param [String] assignment_status Returns the list of all Tasks in the workspace
35
- # with the specified AssignmentStatus. Allowed AssignmentStatus values are
36
- # pending, reserved, assigned, canceled, and completed.
37
- # @param [String] workflow_sid Returns the list of Tasks that are being controlled
38
- # by the Workflow with the specified Sid value.
39
- # @param [String] workflow_name Returns the list of Tasks that are being
40
- # controlled by the Workflow with the specified FriendlyName value.
41
- # @param [String] task_queue_sid Returns the list of Tasks that are currently
42
- # waiting in the TaskQueue identified by the Sid specified.
43
- # @param [String] task_queue_name Returns the list of Tasks that are currently
44
- # waiting in the TaskQueue identified by the FriendlyName specified.
45
- # @param [String] evaluate_task_attributes Provide a task attributes expression,
46
- # and this will return tasks which match the attributes.
47
- # @param [String] ordering Use this parameter to control the order of the Tasks
48
- # returned. The value should be passed in `Attribute:Order` format, where
49
- # Attribute can be either `Priority` or `DateCreated` and Order can be either
50
- # `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered by Priority
51
- # in descending order. To sort the Tasks by Priority and DateCreated pass
52
- # `Priority:desc,DateCreated:asc`. By Default Tasks are returned sorted by
53
- # DateCreated in ascending order.
54
- # @param [Boolean] has_addons The has_addons
55
- # @param [Integer] limit Upper limit for the number of records to return. stream()
56
- # guarantees to never return more than limit. Default is no limit
57
- # @param [Integer] page_size Number of records to fetch per request, when
58
- # not set will use the default value of 50 records. If no page_size is defined
59
- # but a limit is defined, stream() will attempt to read the limit with the most
60
- # efficient page size, i.e. min(limit, 1000)
61
- # @return [Array] Array of up to limit results
62
- def list(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
63
- self.stream(
64
- priority: priority,
65
- assignment_status: assignment_status,
66
- workflow_sid: workflow_sid,
67
- workflow_name: workflow_name,
68
- task_queue_sid: task_queue_sid,
69
- task_queue_name: task_queue_name,
70
- evaluate_task_attributes: evaluate_task_attributes,
71
- ordering: ordering,
72
- has_addons: has_addons,
73
- limit: limit,
74
- page_size: page_size
75
- ).entries
76
- end
77
-
78
- ##
79
- # Streams TaskInstance records from the API as an Enumerable.
80
- # This operation lazily loads records as efficiently as possible until the limit
81
- # is reached.
82
- # @param [String] priority Retrieve the list of all Tasks in the workspace with
83
- # the specified priority.
84
- # @param [String] assignment_status Returns the list of all Tasks in the workspace
85
- # with the specified AssignmentStatus. Allowed AssignmentStatus values are
86
- # pending, reserved, assigned, canceled, and completed.
87
- # @param [String] workflow_sid Returns the list of Tasks that are being controlled
88
- # by the Workflow with the specified Sid value.
89
- # @param [String] workflow_name Returns the list of Tasks that are being
90
- # controlled by the Workflow with the specified FriendlyName value.
91
- # @param [String] task_queue_sid Returns the list of Tasks that are currently
92
- # waiting in the TaskQueue identified by the Sid specified.
93
- # @param [String] task_queue_name Returns the list of Tasks that are currently
94
- # waiting in the TaskQueue identified by the FriendlyName specified.
95
- # @param [String] evaluate_task_attributes Provide a task attributes expression,
96
- # and this will return tasks which match the attributes.
97
- # @param [String] ordering Use this parameter to control the order of the Tasks
98
- # returned. The value should be passed in `Attribute:Order` format, where
99
- # Attribute can be either `Priority` or `DateCreated` and Order can be either
100
- # `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered by Priority
101
- # in descending order. To sort the Tasks by Priority and DateCreated pass
102
- # `Priority:desc,DateCreated:asc`. By Default Tasks are returned sorted by
103
- # DateCreated in ascending order.
104
- # @param [Boolean] has_addons The has_addons
105
- # @param [Integer] limit Upper limit for the number of records to return. stream()
106
- # guarantees to never return more than limit. Default is no limit.
107
- # @param [Integer] page_size Number of records to fetch per request, when
108
- # not set will use the default value of 50 records. If no page_size is defined
109
- # but a limit is defined, stream() will attempt to read the limit with the most
110
- # efficient page size, i.e. min(limit, 1000)
111
- # @return [Enumerable] Enumerable that will yield up to limit results
112
- def stream(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
113
- limits = @version.read_limits(limit, page_size)
114
-
115
- page = self.page(
116
- priority: priority,
117
- assignment_status: assignment_status,
118
- workflow_sid: workflow_sid,
119
- workflow_name: workflow_name,
120
- task_queue_sid: task_queue_sid,
121
- task_queue_name: task_queue_name,
122
- evaluate_task_attributes: evaluate_task_attributes,
123
- ordering: ordering,
124
- has_addons: has_addons,
125
- page_size: limits[:page_size],
126
- )
127
-
128
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
129
- end
130
-
131
- ##
132
- # When passed a block, yields TaskInstance records from the API.
133
- # This operation lazily loads records as efficiently as possible until the limit
134
- # is reached.
135
- def each
136
- limits = @version.read_limits
137
-
138
- page = self.page(page_size: limits[:page_size], )
139
-
140
- @version.stream(page,
141
- limit: limits[:limit],
142
- page_limit: limits[:page_limit]).each {|x| yield x}
143
- end
144
-
145
- ##
146
- # Retrieve a single page of TaskInstance records from the API.
147
- # Request is executed immediately.
148
- # @param [String] priority Retrieve the list of all Tasks in the workspace with
149
- # the specified priority.
150
- # @param [String] assignment_status Returns the list of all Tasks in the workspace
151
- # with the specified AssignmentStatus. Allowed AssignmentStatus values are
152
- # pending, reserved, assigned, canceled, and completed.
153
- # @param [String] workflow_sid Returns the list of Tasks that are being controlled
154
- # by the Workflow with the specified Sid value.
155
- # @param [String] workflow_name Returns the list of Tasks that are being
156
- # controlled by the Workflow with the specified FriendlyName value.
157
- # @param [String] task_queue_sid Returns the list of Tasks that are currently
158
- # waiting in the TaskQueue identified by the Sid specified.
159
- # @param [String] task_queue_name Returns the list of Tasks that are currently
160
- # waiting in the TaskQueue identified by the FriendlyName specified.
161
- # @param [String] evaluate_task_attributes Provide a task attributes expression,
162
- # and this will return tasks which match the attributes.
163
- # @param [String] ordering Use this parameter to control the order of the Tasks
164
- # returned. The value should be passed in `Attribute:Order` format, where
165
- # Attribute can be either `Priority` or `DateCreated` and Order can be either
166
- # `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered by Priority
167
- # in descending order. To sort the Tasks by Priority and DateCreated pass
168
- # `Priority:desc,DateCreated:asc`. By Default Tasks are returned sorted by
169
- # DateCreated in ascending order.
170
- # @param [Boolean] has_addons The has_addons
171
- # @param [String] page_token PageToken provided by the API
172
- # @param [Integer] page_number Page Number, this value is simply for client state
173
- # @param [Integer] page_size Number of records to return, defaults to 50
174
- # @return [Page] Page of TaskInstance
175
- def page(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, ordering: :unset, has_addons: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
176
- params = Twilio::Values.of({
177
- 'Priority' => priority,
178
- 'AssignmentStatus' => Twilio.serialize_list(assignment_status) { |e| e },
179
- 'WorkflowSid' => workflow_sid,
180
- 'WorkflowName' => workflow_name,
181
- 'TaskQueueSid' => task_queue_sid,
182
- 'TaskQueueName' => task_queue_name,
183
- 'EvaluateTaskAttributes' => evaluate_task_attributes,
184
- 'Ordering' => ordering,
185
- 'HasAddons' => has_addons,
186
- 'PageToken' => page_token,
187
- 'Page' => page_number,
188
- 'PageSize' => page_size,
189
- })
190
- response = @version.page(
191
- 'GET',
192
- @uri,
193
- params
194
- )
195
- TaskPage.new(@version, response, @solution)
196
- end
197
-
198
- ##
199
- # Retrieve a single page of TaskInstance records from the API.
200
- # Request is executed immediately.
201
- # @param [String] target_url API-generated URL for the requested results page
202
- # @return [Page] Page of TaskInstance
203
- def get_page(target_url)
204
- response = @version.domain.request(
205
- 'GET',
206
- target_url
207
- )
208
- TaskPage.new(@version, response, @solution)
209
- end
210
-
211
- ##
212
- # Retrieve a single page of TaskInstance records from the API.
213
- # Request is executed immediately.
214
- # @param [String] timeout The amount of time in seconds the task is allowed to
215
- # live up to a maximum of 2 weeks. Defaults to 24 hours. On timeout,
216
- # `task.canceled` event will fire with description "Task TTL Exceeded".
217
- # @param [String] priority Override priority for the Task. When supplied, the Task
218
- # will take on the given priority unless it matches a Workflow Target with a
219
- # Priority set. When not supplied, the Task will take on the priority of the
220
- # matching Workflow Target.
221
- # @param [String] task_channel When MultiTasking is enabled specify the type of
222
- # the task by passing either TaskChannel Unique Name or Task Channel Sid. Default
223
- # value is "default"
224
- # @param [String] workflow_sid The WorkflowSid for the Workflow that you would
225
- # like to handle routing for this Task. If there is only one Workflow defined for
226
- # the Workspace that you are posting a task to, then this is an optional
227
- # parameter, and that single workflow will be used.
228
- # @param [String] attributes Url-encoded JSON string describing the attributes of
229
- # this task. This data will be passed back to the Workflow's AssignmentCallbackURL
230
- # when the Task is assigned to a Worker. An example task: `{ "task_type": "call",
231
- # "twilio_call_sid": "CAxxx", "customer_ticket_number": "12345" }`
232
- # @return [TaskInstance] Newly created TaskInstance
233
- def create(timeout: :unset, priority: :unset, task_channel: :unset, workflow_sid: :unset, attributes: :unset)
234
- data = Twilio::Values.of({
235
- 'Timeout' => timeout,
236
- 'Priority' => priority,
237
- 'TaskChannel' => task_channel,
238
- 'WorkflowSid' => workflow_sid,
239
- 'Attributes' => attributes,
240
- })
241
-
242
- payload = @version.create(
243
- 'POST',
244
- @uri,
245
- data: data
246
- )
247
-
248
- TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
249
- end
250
-
251
- ##
252
- # Provide a user friendly representation
253
- def to_s
254
- '#<Twilio.Taskrouter.V1.TaskList>'
255
- end
256
- end
257
-
258
- class TaskPage < Page
259
- ##
260
- # Initialize the TaskPage
261
- # @param [Version] version Version that contains the resource
262
- # @param [Response] response Response from the API
263
- # @param [Hash] solution Path solution for the resource
264
- # @return [TaskPage] TaskPage
265
- def initialize(version, response, solution)
266
- super(version, response)
267
-
268
- # Path Solution
269
- @solution = solution
270
- end
271
-
272
- ##
273
- # Build an instance of TaskInstance
274
- # @param [Hash] payload Payload response from the API
275
- # @return [TaskInstance] TaskInstance
276
- def get_instance(payload)
277
- TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], )
278
- end
279
-
280
- ##
281
- # Provide a user friendly representation
282
- def to_s
283
- '<Twilio.Taskrouter.V1.TaskPage>'
284
- end
285
- end
286
-
287
- class TaskContext < InstanceContext
288
- ##
289
- # Initialize the TaskContext
290
- # @param [Version] version Version that contains the resource
291
- # @param [String] workspace_sid The workspace_sid
292
- # @param [String] sid The sid
293
- # @return [TaskContext] TaskContext
294
- def initialize(version, workspace_sid, sid)
295
- super(version)
296
-
297
- # Path Solution
298
- @solution = {workspace_sid: workspace_sid, sid: sid, }
299
- @uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks/#{@solution[:sid]}"
300
-
301
- # Dependents
302
- @reservations = nil
303
- end
304
-
305
- ##
306
- # Fetch a TaskInstance
307
- # @return [TaskInstance] Fetched TaskInstance
308
- def fetch
309
- params = Twilio::Values.of({})
310
-
311
- payload = @version.fetch(
312
- 'GET',
313
- @uri,
314
- params,
315
- )
316
-
317
- TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], sid: @solution[:sid], )
318
- end
319
-
320
- ##
321
- # Update the TaskInstance
322
- # @param [String] attributes The user-defined JSON data describing the custom
323
- # attributes of this task.
324
- # @param [task.Status] assignment_status A 'pending' or 'reserved' Task may be
325
- # canceled by posting AssignmentStatus='canceled'. Post
326
- # AssignmentStatus='wrapping' to move Task to 'wrapup' state and
327
- # AssignmentStatus='completed' to move a Task to 'completed' state.
328
- # @param [String] reason This is only required if the Task is canceled or
329
- # completed. This logs the reason the task was either canceled or completed and
330
- # queues the task for deletion after 5 minutes.
331
- # @param [String] priority Override priority for the Task. When supplied, the Task
332
- # will take on the given priority unless it matches a Workflow Target with a
333
- # Priority set.
334
- # @param [String] task_channel The task_channel
335
- # @return [TaskInstance] Updated TaskInstance
336
- def update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset)
337
- data = Twilio::Values.of({
338
- 'Attributes' => attributes,
339
- 'AssignmentStatus' => assignment_status,
340
- 'Reason' => reason,
341
- 'Priority' => priority,
342
- 'TaskChannel' => task_channel,
343
- })
344
-
345
- payload = @version.update(
346
- 'POST',
347
- @uri,
348
- data: data,
349
- )
350
-
351
- TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid], sid: @solution[:sid], )
352
- end
353
-
354
- ##
355
- # Deletes the TaskInstance
356
- # @return [Boolean] true if delete succeeds, true otherwise
357
- def delete
358
- @version.delete('delete', @uri)
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
- task_sid: @solution[:sid],
377
- )
378
- end
379
-
380
- @reservations
381
- end
382
-
383
- ##
384
- # Provide a user friendly representation
385
- def to_s
386
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
387
- "#<Twilio.Taskrouter.V1.TaskContext #{context}>"
388
- end
389
- end
390
-
391
- class TaskInstance < InstanceResource
392
- ##
393
- # Initialize the TaskInstance
394
- # @param [Version] version Version that contains the resource
395
- # @param [Hash] payload payload that contains response from Twilio
396
- # @param [String] workspace_sid The ID of the Workspace that holds this Task
397
- # @param [String] sid The sid
398
- # @return [TaskInstance] TaskInstance
399
- def initialize(version, payload, workspace_sid: nil, sid: nil)
400
- super(version)
401
-
402
- # Marshaled Properties
403
- @properties = {
404
- 'account_sid' => payload['account_sid'],
405
- 'age' => payload['age'].to_i,
406
- 'assignment_status' => payload['assignment_status'],
407
- 'attributes' => payload['attributes'],
408
- 'addons' => payload['addons'],
409
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
410
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
411
- 'priority' => payload['priority'].to_i,
412
- 'reason' => payload['reason'],
413
- 'sid' => payload['sid'],
414
- 'task_queue_sid' => payload['task_queue_sid'],
415
- 'task_queue_friendly_name' => payload['task_queue_friendly_name'],
416
- 'task_channel_sid' => payload['task_channel_sid'],
417
- 'task_channel_unique_name' => payload['task_channel_unique_name'],
418
- 'timeout' => payload['timeout'].to_i,
419
- 'workflow_sid' => payload['workflow_sid'],
420
- 'workflow_friendly_name' => payload['workflow_friendly_name'],
421
- 'workspace_sid' => payload['workspace_sid'],
422
- 'url' => payload['url'],
423
- 'links' => payload['links'],
424
- }
425
-
426
- # Context
427
- @instance_context = nil
428
- @params = {'workspace_sid' => workspace_sid, 'sid' => sid || @properties['sid'], }
429
- end
430
-
431
- ##
432
- # Generate an instance context for the instance, the context is capable of
433
- # performing various actions. All instance actions are proxied to the context
434
- # @return [TaskContext] TaskContext for this TaskInstance
435
- def context
436
- unless @instance_context
437
- @instance_context = TaskContext.new(@version, @params['workspace_sid'], @params['sid'], )
438
- end
439
- @instance_context
440
- end
441
-
442
- ##
443
- # @return [String] The ID of the account that owns this Task
444
- def account_sid
445
- @properties['account_sid']
446
- end
447
-
448
- ##
449
- # @return [String] The number of seconds since this task was created.
450
- def age
451
- @properties['age']
452
- end
453
-
454
- ##
455
- # @return [task.Status] Returns the list of all Tasks in the workspace with the specified AssignmentStatus.
456
- def assignment_status
457
- @properties['assignment_status']
458
- end
459
-
460
- ##
461
- # @return [String] The user-defined JSON string describing the custom attributes of this work.
462
- def attributes
463
- @properties['attributes']
464
- end
465
-
466
- ##
467
- # @return [String] The addon data for all installed addons is returned with this attribute
468
- def addons
469
- @properties['addons']
470
- end
471
-
472
- ##
473
- # @return [Time] Date this task was created, given as ISO 8601 format.
474
- def date_created
475
- @properties['date_created']
476
- end
477
-
478
- ##
479
- # @return [Time] Date this task was updated, given as ISO 8601 format.
480
- def date_updated
481
- @properties['date_updated']
482
- end
483
-
484
- ##
485
- # @return [String] Retrieve the list of all Tasks in the workspace with the specified priority.
486
- def priority
487
- @properties['priority']
488
- end
489
-
490
- ##
491
- # @return [String] The reason the task was canceled or completed
492
- def reason
493
- @properties['reason']
494
- end
495
-
496
- ##
497
- # @return [String] The unique ID of the Task
498
- def sid
499
- @properties['sid']
500
- end
501
-
502
- ##
503
- # @return [String] Returns the list of Tasks that are currently waiting in the TaskQueue identified by the Sid specified.
504
- def task_queue_sid
505
- @properties['task_queue_sid']
506
- end
507
-
508
- ##
509
- # @return [String] The task_queue_friendly_name
510
- def task_queue_friendly_name
511
- @properties['task_queue_friendly_name']
512
- end
513
-
514
- ##
515
- # @return [String] The ID of the Task Channel
516
- def task_channel_sid
517
- @properties['task_channel_sid']
518
- end
519
-
520
- ##
521
- # @return [String] The unique name of the Task Channel
522
- def task_channel_unique_name
523
- @properties['task_channel_unique_name']
524
- end
525
-
526
- ##
527
- # @return [String] The amount of time in seconds the task is allowed to live
528
- def timeout
529
- @properties['timeout']
530
- end
531
15
 
532
- ##
533
- # @return [String] Returns the list of Tasks that are being controlled by the Workflow with the specified Sid value.
534
- def workflow_sid
535
- @properties['workflow_sid']
536
- end
537
-
538
- ##
539
- # @return [String] The workflow_friendly_name
540
- def workflow_friendly_name
541
- @properties['workflow_friendly_name']
542
- end
543
-
544
- ##
545
- # @return [String] The ID of the Workspace that holds this Task
546
- def workspace_sid
547
- @properties['workspace_sid']
548
- end
549
-
550
- ##
551
- # @return [String] The url
552
- def url
553
- @properties['url']
554
- end
555
-
556
- ##
557
- # @return [String] The links
558
- def links
559
- @properties['links']
560
- end
561
-
562
- ##
563
- # Fetch a TaskInstance
564
- # @return [TaskInstance] Fetched TaskInstance
565
- def fetch
566
- context.fetch
567
- end
568
-
569
- ##
570
- # Update the TaskInstance
571
- # @param [String] attributes The user-defined JSON data describing the custom
572
- # attributes of this task.
573
- # @param [task.Status] assignment_status A 'pending' or 'reserved' Task may be
574
- # canceled by posting AssignmentStatus='canceled'. Post
575
- # AssignmentStatus='wrapping' to move Task to 'wrapup' state and
576
- # AssignmentStatus='completed' to move a Task to 'completed' state.
577
- # @param [String] reason This is only required if the Task is canceled or
578
- # completed. This logs the reason the task was either canceled or completed and
579
- # queues the task for deletion after 5 minutes.
580
- # @param [String] priority Override priority for the Task. When supplied, the Task
581
- # will take on the given priority unless it matches a Workflow Target with a
582
- # Priority set.
583
- # @param [String] task_channel The task_channel
584
- # @return [TaskInstance] Updated TaskInstance
585
- def update(attributes: :unset, assignment_status: :unset, reason: :unset, priority: :unset, task_channel: :unset)
586
- context.update(
587
- attributes: attributes,
588
- assignment_status: assignment_status,
589
- reason: reason,
590
- priority: priority,
591
- task_channel: task_channel,
592
- )
593
- end
594
-
595
- ##
596
- # Deletes the TaskInstance
597
- # @return [Boolean] true if delete succeeds, true otherwise
598
- def delete
599
- context.delete
600
- end
601
-
602
- ##
603
- # Access the reservations
604
- # @return [reservations] reservations
605
- def reservations
606
- context.reservations
607
- end
608
-
609
- ##
610
- # Provide a user friendly representation
611
- def to_s
612
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
613
- "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
614
- end
615
-
616
- ##
617
- # Provide a detailed, user friendly representation
618
- def inspect
619
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
620
- "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Taskrouter < TaskrouterBase
19
+ class V1 < Version
20
+ class WorkspaceContext < InstanceContext
21
+
22
+ class TaskList < ListResource
23
+
24
+ ##
25
+ # Initialize the TaskList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [TaskList] TaskList
28
+ def initialize(version, workspace_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { workspace_sid: workspace_sid }
32
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks"
33
+
34
+ end
35
+ ##
36
+ # Create the TaskInstance
37
+ # @param [String] timeout The amount of time in seconds the new task can live before being assigned. Can be up to a maximum of 2 weeks (1,209,600 seconds). The default value is 24 hours (86,400 seconds). On timeout, the `task.canceled` event will fire with description `Task TTL Exceeded`.
38
+ # @param [String] priority The priority to assign the new task and override the default. When supplied, the new Task will have this priority unless it matches a Workflow Target with a Priority set. When not supplied, the new Task will have the priority of the matching Workflow Target. Value can be 0 to 2^31^ (2,147,483,647).
39
+ # @param [String] task_channel When MultiTasking is enabled, specify the TaskChannel by passing either its `unique_name` or `sid`. Default value is `default`.
40
+ # @param [String] workflow_sid The SID of the Workflow that you would like to handle routing for the new Task. If there is only one Workflow defined for the Workspace that you are posting the new task to, this parameter is optional.
41
+ # @param [String] attributes A URL-encoded JSON string with the attributes of the new task. This value is passed to the Workflow's `assignment_callback_url` when the Task is assigned to a Worker. For example: `{ \\\"task_type\\\": \\\"call\\\", \\\"twilio_call_sid\\\": \\\"CAxxx\\\", \\\"customer_ticket_number\\\": \\\"12345\\\" }`.
42
+ # @param [Time] virtual_start_time The virtual start time to assign the new task and override the default. When supplied, the new task will have this virtual start time. When not supplied, the new task will have the virtual start time equal to `date_created`. Value can't be in the future or before the year of 1900.
43
+ # @param [String] routing_target A SID of a Worker, Queue, or Workflow to route a Task to
44
+ # @param [String] ignore_capacity A boolean that indicates if the Task should respect a Worker's capacity and availability during assignment. This field can only be used when the `RoutingTarget` field is set to a Worker SID. By setting `IgnoreCapacity` to a value of `true`, `1`, or `yes`, the Task will be routed to the Worker without respecting their capacity and availability. Any other value will enforce the Worker's capacity and availability. The default value of `IgnoreCapacity` is `true` when the `RoutingTarget` is set to a Worker SID.
45
+ # @param [String] task_queue_sid The SID of the TaskQueue in which the Task belongs
46
+ # @return [TaskInstance] Created TaskInstance
47
+ def create(
48
+ timeout: :unset,
49
+ priority: :unset,
50
+ task_channel: :unset,
51
+ workflow_sid: :unset,
52
+ attributes: :unset,
53
+ virtual_start_time: :unset,
54
+ routing_target: :unset,
55
+ ignore_capacity: :unset,
56
+ task_queue_sid: :unset
57
+ )
58
+
59
+ data = Twilio::Values.of({
60
+ 'Timeout' => timeout,
61
+ 'Priority' => priority,
62
+ 'TaskChannel' => task_channel,
63
+ 'WorkflowSid' => workflow_sid,
64
+ 'Attributes' => attributes,
65
+ 'VirtualStartTime' => Twilio.serialize_iso8601_datetime(virtual_start_time),
66
+ 'RoutingTarget' => routing_target,
67
+ 'IgnoreCapacity' => ignore_capacity,
68
+ 'TaskQueueSid' => task_queue_sid,
69
+ })
70
+
71
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
72
+
73
+
74
+
75
+
76
+
77
+ payload = @version.create('POST', @uri, data: data, headers: headers)
78
+ TaskInstance.new(
79
+ @version,
80
+ payload,
81
+ workspace_sid: @solution[:workspace_sid],
82
+ )
83
+ end
84
+
85
+
86
+ ##
87
+ # Lists TaskInstance records from the API as a list.
88
+ # Unlike stream(), this operation is eager and will load `limit` records into
89
+ # memory before returning.
90
+ # @param [String] priority The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.
91
+ # @param [Array[String]] assignment_status The `assignment_status` of the Tasks you want to read. Can be: `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. Returns all Tasks in the Workspace with the specified `assignment_status`.
92
+ # @param [String] workflow_sid The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.
93
+ # @param [String] workflow_name The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.
94
+ # @param [String] task_queue_sid The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.
95
+ # @param [String] task_queue_name The `friendly_name` of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.
96
+ # @param [String] evaluate_task_attributes The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.
97
+ # @param [String] routing_target A SID of a Worker, Queue, or Workflow to route a Task to
98
+ # @param [String] ordering How to order the returned Task resources. By default, Tasks are sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, where `Attribute` can be either `DateCreated`, `Priority`, or `VirtualStartTime` and `Order` can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered in descending order of their Priority. Pairings of sort orders can be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, which returns the Tasks in descending Priority order and ascending DateCreated Order. The only ordering pairing not allowed is DateCreated and VirtualStartTime.
99
+ # @param [Boolean] has_addons Whether to read Tasks with Add-ons. If `true`, returns only Tasks with Add-ons. If `false`, returns only Tasks without Add-ons.
100
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
101
+ # guarantees to never return more than limit. Default is no limit
102
+ # @param [Integer] page_size Number of records to fetch per request, when
103
+ # not set will use the default value of 50 records. If no page_size is defined
104
+ # but a limit is defined, stream() will attempt to read the limit with the most
105
+ # efficient page size, i.e. min(limit, 1000)
106
+ # @return [Array] Array of up to limit results
107
+ def list(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, routing_target: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
108
+ self.stream(
109
+ priority: priority,
110
+ assignment_status: assignment_status,
111
+ workflow_sid: workflow_sid,
112
+ workflow_name: workflow_name,
113
+ task_queue_sid: task_queue_sid,
114
+ task_queue_name: task_queue_name,
115
+ evaluate_task_attributes: evaluate_task_attributes,
116
+ routing_target: routing_target,
117
+ ordering: ordering,
118
+ has_addons: has_addons,
119
+ limit: limit,
120
+ page_size: page_size
121
+ ).entries
122
+ end
123
+
124
+ ##
125
+ # Streams Instance records from the API as an Enumerable.
126
+ # This operation lazily loads records as efficiently as possible until the limit
127
+ # is reached.
128
+ # @param [String] priority The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.
129
+ # @param [Array[String]] assignment_status The `assignment_status` of the Tasks you want to read. Can be: `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. Returns all Tasks in the Workspace with the specified `assignment_status`.
130
+ # @param [String] workflow_sid The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.
131
+ # @param [String] workflow_name The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.
132
+ # @param [String] task_queue_sid The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.
133
+ # @param [String] task_queue_name The `friendly_name` of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.
134
+ # @param [String] evaluate_task_attributes The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.
135
+ # @param [String] routing_target A SID of a Worker, Queue, or Workflow to route a Task to
136
+ # @param [String] ordering How to order the returned Task resources. By default, Tasks are sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, where `Attribute` can be either `DateCreated`, `Priority`, or `VirtualStartTime` and `Order` can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered in descending order of their Priority. Pairings of sort orders can be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, which returns the Tasks in descending Priority order and ascending DateCreated Order. The only ordering pairing not allowed is DateCreated and VirtualStartTime.
137
+ # @param [Boolean] has_addons Whether to read Tasks with Add-ons. If `true`, returns only Tasks with Add-ons. If `false`, returns only Tasks without Add-ons.
138
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
139
+ # guarantees to never return more than limit. Default is no limit
140
+ # @param [Integer] page_size Number of records to fetch per request, when
141
+ # not set will use the default value of 50 records. If no page_size is defined
142
+ # but a limit is defined, stream() will attempt to read the limit with the most
143
+ # efficient page size, i.e. min(limit, 1000)
144
+ # @return [Enumerable] Enumerable that will yield up to limit results
145
+ def stream(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, routing_target: :unset, ordering: :unset, has_addons: :unset, limit: nil, page_size: nil)
146
+ limits = @version.read_limits(limit, page_size)
147
+
148
+ page = self.page(
149
+ priority: priority,
150
+ assignment_status: assignment_status,
151
+ workflow_sid: workflow_sid,
152
+ workflow_name: workflow_name,
153
+ task_queue_sid: task_queue_sid,
154
+ task_queue_name: task_queue_name,
155
+ evaluate_task_attributes: evaluate_task_attributes,
156
+ routing_target: routing_target,
157
+ ordering: ordering,
158
+ has_addons: has_addons,
159
+ page_size: limits[:page_size], )
160
+
161
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
162
+ end
163
+
164
+ ##
165
+ # When passed a block, yields TaskInstance records from the API.
166
+ # This operation lazily loads records as efficiently as possible until the limit
167
+ # is reached.
168
+ def each
169
+ limits = @version.read_limits
170
+
171
+ page = self.page(page_size: limits[:page_size], )
172
+
173
+ @version.stream(page,
174
+ limit: limits[:limit],
175
+ page_limit: limits[:page_limit]).each {|x| yield x}
176
+ end
177
+
178
+ ##
179
+ # Retrieve a single page of TaskInstance records from the API.
180
+ # Request is executed immediately.
181
+ # @param [String] priority The priority value of the Tasks to read. Returns the list of all Tasks in the Workspace with the specified priority.
182
+ # @param [Array[String]] assignment_status The `assignment_status` of the Tasks you want to read. Can be: `pending`, `reserved`, `assigned`, `canceled`, `wrapping`, or `completed`. Returns all Tasks in the Workspace with the specified `assignment_status`.
183
+ # @param [String] workflow_sid The SID of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this SID.
184
+ # @param [String] workflow_name The friendly name of the Workflow with the Tasks to read. Returns the Tasks controlled by the Workflow identified by this friendly name.
185
+ # @param [String] task_queue_sid The SID of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this SID.
186
+ # @param [String] task_queue_name The `friendly_name` of the TaskQueue with the Tasks to read. Returns the Tasks waiting in the TaskQueue identified by this friendly name.
187
+ # @param [String] evaluate_task_attributes The attributes of the Tasks to read. Returns the Tasks that match the attributes specified in this parameter.
188
+ # @param [String] routing_target A SID of a Worker, Queue, or Workflow to route a Task to
189
+ # @param [String] ordering How to order the returned Task resources. By default, Tasks are sorted by ascending DateCreated. This value is specified as: `Attribute:Order`, where `Attribute` can be either `DateCreated`, `Priority`, or `VirtualStartTime` and `Order` can be either `asc` or `desc`. For example, `Priority:desc` returns Tasks ordered in descending order of their Priority. Pairings of sort orders can be specified in a comma-separated list such as `Priority:desc,DateCreated:asc`, which returns the Tasks in descending Priority order and ascending DateCreated Order. The only ordering pairing not allowed is DateCreated and VirtualStartTime.
190
+ # @param [Boolean] has_addons Whether to read Tasks with Add-ons. If `true`, returns only Tasks with Add-ons. If `false`, returns only Tasks without Add-ons.
191
+ # @param [String] page_token PageToken provided by the API
192
+ # @param [Integer] page_number Page Number, this value is simply for client state
193
+ # @param [Integer] page_size Number of records to return, defaults to 50
194
+ # @return [Page] Page of TaskInstance
195
+ def page(priority: :unset, assignment_status: :unset, workflow_sid: :unset, workflow_name: :unset, task_queue_sid: :unset, task_queue_name: :unset, evaluate_task_attributes: :unset, routing_target: :unset, ordering: :unset, has_addons: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
196
+ params = Twilio::Values.of({
197
+ 'Priority' => priority,
198
+
199
+ 'AssignmentStatus' => Twilio.serialize_list(assignment_status) { |e| e },
200
+ 'WorkflowSid' => workflow_sid,
201
+ 'WorkflowName' => workflow_name,
202
+ 'TaskQueueSid' => task_queue_sid,
203
+ 'TaskQueueName' => task_queue_name,
204
+ 'EvaluateTaskAttributes' => evaluate_task_attributes,
205
+ 'RoutingTarget' => routing_target,
206
+ 'Ordering' => ordering,
207
+ 'HasAddons' => has_addons,
208
+ 'PageToken' => page_token,
209
+ 'Page' => page_number,
210
+ 'PageSize' => page_size,
211
+ })
212
+ headers = Twilio::Values.of({})
213
+
214
+
215
+
216
+ response = @version.page('GET', @uri, params: params, headers: headers)
217
+
218
+ TaskPage.new(@version, response, @solution)
219
+ end
220
+
221
+ ##
222
+ # Retrieve a single page of TaskInstance records from the API.
223
+ # Request is executed immediately.
224
+ # @param [String] target_url API-generated URL for the requested results page
225
+ # @return [Page] Page of TaskInstance
226
+ def get_page(target_url)
227
+ response = @version.domain.request(
228
+ 'GET',
229
+ target_url
230
+ )
231
+ TaskPage.new(@version, response, @solution)
232
+ end
233
+
234
+
235
+
236
+ # Provide a user friendly representation
237
+ def to_s
238
+ '#<Twilio.Taskrouter.V1.TaskList>'
239
+ end
240
+ end
241
+
242
+
243
+ class TaskContext < InstanceContext
244
+ ##
245
+ # Initialize the TaskContext
246
+ # @param [Version] version Version that contains the resource
247
+ # @param [String] workspace_sid The SID of the Workspace with the Task to update.
248
+ # @param [String] sid The SID of the Task resource to update.
249
+ # @return [TaskContext] TaskContext
250
+ def initialize(version, workspace_sid, sid)
251
+ super(version)
252
+
253
+ # Path Solution
254
+ @solution = { workspace_sid: workspace_sid, sid: sid, }
255
+ @uri = "/Workspaces/#{@solution[:workspace_sid]}/Tasks/#{@solution[:sid]}"
256
+
257
+ # Dependents
258
+ @reservations = nil
259
+ end
260
+ ##
261
+ # Delete the TaskInstance
262
+ # @param [String] if_match If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).
263
+ # @return [Boolean] True if delete succeeds, false otherwise
264
+ def delete(
265
+ if_match: :unset
266
+ )
267
+
268
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
269
+
270
+
271
+
272
+ @version.delete('DELETE', @uri, headers: headers)
273
+ end
274
+
275
+ ##
276
+ # Fetch the TaskInstance
277
+ # @return [TaskInstance] Fetched TaskInstance
278
+ def fetch
279
+
280
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
281
+
282
+
283
+
284
+
285
+
286
+ payload = @version.fetch('GET', @uri, headers: headers)
287
+ TaskInstance.new(
288
+ @version,
289
+ payload,
290
+ workspace_sid: @solution[:workspace_sid],
291
+ sid: @solution[:sid],
292
+ )
293
+ end
294
+
295
+ ##
296
+ # Update the TaskInstance
297
+ # @param [String] attributes The JSON string that describes the custom attributes of the task.
298
+ # @param [Status] assignment_status
299
+ # @param [String] reason The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason.
300
+ # @param [String] priority The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set. Value can be 0 to 2^31^ (2,147,483,647).
301
+ # @param [String] task_channel When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.
302
+ # @param [Time] virtual_start_time The task's new virtual start time value. When supplied, the Task takes on the specified virtual start time. Value can't be in the future or before the year of 1900.
303
+ # @param [String] if_match If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).
304
+ # @return [TaskInstance] Updated TaskInstance
305
+ def update(
306
+ attributes: :unset,
307
+ assignment_status: :unset,
308
+ reason: :unset,
309
+ priority: :unset,
310
+ task_channel: :unset,
311
+ virtual_start_time: :unset,
312
+ if_match: :unset
313
+ )
314
+
315
+ data = Twilio::Values.of({
316
+ 'Attributes' => attributes,
317
+ 'AssignmentStatus' => assignment_status,
318
+ 'Reason' => reason,
319
+ 'Priority' => priority,
320
+ 'TaskChannel' => task_channel,
321
+ 'VirtualStartTime' => Twilio.serialize_iso8601_datetime(virtual_start_time),
322
+ })
323
+
324
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
325
+
326
+
327
+
328
+
329
+
330
+ payload = @version.update('POST', @uri, data: data, headers: headers)
331
+ TaskInstance.new(
332
+ @version,
333
+ payload,
334
+ workspace_sid: @solution[:workspace_sid],
335
+ sid: @solution[:sid],
336
+ )
337
+ end
338
+
339
+ ##
340
+ # Access the reservations
341
+ # @return [ReservationList]
342
+ # @return [ReservationContext] if sid was passed.
343
+ def reservations(sid=:unset)
344
+
345
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
346
+
347
+ if sid != :unset
348
+ return ReservationContext.new(@version, @solution[:workspace_sid], @solution[:sid],sid )
349
+ end
350
+
351
+ unless @reservations
352
+ @reservations = ReservationList.new(
353
+ @version, workspace_sid: @solution[:workspace_sid], task_sid: @solution[:sid], )
354
+ end
355
+
356
+ @reservations
357
+ end
358
+
359
+ ##
360
+ # Provide a user friendly representation
361
+ def to_s
362
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
363
+ "#<Twilio.Taskrouter.V1.TaskContext #{context}>"
364
+ end
365
+
366
+ ##
367
+ # Provide a detailed, user friendly representation
368
+ def inspect
369
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
370
+ "#<Twilio.Taskrouter.V1.TaskContext #{context}>"
371
+ end
372
+ end
373
+
374
+ class TaskPage < Page
375
+ ##
376
+ # Initialize the TaskPage
377
+ # @param [Version] version Version that contains the resource
378
+ # @param [Response] response Response from the API
379
+ # @param [Hash] solution Path solution for the resource
380
+ # @return [TaskPage] TaskPage
381
+ def initialize(version, response, solution)
382
+ super(version, response)
383
+
384
+ # Path Solution
385
+ @solution = solution
386
+ end
387
+
388
+ ##
389
+ # Build an instance of TaskInstance
390
+ # @param [Hash] payload Payload response from the API
391
+ # @return [TaskInstance] TaskInstance
392
+ def get_instance(payload)
393
+ TaskInstance.new(@version, payload, workspace_sid: @solution[:workspace_sid])
394
+ end
395
+
396
+ ##
397
+ # Provide a user friendly representation
398
+ def to_s
399
+ '<Twilio.Taskrouter.V1.TaskPage>'
400
+ end
401
+ end
402
+ class TaskInstance < InstanceResource
403
+ ##
404
+ # Initialize the TaskInstance
405
+ # @param [Version] version Version that contains the resource
406
+ # @param [Hash] payload payload that contains response from Twilio
407
+ # @param [String] account_sid The SID of the
408
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Task
409
+ # resource.
410
+ # @param [String] sid The SID of the Call resource to fetch.
411
+ # @return [TaskInstance] TaskInstance
412
+ def initialize(version, payload , workspace_sid: nil, sid: nil)
413
+ super(version)
414
+
415
+ # Marshaled Properties
416
+ @properties = {
417
+ 'account_sid' => payload['account_sid'],
418
+ 'age' => payload['age'] == nil ? payload['age'] : payload['age'].to_i,
419
+ 'assignment_status' => payload['assignment_status'],
420
+ 'attributes' => payload['attributes'],
421
+ 'addons' => payload['addons'],
422
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
423
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
424
+ 'task_queue_entered_date' => Twilio.deserialize_iso8601_datetime(payload['task_queue_entered_date']),
425
+ 'priority' => payload['priority'] == nil ? payload['priority'] : payload['priority'].to_i,
426
+ 'reason' => payload['reason'],
427
+ 'sid' => payload['sid'],
428
+ 'task_queue_sid' => payload['task_queue_sid'],
429
+ 'task_queue_friendly_name' => payload['task_queue_friendly_name'],
430
+ 'task_channel_sid' => payload['task_channel_sid'],
431
+ 'task_channel_unique_name' => payload['task_channel_unique_name'],
432
+ 'timeout' => payload['timeout'] == nil ? payload['timeout'] : payload['timeout'].to_i,
433
+ 'workflow_sid' => payload['workflow_sid'],
434
+ 'workflow_friendly_name' => payload['workflow_friendly_name'],
435
+ 'workspace_sid' => payload['workspace_sid'],
436
+ 'url' => payload['url'],
437
+ 'links' => payload['links'],
438
+ 'virtual_start_time' => Twilio.deserialize_iso8601_datetime(payload['virtual_start_time']),
439
+ 'ignore_capacity' => payload['ignore_capacity'],
440
+ 'routing_target' => payload['routing_target'],
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 [TaskContext] CallContext for this CallInstance
452
+ def context
453
+ unless @instance_context
454
+ @instance_context = TaskContext.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 Task resource.
461
+ def account_sid
462
+ @properties['account_sid']
463
+ end
464
+
465
+ ##
466
+ # @return [String] The number of seconds since the Task was created.
467
+ def age
468
+ @properties['age']
469
+ end
470
+
471
+ ##
472
+ # @return [Status]
473
+ def assignment_status
474
+ @properties['assignment_status']
475
+ end
476
+
477
+ ##
478
+ # @return [String] The JSON string with custom attributes of the work. **Note** If this property has been assigned a value, it will only be displayed in FETCH action that returns a single resource. Otherwise, it will be null.
479
+ def attributes
480
+ @properties['attributes']
481
+ end
482
+
483
+ ##
484
+ # @return [String] An object that contains the [Add-on](https://www.twilio.com/docs/add-ons) data for all installed Add-ons.
485
+ def addons
486
+ @properties['addons']
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 when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
497
+ def date_updated
498
+ @properties['date_updated']
499
+ end
500
+
501
+ ##
502
+ # @return [Time] The date and time in GMT when the Task entered the TaskQueue, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
503
+ def task_queue_entered_date
504
+ @properties['task_queue_entered_date']
505
+ end
506
+
507
+ ##
508
+ # @return [String] The current priority score of the Task as assigned to a Worker by the workflow. Tasks with higher priority values will be assigned before Tasks with lower values.
509
+ def priority
510
+ @properties['priority']
511
+ end
512
+
513
+ ##
514
+ # @return [String] The reason the Task was canceled or completed, if applicable.
515
+ def reason
516
+ @properties['reason']
517
+ end
518
+
519
+ ##
520
+ # @return [String] The unique string that we created to identify the Task resource.
521
+ def sid
522
+ @properties['sid']
523
+ end
524
+
525
+ ##
526
+ # @return [String] The SID of the TaskQueue.
527
+ def task_queue_sid
528
+ @properties['task_queue_sid']
529
+ end
530
+
531
+ ##
532
+ # @return [String] The friendly name of the TaskQueue.
533
+ def task_queue_friendly_name
534
+ @properties['task_queue_friendly_name']
535
+ end
536
+
537
+ ##
538
+ # @return [String] The SID of the TaskChannel.
539
+ def task_channel_sid
540
+ @properties['task_channel_sid']
541
+ end
542
+
543
+ ##
544
+ # @return [String] The unique name of the TaskChannel.
545
+ def task_channel_unique_name
546
+ @properties['task_channel_unique_name']
547
+ end
548
+
549
+ ##
550
+ # @return [String] The amount of time in seconds that the Task can live before being assigned.
551
+ def timeout
552
+ @properties['timeout']
553
+ end
554
+
555
+ ##
556
+ # @return [String] The SID of the Workflow that is controlling the Task.
557
+ def workflow_sid
558
+ @properties['workflow_sid']
559
+ end
560
+
561
+ ##
562
+ # @return [String] The friendly name of the Workflow that is controlling the Task.
563
+ def workflow_friendly_name
564
+ @properties['workflow_friendly_name']
565
+ end
566
+
567
+ ##
568
+ # @return [String] The SID of the Workspace that contains the Task.
569
+ def workspace_sid
570
+ @properties['workspace_sid']
571
+ end
572
+
573
+ ##
574
+ # @return [String] The absolute URL of the Task resource.
575
+ def url
576
+ @properties['url']
577
+ end
578
+
579
+ ##
580
+ # @return [Hash] The URLs of related resources.
581
+ def links
582
+ @properties['links']
583
+ end
584
+
585
+ ##
586
+ # @return [Time] The date and time in GMT indicating the ordering for routing of the Task specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
587
+ def virtual_start_time
588
+ @properties['virtual_start_time']
589
+ end
590
+
591
+ ##
592
+ # @return [Boolean] A boolean that indicates if the Task should respect a Worker's capacity and availability during assignment. This field can only be used when the `RoutingTarget` field is set to a Worker SID. By setting `IgnoreCapacity` to a value of `true`, `1`, or `yes`, the Task will be routed to the Worker without respecting their capacity and availability. Any other value will enforce the Worker's capacity and availability. The default value of `IgnoreCapacity` is `true` when the `RoutingTarget` is set to a Worker SID.
593
+ def ignore_capacity
594
+ @properties['ignore_capacity']
595
+ end
596
+
597
+ ##
598
+ # @return [String] A SID of a Worker, Queue, or Workflow to route a Task to
599
+ def routing_target
600
+ @properties['routing_target']
601
+ end
602
+
603
+ ##
604
+ # Delete the TaskInstance
605
+ # @param [String] if_match If provided, deletes this Task if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).
606
+ # @return [Boolean] True if delete succeeds, false otherwise
607
+ def delete(
608
+ if_match: :unset
609
+ )
610
+
611
+ context.delete(
612
+ if_match: if_match,
613
+ )
614
+ end
615
+
616
+ ##
617
+ # Fetch the TaskInstance
618
+ # @return [TaskInstance] Fetched TaskInstance
619
+ def fetch
620
+
621
+ context.fetch
622
+ end
623
+
624
+ ##
625
+ # Update the TaskInstance
626
+ # @param [String] attributes The JSON string that describes the custom attributes of the task.
627
+ # @param [Status] assignment_status
628
+ # @param [String] reason The reason that the Task was canceled or completed. This parameter is required only if the Task is canceled or completed. Setting this value queues the task for deletion and logs the reason.
629
+ # @param [String] priority The Task's new priority value. When supplied, the Task takes on the specified priority unless it matches a Workflow Target with a Priority set. Value can be 0 to 2^31^ (2,147,483,647).
630
+ # @param [String] task_channel When MultiTasking is enabled, specify the TaskChannel with the task to update. Can be the TaskChannel's SID or its `unique_name`, such as `voice`, `sms`, or `default`.
631
+ # @param [Time] virtual_start_time The task's new virtual start time value. When supplied, the Task takes on the specified virtual start time. Value can't be in the future or before the year of 1900.
632
+ # @param [String] if_match If provided, applies this mutation if (and only if) the [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header of the Task matches the provided value. This matches the semantics of (and is implemented with) the HTTP [If-Match header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match).
633
+ # @return [TaskInstance] Updated TaskInstance
634
+ def update(
635
+ attributes: :unset,
636
+ assignment_status: :unset,
637
+ reason: :unset,
638
+ priority: :unset,
639
+ task_channel: :unset,
640
+ virtual_start_time: :unset,
641
+ if_match: :unset
642
+ )
643
+
644
+ context.update(
645
+ attributes: attributes,
646
+ assignment_status: assignment_status,
647
+ reason: reason,
648
+ priority: priority,
649
+ task_channel: task_channel,
650
+ virtual_start_time: virtual_start_time,
651
+ if_match: if_match,
652
+ )
653
+ end
654
+
655
+ ##
656
+ # Access the reservations
657
+ # @return [reservations] reservations
658
+ def reservations
659
+ context.reservations
660
+ end
661
+
662
+ ##
663
+ # Provide a user friendly representation
664
+ def to_s
665
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
666
+ "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
667
+ end
668
+
669
+ ##
670
+ # Provide a detailed, user friendly representation
671
+ def inspect
672
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
673
+ "<Twilio.Taskrouter.V1.TaskInstance #{values}>"
674
+ end
675
+ end
676
+
677
+ end
621
678
  end
622
- end
623
679
  end
624
- end
625
680
  end
626
- end
627
- end
681
+ end
682
+
683
+