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
@@ -0,0 +1,28 @@
1
+ module Twilio
2
+ module REST
3
+ class ClientTokenManager
4
+ attr_accessor :grant_type, :client_id, :client_secret, :code, :redirect_uri, :audience, :refresh_token, :scope
5
+
6
+ def initialize(grant_type, client_id, client_secret, code = nil, redirect_uri = nil, audience = nil,
7
+ refresh_token = nil, scope = nil)
8
+ raise ArgumentError, 'client_id and client_secret are required' if client_id.nil? || client_secret.nil?
9
+
10
+ @grant_type = grant_type
11
+ @client_id = client_id
12
+ @client_secret = client_secret
13
+ @code = code
14
+ @redirect_uri = redirect_uri
15
+ @audience = audience
16
+ @refresh_token = refresh_token
17
+ @scope = scope
18
+ end
19
+
20
+ def fetch_access_token
21
+ client = Twilio::REST::Client.new
22
+ token_instance = client.iam.v1.token.create(grant_type: @grant_type,
23
+ client_id: @client_id, client_secret: @client_secret)
24
+ token_instance.access_token
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,45 +1,65 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'faraday'
4
+ require 'faraday/middleware'
4
5
 
5
6
  module Twilio
6
7
  module HTTP
7
8
  class Client
8
9
  attr_accessor :adapter
9
- attr_reader :timeout, :last_response, :last_request
10
+ attr_reader :timeout, :last_response, :last_request, :connection
10
11
 
11
- def initialize(proxy_addr = nil, proxy_port = nil, proxy_user = nil, proxy_pass = nil, ssl_ca_file = nil,
12
+ def initialize(proxy_prot = nil, proxy_addr = nil, proxy_port = nil, proxy_user = nil, proxy_pass = nil,
12
13
  timeout: nil)
13
- @proxy_addr = proxy_addr
14
- @proxy_port = proxy_port
15
- @proxy_user = proxy_user
16
- @proxy_pass = proxy_pass
17
- @ssl_ca_file = ssl_ca_file
14
+ @proxy_prot = proxy_prot
15
+ @proxy_path = "#{proxy_addr}:#{proxy_port}" if proxy_addr && proxy_port
16
+ @proxy_auth = "#{proxy_user}:#{proxy_pass}@" if proxy_pass && proxy_user
18
17
  @timeout = timeout
19
18
  @adapter = Faraday.default_adapter
19
+ @configure_connection_blocks = []
20
20
  end
21
21
 
22
- def _request(request)
22
+ def configure_connection(&block)
23
+ raise ArgumentError, "#{__method__} must be given a block!" unless block_given?
24
+
25
+ @configure_connection_blocks << block
26
+ nil
27
+ end
28
+
29
+ def _request(request) # rubocop:disable Metrics/MethodLength
30
+ middle_ware = case request.headers['Content-Type']
31
+ when 'application/json'
32
+ :json
33
+ when 'application/x-www-form-urlencoded'
34
+ :url_encoded
35
+ else
36
+ :url_encoded
37
+ end
23
38
  @connection = Faraday.new(url: request.host + ':' + request.port.to_s, ssl: { verify: true }) do |f|
24
39
  f.options.params_encoder = Faraday::FlatParamsEncoder
25
- f.request :url_encoded
26
- f.adapter @adapter
40
+ f.request(middle_ware)
27
41
  f.headers = request.headers
28
- f.basic_auth(request.auth[0], request.auth[1])
29
- if @proxy_addr
30
- f.proxy "#{@proxy_user}:#{@proxy_pass}@#{@proxy_addr}:#{@proxy_port}"
42
+ if Faraday::VERSION.start_with?('2.')
43
+ f.request(:authorization, :basic, request.auth[0], request.auth[1])
44
+ else
45
+ f.request(:basic_auth, request.auth[0], request.auth[1])
31
46
  end
47
+ f.proxy = "#{@proxy_prot}://#{@proxy_auth}#{@proxy_path}" if @proxy_prot && @proxy_path
32
48
  f.options.open_timeout = request.timeout || @timeout
33
49
  f.options.timeout = request.timeout || @timeout
50
+ f.params = request.params.nil? ? {} : request.params
51
+
52
+ @configure_connection_blocks.each { |block| block.call(f) }
53
+ f.adapter @adapter
34
54
  end
35
55
 
36
56
  @last_request = request
37
57
  @last_response = nil
38
- response = @connection.send(request.method.downcase.to_sym,
39
- request.url,
40
- request.method == 'GET' ? request.params : request.data)
41
58
 
42
- if response.body && !response.body.empty?
59
+ response = send(request)
60
+ if (500..599).include?(response.status)
61
+ object = { message: "Server error (#{response.status})", code: response.status }.to_json
62
+ elsif response.body && !response.body.empty?
43
63
  object = response.body
44
64
  elsif response.status == 400
45
65
  object = { message: 'Bad request', code: 400 }.to_json
@@ -51,10 +71,26 @@ module Twilio
51
71
  twilio_response
52
72
  end
53
73
 
74
+ def send(request)
75
+ @connection.send(request.method.downcase.to_sym,
76
+ request.url,
77
+ request.data)
78
+ rescue Faraday::Error => e
79
+ raise Twilio::REST::TwilioError, e
80
+ end
81
+
54
82
  def request(host, port, method, url, params = {}, data = {}, headers = {}, auth = nil, timeout = nil)
83
+ headers['Authorization'] = auth if jwt_token?(auth)
55
84
  request = Twilio::Request.new(host, port, method, url, params, data, headers, auth, timeout)
56
85
  _request(request)
57
86
  end
87
+
88
+ def jwt_token?(auth)
89
+ return false unless auth.is_a?(String)
90
+
91
+ parts = auth.split('.')
92
+ parts.length == 3
93
+ end
58
94
  end
59
95
  end
60
96
  end
@@ -0,0 +1,28 @@
1
+ module Twilio
2
+ module REST
3
+ class OrgTokenManager
4
+ attr_accessor :grant_type, :client_id, :client_secret, :code, :redirect_uri, :audience, :refresh_token, :scope
5
+
6
+ def initialize(grant_type, client_id, client_secret, code = nil, redirect_uri = nil, audience = nil,
7
+ refresh_token = nil, scope = nil)
8
+ raise ArgumentError, 'client_id and client_secret are required' if client_id.nil? || client_secret.nil?
9
+
10
+ @grant_type = grant_type
11
+ @client_id = client_id
12
+ @client_secret = client_secret
13
+ @code = code
14
+ @redirect_uri = redirect_uri
15
+ @audience = audience
16
+ @refresh_token = refresh_token
17
+ @scope = scope
18
+ end
19
+
20
+ def fetch_access_token
21
+ client = Twilio::REST::Client.new
22
+ token_instance = client.iam.v1.token.create(grant_type: @grant_type,
23
+ client_id: @client_id, client_secret: @client_secret)
24
+ token_instance.access_token
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir[File.join(__dir__, 'http/**/*.rb')].sort.each do |file|
4
+ require file
5
+ end
@@ -20,7 +20,8 @@ module Twilio
20
20
  :grants,
21
21
  :nbf,
22
22
  :ttl,
23
- :valid_until
23
+ :valid_until,
24
+ :region
24
25
 
25
26
  def initialize(
26
27
  account_sid,
@@ -30,7 +31,8 @@ module Twilio
30
31
  identity: nil,
31
32
  nbf: nil,
32
33
  ttl: 3600,
33
- valid_until: nil
34
+ valid_until: nil,
35
+ region: nil
34
36
  )
35
37
  super(secret_key: secret,
36
38
  issuer: signing_key_sid,
@@ -46,6 +48,7 @@ module Twilio
46
48
  @grants = grants
47
49
  @ttl = ttl
48
50
  @valid_until = valid_until
51
+ @region = region
49
52
  end
50
53
 
51
54
  def add_grant(grant)
@@ -76,6 +79,8 @@ module Twilio
76
79
  cty: 'twilio-fpa;v=1'
77
80
  }
78
81
 
82
+ headers[:twr] = region unless region&.nil?
83
+
79
84
  headers
80
85
  end
81
86
 
@@ -109,41 +114,6 @@ module Twilio
109
114
  end
110
115
  end
111
116
 
112
- class IpMessagingGrant
113
- include AccessTokenGrant
114
- attr_accessor :service_sid,
115
- :endpoint_id,
116
- :deployment_role_sid,
117
- :push_credential_sid
118
-
119
- def _key
120
- 'ip_messaging'
121
- end
122
-
123
- def _generate_payload
124
- payload = {}
125
-
126
- payload[:service_sid] = service_sid if service_sid
127
-
128
- payload[:endpoint_id] = endpoint_id if endpoint_id
129
-
130
- if deployment_role_sid
131
- payload[:deployment_role_sid] = deployment_role_sid
132
- end
133
-
134
- if push_credential_sid
135
- payload[:push_credential_sid] = push_credential_sid
136
- end
137
-
138
- payload
139
- end
140
-
141
- class << self
142
- extend Gem::Deprecate
143
- deprecate :new, 'Chat.new', 2017, 7
144
- end
145
- end
146
-
147
117
  class VoiceGrant
148
118
  include AccessTokenGrant
149
119
  attr_accessor :incoming_allow,
@@ -199,30 +169,6 @@ module Twilio
199
169
  end
200
170
  end
201
171
 
202
- class ConversationsGrant
203
- include AccessTokenGrant
204
- attr_accessor :configuration_profile_sid
205
-
206
- def _key
207
- 'rtc'
208
- end
209
-
210
- def _generate_payload
211
- payload = {}
212
-
213
- if configuration_profile_sid
214
- payload[:configuration_profile_sid] = configuration_profile_sid
215
- end
216
-
217
- payload
218
- end
219
-
220
- class << self
221
- extend Gem::Deprecate
222
- deprecate :new, 'VideoGrant.new', 2017, 5
223
- end
224
- end
225
-
226
172
  class VideoGrant
227
173
  include AccessTokenGrant
228
174
  attr_accessor :room
@@ -262,6 +208,19 @@ module Twilio
262
208
  payload
263
209
  end
264
210
  end
211
+
212
+ class PlaybackGrant
213
+ include AccessTokenGrant
214
+ attr_accessor :grant
215
+
216
+ def _key
217
+ 'player'
218
+ end
219
+
220
+ def _generate_payload
221
+ grant
222
+ end
223
+ end
265
224
  end
266
225
  end
267
226
  end
@@ -1,7 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'jwt'
4
+
3
5
  module Twilio
4
6
  module JWT
7
+ autoload :AccessToken, File.join(File.dirname(__FILE__), 'access_token.rb')
8
+ autoload :ClientCapability, File.join(File.dirname(__FILE__), 'client_capability.rb')
9
+ autoload :TaskRouterCapability, File.join(File.dirname(__FILE__), 'task_router.rb')
10
+
5
11
  class BaseJWT
6
12
  # valid_until overrides ttl if specified
7
13
  def initialize(secret_key: nil, issuer: nil, subject: nil, nbf: nil, ttl: 3600, valid_until: nil)
@@ -84,8 +84,8 @@ module Twilio
84
84
  [TASK_ROUTER_BASE_URL, TASK_ROUTER_VERSION, 'Workspaces'].join('/')
85
85
  end
86
86
 
87
- def self.workspace(worskspace_sid)
88
- [TASK_ROUTER_BASE_URL, TASK_ROUTER_VERSION, 'Workspaces', worskspace_sid].join('/')
87
+ def self.workspace(workspace_sid)
88
+ [TASK_ROUTER_BASE_URL, TASK_ROUTER_VERSION, 'Workspaces', workspace_sid].join('/')
89
89
  end
90
90
 
91
91
  def self.all_workspaces
@@ -0,0 +1,213 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Accounts
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
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Accounts < AccountsBase
19
+ class V1 < Version
20
+ class AuthTokenPromotionList < ListResource
21
+
22
+ ##
23
+ # Initialize the AuthTokenPromotionList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [AuthTokenPromotionList] AuthTokenPromotionList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+
31
+
32
+ end
33
+
34
+
35
+
36
+ # Provide a user friendly representation
37
+ def to_s
38
+ '#<Twilio.Accounts.V1.AuthTokenPromotionList>'
39
+ end
40
+ end
41
+
42
+
43
+ class AuthTokenPromotionContext < InstanceContext
44
+ ##
45
+ # Initialize the AuthTokenPromotionContext
46
+ # @param [Version] version Version that contains the resource
47
+ # @return [AuthTokenPromotionContext] AuthTokenPromotionContext
48
+ def initialize(version)
49
+ super(version)
50
+
51
+ # Path Solution
52
+ @solution = { }
53
+ @uri = "/AuthTokens/Promote"
54
+
55
+
56
+ end
57
+ ##
58
+ # Update the AuthTokenPromotionInstance
59
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
60
+ def update
61
+
62
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
63
+
64
+
65
+
66
+
67
+
68
+ payload = @version.update('POST', @uri, headers: headers)
69
+ AuthTokenPromotionInstance.new(
70
+ @version,
71
+ payload,
72
+ )
73
+ end
74
+
75
+
76
+ ##
77
+ # Provide a user friendly representation
78
+ def to_s
79
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
80
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
81
+ end
82
+
83
+ ##
84
+ # Provide a detailed, user friendly representation
85
+ def inspect
86
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
87
+ "#<Twilio.Accounts.V1.AuthTokenPromotionContext #{context}>"
88
+ end
89
+ end
90
+
91
+ class AuthTokenPromotionPage < Page
92
+ ##
93
+ # Initialize the AuthTokenPromotionPage
94
+ # @param [Version] version Version that contains the resource
95
+ # @param [Response] response Response from the API
96
+ # @param [Hash] solution Path solution for the resource
97
+ # @return [AuthTokenPromotionPage] AuthTokenPromotionPage
98
+ def initialize(version, response, solution)
99
+ super(version, response)
100
+
101
+ # Path Solution
102
+ @solution = solution
103
+ end
104
+
105
+ ##
106
+ # Build an instance of AuthTokenPromotionInstance
107
+ # @param [Hash] payload Payload response from the API
108
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
109
+ def get_instance(payload)
110
+ AuthTokenPromotionInstance.new(@version, payload)
111
+ end
112
+
113
+ ##
114
+ # Provide a user friendly representation
115
+ def to_s
116
+ '<Twilio.Accounts.V1.AuthTokenPromotionPage>'
117
+ end
118
+ end
119
+ class AuthTokenPromotionInstance < InstanceResource
120
+ ##
121
+ # Initialize the AuthTokenPromotionInstance
122
+ # @param [Version] version Version that contains the resource
123
+ # @param [Hash] payload payload that contains response from Twilio
124
+ # @param [String] account_sid The SID of the
125
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this AuthTokenPromotion
126
+ # resource.
127
+ # @param [String] sid The SID of the Call resource to fetch.
128
+ # @return [AuthTokenPromotionInstance] AuthTokenPromotionInstance
129
+ def initialize(version, payload )
130
+ super(version)
131
+
132
+ # Marshaled Properties
133
+ @properties = {
134
+ 'account_sid' => payload['account_sid'],
135
+ 'auth_token' => payload['auth_token'],
136
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
137
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
138
+ 'url' => payload['url'],
139
+ }
140
+
141
+ # Context
142
+ @instance_context = nil
143
+ @params = { }
144
+ end
145
+
146
+ ##
147
+ # Generate an instance context for the instance, the context is capable of
148
+ # performing various actions. All instance actions are proxied to the context
149
+ # @return [AuthTokenPromotionContext] CallContext for this CallInstance
150
+ def context
151
+ unless @instance_context
152
+ @instance_context = AuthTokenPromotionContext.new(@version )
153
+ end
154
+ @instance_context
155
+ end
156
+
157
+ ##
158
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that the secondary Auth Token was created for.
159
+ def account_sid
160
+ @properties['account_sid']
161
+ end
162
+
163
+ ##
164
+ # @return [String] The promoted Auth Token that must be used to authenticate future API requests.
165
+ def auth_token
166
+ @properties['auth_token']
167
+ end
168
+
169
+ ##
170
+ # @return [Time] The date and time in UTC when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
171
+ def date_created
172
+ @properties['date_created']
173
+ end
174
+
175
+ ##
176
+ # @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.
177
+ def date_updated
178
+ @properties['date_updated']
179
+ end
180
+
181
+ ##
182
+ # @return [String] The URI for this resource, relative to `https://accounts.twilio.com`
183
+ def url
184
+ @properties['url']
185
+ end
186
+
187
+ ##
188
+ # Update the AuthTokenPromotionInstance
189
+ # @return [AuthTokenPromotionInstance] Updated AuthTokenPromotionInstance
190
+ def update
191
+
192
+ context.update
193
+ end
194
+
195
+ ##
196
+ # Provide a user friendly representation
197
+ def to_s
198
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
199
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
200
+ end
201
+
202
+ ##
203
+ # Provide a detailed, user friendly representation
204
+ def inspect
205
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
206
+ "<Twilio.Accounts.V1.AuthTokenPromotionInstance #{values}>"
207
+ end
208
+ end
209
+
210
+ end
211
+ end
212
+ end
213
+ end
@@ -0,0 +1,137 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Accounts
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
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Accounts < AccountsBase
19
+ class V1 < Version
20
+ class BulkConsentsList < ListResource
21
+
22
+ ##
23
+ # Initialize the BulkConsentsList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [BulkConsentsList] BulkConsentsList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/Consents/Bulk"
31
+
32
+ end
33
+ ##
34
+ # Create the BulkConsentsInstance
35
+ # @param [Array[Hash]] items This is a list of objects that describes a contact's opt-in status. Each object contains the following fields: `contact_id`, which must be a string representing phone number in [E.164 format](https://www.twilio.com/docs/glossary/what-e164); `correlation_id`, a unique 32-character UUID used to uniquely map the request item with the response item; `sender_id`, which can be either a valid messaging service SID or a from phone number; `status`, a string representing the consent status. Can be one of [`opt-in`, `opt-out`]; `source`, a string indicating the medium through which the consent was collected. Can be one of [`website`, `offline`, `opt-in-message`, `opt-out-message`, `others`]; `date_of_consent`, an optional datetime string field in ISO-8601 format that captures the exact date and time when the user gave or revoked consent. If not provided, it will be empty.
36
+ # @return [BulkConsentsInstance] Created BulkConsentsInstance
37
+ def create(
38
+ items: nil
39
+ )
40
+
41
+ data = Twilio::Values.of({
42
+ 'Items' => Twilio.serialize_list(items) { |e| Twilio.serialize_object(e) },
43
+ })
44
+
45
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
46
+
47
+
48
+
49
+
50
+
51
+ payload = @version.create('POST', @uri, data: data, headers: headers)
52
+ BulkConsentsInstance.new(
53
+ @version,
54
+ payload,
55
+ )
56
+ end
57
+
58
+
59
+
60
+
61
+ # Provide a user friendly representation
62
+ def to_s
63
+ '#<Twilio.Accounts.V1.BulkConsentsList>'
64
+ end
65
+ end
66
+
67
+ class BulkConsentsPage < Page
68
+ ##
69
+ # Initialize the BulkConsentsPage
70
+ # @param [Version] version Version that contains the resource
71
+ # @param [Response] response Response from the API
72
+ # @param [Hash] solution Path solution for the resource
73
+ # @return [BulkConsentsPage] BulkConsentsPage
74
+ def initialize(version, response, solution)
75
+ super(version, response)
76
+
77
+ # Path Solution
78
+ @solution = solution
79
+ end
80
+
81
+ ##
82
+ # Build an instance of BulkConsentsInstance
83
+ # @param [Hash] payload Payload response from the API
84
+ # @return [BulkConsentsInstance] BulkConsentsInstance
85
+ def get_instance(payload)
86
+ BulkConsentsInstance.new(@version, payload)
87
+ end
88
+
89
+ ##
90
+ # Provide a user friendly representation
91
+ def to_s
92
+ '<Twilio.Accounts.V1.BulkConsentsPage>'
93
+ end
94
+ end
95
+ class BulkConsentsInstance < InstanceResource
96
+ ##
97
+ # Initialize the BulkConsentsInstance
98
+ # @param [Version] version Version that contains the resource
99
+ # @param [Hash] payload payload that contains response from Twilio
100
+ # @param [String] account_sid The SID of the
101
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this BulkConsents
102
+ # resource.
103
+ # @param [String] sid The SID of the Call resource to fetch.
104
+ # @return [BulkConsentsInstance] BulkConsentsInstance
105
+ def initialize(version, payload )
106
+ super(version)
107
+
108
+ # Marshaled Properties
109
+ @properties = {
110
+ 'items' => payload['items'],
111
+ }
112
+ end
113
+
114
+
115
+ ##
116
+ # @return [Hash] A list of objects where each object represents the result of processing a `correlation_id`. Each object contains the following fields: `correlation_id`, a unique 32-character UUID that maps the response to the original request; `error_code`, an integer where 0 indicates success and any non-zero value represents an error; and `error_messages`, an array of strings describing specific validation errors encountered. If the request is successful, the error_messages array will be empty.
117
+ def items
118
+ @properties['items']
119
+ end
120
+
121
+ ##
122
+ # Provide a user friendly representation
123
+ def to_s
124
+ "<Twilio.Accounts.V1.BulkConsentsInstance>"
125
+ end
126
+
127
+ ##
128
+ # Provide a detailed, user friendly representation
129
+ def inspect
130
+ "<Twilio.Accounts.V1.BulkConsentsInstance>"
131
+ end
132
+ end
133
+
134
+ end
135
+ end
136
+ end
137
+ end