twilio-ruby 6.8.0 → 7.10.7

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 (761) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +17 -8
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1303 -1
  8. data/Dockerfile +3 -2
  9. data/Gemfile +5 -0
  10. data/Makefile +4 -1
  11. data/README.md +7 -2
  12. data/UPGRADE.md +11 -0
  13. data/cluster/cluster_oauth_spec.rb +19 -0
  14. data/cluster/cluster_orgs_spec.rb +40 -0
  15. data/{cluster_spec.rb → cluster/cluster_spec.rb} +0 -2
  16. data/examples/public_oauth.rb +13 -0
  17. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  18. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  19. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  20. data/lib/twilio-ruby/base/client_base.rb +12 -2
  21. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  22. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  23. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  24. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  25. data/lib/twilio-ruby/framework/request.rb +8 -1
  26. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  27. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  28. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  29. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  30. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  31. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  32. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  33. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  34. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  35. data/lib/twilio-ruby/http/http_client.rb +22 -5
  36. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  37. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +143 -1
  38. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  39. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  40. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +295 -14
  41. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +295 -14
  42. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +64 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +177 -10
  45. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +168 -2
  46. data/lib/twilio-ruby/rest/accounts/v1.rb +29 -2
  47. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +102 -5
  48. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +385 -42
  49. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +427 -57
  50. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +183 -20
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +141 -8
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +141 -8
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +141 -8
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +141 -8
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +141 -8
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +141 -8
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +141 -8
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +183 -6
  59. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +96 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +102 -5
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +192 -6
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +283 -28
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +330 -19
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1004 -207
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1010 -213
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +559 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +109 -3
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +186 -5
  69. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +550 -120
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +572 -86
  71. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +263 -12
  72. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +274 -36
  73. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +285 -24
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +185 -8
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +250 -11
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +238 -29
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +238 -29
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +238 -29
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +507 -79
  80. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +250 -10
  81. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +105 -2
  82. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +215 -7
  83. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +421 -52
  84. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +104 -2
  85. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +104 -2
  86. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +191 -6
  87. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +254 -10
  88. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +232 -11
  89. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +299 -15
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +232 -8
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +209 -7
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +209 -7
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +229 -10
  95. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +254 -19
  96. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +250 -10
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +297 -13
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +290 -12
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +250 -9
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +250 -9
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +64 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +250 -9
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +64 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +64 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +250 -9
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +250 -9
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +398 -48
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +311 -18
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +290 -12
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +64 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +104 -2
  112. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +208 -7
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +114 -9
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +114 -9
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +114 -9
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +114 -9
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +114 -9
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +114 -9
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +114 -9
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +114 -9
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +114 -9
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +335 -27
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +64 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +124 -7
  125. data/lib/twilio-ruby/rest/api/v2010/account.rb +271 -13
  126. data/lib/twilio-ruby/rest/api/v2010.rb +1 -0
  127. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +558 -0
  128. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +558 -0
  129. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +431 -0
  130. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +927 -0
  132. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → assistants/v1/knowledge/chunk.rb} +145 -169
  133. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  134. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +871 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +364 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +360 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/session.rb +501 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +847 -0
  139. data/lib/twilio-ruby/rest/assistants/v1.rb +104 -0
  140. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  141. data/lib/twilio-ruby/rest/{autopilot_base.rb → assistants_base.rb} +6 -6
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +183 -6
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +163 -13
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +170 -3
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +144 -1
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +195 -8
  147. data/lib/twilio-ruby/rest/bulkexports/v1.rb +2 -0
  148. data/lib/twilio-ruby/rest/chat/v1/credential.rb +336 -28
  149. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +257 -10
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +305 -15
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +308 -16
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +315 -19
  153. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +298 -14
  154. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +102 -5
  155. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +312 -19
  156. data/lib/twilio-ruby/rest/chat/v1/service.rb +552 -118
  157. data/lib/twilio-ruby/rest/chat/v1.rb +2 -0
  158. data/lib/twilio-ruby/rest/chat/v2/credential.rb +336 -28
  159. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +214 -7
  160. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +257 -10
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +354 -33
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +353 -33
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +342 -28
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +351 -33
  165. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +298 -14
  166. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +212 -7
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +266 -16
  168. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +317 -22
  169. data/lib/twilio-ruby/rest/chat/v2/service.rb +437 -72
  170. data/lib/twilio-ruby/rest/chat/v2.rb +2 -0
  171. data/lib/twilio-ruby/rest/chat/v3/channel.rb +162 -7
  172. data/lib/twilio-ruby/rest/chat/v3.rb +6 -0
  173. data/lib/twilio-ruby/rest/client.rb +26 -11
  174. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  175. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +144 -3
  176. data/lib/twilio-ruby/rest/content/v1/content.rb +1577 -10
  177. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +102 -5
  178. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +102 -5
  179. data/lib/twilio-ruby/rest/content/v1.rb +1 -0
  180. data/lib/twilio-ruby/rest/content/v2/content.rb +433 -0
  181. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +426 -0
  182. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  183. data/lib/twilio-ruby/rest/content_base.rb +6 -1
  184. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +373 -39
  185. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +206 -15
  186. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +198 -10
  187. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +184 -6
  188. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +360 -37
  189. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +367 -40
  190. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +334 -26
  191. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +421 -76
  192. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +341 -30
  194. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +106 -5
  195. data/lib/twilio-ruby/rest/conversations/v1/role.rb +295 -14
  196. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +217 -10
  197. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +245 -28
  198. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +200 -10
  199. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +216 -26
  200. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +185 -6
  201. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +363 -37
  202. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +370 -40
  203. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +337 -26
  204. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +425 -77
  205. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +106 -5
  207. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +298 -14
  208. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +262 -14
  209. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +321 -24
  210. data/lib/twilio-ruby/rest/conversations/v1/service.rb +283 -27
  211. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +260 -14
  212. data/lib/twilio-ruby/rest/conversations/v1/user.rb +318 -24
  213. data/lib/twilio-ruby/rest/conversations/v1.rb +12 -0
  214. data/lib/twilio-ruby/rest/conversations/v2/action.rb +507 -0
  215. data/lib/twilio-ruby/rest/conversations/v2/communication.rb +698 -0
  216. data/lib/twilio-ruby/rest/conversations/v2/configuration.rb +1208 -0
  217. data/lib/twilio-ruby/rest/conversations/v2/conversation.rb +1365 -0
  218. data/lib/twilio-ruby/rest/conversations/v2/operation.rb +369 -0
  219. data/lib/twilio-ruby/rest/conversations/v2/participant.rb +745 -0
  220. data/lib/twilio-ruby/rest/conversations/v2.rb +142 -0
  221. data/lib/twilio-ruby/rest/conversations_base.rb +6 -1
  222. data/lib/twilio-ruby/rest/events/v1/event_type.rb +198 -8
  223. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +183 -8
  224. data/lib/twilio-ruby/rest/events/v1/schema.rb +144 -3
  225. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +96 -1
  226. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +104 -2
  227. data/lib/twilio-ruby/rest/events/v1/sink.rb +299 -16
  228. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +298 -19
  229. data/lib/twilio-ruby/rest/events/v1/subscription.rb +297 -22
  230. data/lib/twilio-ruby/rest/events/v1.rb +4 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +288 -31
  232. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +282 -18
  233. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +216 -3
  234. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +433 -60
  235. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +172 -16
  236. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +106 -5
  237. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +331 -30
  238. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +266 -18
  239. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +305 -30
  240. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +109 -5
  241. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +147 -5
  242. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +98 -2
  243. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +98 -2
  244. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +147 -5
  245. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +143 -7
  246. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +251 -11
  247. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +548 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +257 -11
  249. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +275 -5
  250. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +629 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +708 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +572 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +607 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  256. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +547 -0
  257. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  259. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +312 -19
  260. data/lib/twilio-ruby/rest/flex_api/v1.rb +137 -0
  261. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  262. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +125 -5
  263. data/lib/twilio-ruby/rest/flex_api/v2.rb +43 -0
  264. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +200 -12
  265. data/lib/twilio-ruby/rest/frontline_api/v1.rb +1 -0
  266. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  267. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +328 -0
  268. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  269. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +647 -0
  270. data/lib/twilio-ruby/rest/iam/v1/role_permission.rb +327 -0
  271. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  272. data/lib/twilio-ruby/rest/iam/v1.rb +99 -0
  273. data/lib/twilio-ruby/rest/iam.rb +6 -0
  274. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  275. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +216 -19
  276. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +162 -13
  277. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +108 -9
  278. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +106 -5
  279. data/lib/twilio-ruby/rest/insights/v1/call.rb +144 -1
  280. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +267 -26
  281. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +202 -10
  282. data/lib/twilio-ruby/rest/insights/v1/conference.rb +202 -6
  283. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +183 -8
  284. data/lib/twilio-ruby/rest/insights/v1/room.rb +194 -8
  285. data/lib/twilio-ruby/rest/insights/v1/setting.rb +201 -10
  286. data/lib/twilio-ruby/rest/insights/v1.rb +3 -0
  287. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +579 -0
  288. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +650 -0
  289. data/lib/twilio-ruby/rest/insights/v2/report.rb +941 -0
  290. data/lib/twilio-ruby/rest/insights/v2.rb +82 -0
  291. data/lib/twilio-ruby/rest/insights/v3/metadata.rb +227 -0
  292. data/lib/twilio-ruby/rest/insights/v3/query.rb +394 -0
  293. data/lib/twilio-ruby/rest/insights/v3.rb +46 -0
  294. data/lib/twilio-ruby/rest/insights_base.rb +11 -1
  295. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +728 -0
  296. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +533 -0
  297. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  298. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  299. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +539 -0
  300. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +533 -0
  301. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +392 -50
  302. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +152 -5
  305. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +207 -10
  306. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +124 -10
  307. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +333 -30
  308. data/lib/twilio-ruby/rest/intelligence/v2.rb +125 -0
  309. data/lib/twilio-ruby/rest/intelligence/v3/configuration.rb +1073 -0
  310. data/lib/twilio-ruby/rest/intelligence/v3/conversation.rb +602 -0
  311. data/lib/twilio-ruby/rest/intelligence/v3/operator.rb +784 -0
  312. data/lib/twilio-ruby/rest/intelligence/v3/operator_result.rb +622 -0
  313. data/lib/twilio-ruby/rest/intelligence/v3/version.rb +556 -0
  314. data/lib/twilio-ruby/rest/intelligence/v3.rb +120 -0
  315. data/lib/twilio-ruby/rest/intelligence_base.rb +6 -1
  316. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +336 -28
  317. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +257 -10
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +305 -15
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +308 -16
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +315 -19
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +298 -14
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +102 -5
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +312 -19
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +552 -118
  325. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +2 -0
  326. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +336 -28
  327. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +214 -7
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +257 -10
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +354 -33
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +353 -33
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +342 -28
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +351 -33
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +298 -14
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +212 -7
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +262 -14
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +317 -22
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +437 -72
  338. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +2 -0
  339. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +325 -0
  340. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  341. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +865 -0
  342. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +17 -16
  343. data/lib/twilio-ruby/rest/knowledge/v2/chunk.rb +306 -0
  344. data/lib/twilio-ruby/rest/knowledge/v2/knowledge.rb +714 -0
  345. data/lib/twilio-ruby/rest/knowledge/v2/knowledge_basis.rb +739 -0
  346. data/lib/twilio-ruby/rest/knowledge/v2/operation.rb +376 -0
  347. data/lib/twilio-ruby/rest/knowledge/v2/search.rb +355 -0
  348. data/lib/twilio-ruby/rest/knowledge/v2.rb +145 -0
  349. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  350. data/lib/twilio-ruby/rest/knowledge_base.rb +43 -0
  351. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +170 -12
  352. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +501 -0
  354. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +605 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +252 -44
  356. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  357. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  358. data/lib/twilio-ruby/rest/lookups/v2.rb +99 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +483 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +509 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +563 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +743 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +94 -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/memory/v1/bulk.rb +362 -0
  371. data/lib/twilio-ruby/rest/memory/v1/conversation_summary.rb +798 -0
  372. data/lib/twilio-ruby/rest/memory/v1/data_mapping.rb +843 -0
  373. data/lib/twilio-ruby/rest/memory/v1/event.rb +320 -0
  374. data/lib/twilio-ruby/rest/memory/v1/identifier.rb +710 -0
  375. data/lib/twilio-ruby/rest/memory/v1/identity_resolution_setting.rb +442 -0
  376. data/lib/twilio-ruby/rest/memory/v1/import.rb +574 -0
  377. data/lib/twilio-ruby/rest/memory/v1/lookup.rb +250 -0
  378. data/lib/twilio-ruby/rest/memory/v1/observation.rb +786 -0
  379. data/lib/twilio-ruby/rest/memory/v1/operation.rb +376 -0
  380. data/lib/twilio-ruby/rest/memory/v1/profile.rb +721 -0
  381. data/lib/twilio-ruby/rest/memory/v1/recall.rb +366 -0
  382. data/lib/twilio-ruby/rest/memory/v1/revision.rb +349 -0
  383. data/lib/twilio-ruby/rest/memory/v1/store.rb +746 -0
  384. data/lib/twilio-ruby/rest/memory/v1/trait.rb +336 -0
  385. data/lib/twilio-ruby/rest/memory/v1/trait_group.rb +904 -0
  386. data/lib/twilio-ruby/rest/memory/v1.rb +475 -0
  387. data/lib/twilio-ruby/rest/memory.rb +6 -0
  388. data/lib/twilio-ruby/rest/{media_base.rb → memory_base.rb} +6 -6
  389. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +96 -1
  390. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +229 -11
  391. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +296 -17
  392. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +151 -3
  393. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +210 -7
  394. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +200 -12
  395. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +144 -3
  396. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  397. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +113 -3
  398. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +170 -4
  399. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +144 -3
  400. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  401. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +248 -11
  402. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +282 -9
  403. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +616 -0
  404. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +248 -11
  405. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +248 -11
  406. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +543 -30
  407. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +103 -2
  408. data/lib/twilio-ruby/rest/messaging/v1/service.rb +453 -63
  409. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +870 -83
  410. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +95 -1
  411. data/lib/twilio-ruby/rest/messaging/v1.rb +46 -1
  412. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1017 -0
  413. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  414. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  415. data/lib/twilio-ruby/rest/messaging/v2.rb +72 -0
  416. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +247 -0
  417. data/lib/twilio-ruby/rest/messaging/v3.rb +40 -0
  418. data/lib/twilio-ruby/rest/messaging_base.rb +11 -1
  419. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +188 -6
  420. data/lib/twilio-ruby/rest/monitor/v1/event.rb +195 -7
  421. data/lib/twilio-ruby/rest/monitor/v1.rb +2 -0
  422. data/lib/twilio-ruby/rest/notify/v1/credential.rb +336 -30
  423. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +282 -17
  424. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +173 -20
  425. data/lib/twilio-ruby/rest/notify/v1/service.rb +410 -57
  426. data/lib/twilio-ruby/rest/notify/v1.rb +2 -0
  427. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +190 -3
  428. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  429. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  430. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +375 -0
  431. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  432. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  433. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +168 -26
  434. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  435. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  436. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  437. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +403 -0
  438. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  439. data/lib/twilio-ruby/rest/numbers/v1.rb +125 -12
  440. data/lib/twilio-ruby/rest/numbers/v2/application.rb +715 -0
  441. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +110 -5
  442. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +270 -16
  443. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +198 -5
  444. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  445. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +448 -27
  446. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +142 -7
  447. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +215 -7
  448. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +248 -9
  449. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +104 -2
  450. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +376 -30
  451. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +300 -16
  452. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +182 -6
  453. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +218 -11
  454. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +307 -16
  455. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +182 -6
  456. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +64 -0
  457. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  458. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  459. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  460. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  461. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  462. data/lib/twilio-ruby/rest/oauth/v1/token.rb +149 -27
  463. data/lib/twilio-ruby/rest/oauth/v1.rb +4 -22
  464. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  465. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  466. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  467. data/lib/twilio-ruby/rest/oauth.rb +2 -29
  468. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  469. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +112 -5
  470. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +316 -30
  471. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +406 -48
  472. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +2 -0
  473. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +183 -8
  474. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +182 -8
  475. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +225 -11
  476. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +304 -19
  477. data/lib/twilio-ruby/rest/preview/marketplace.rb +2 -0
  478. data/lib/twilio-ruby/rest/preview/wireless/command.rb +253 -16
  479. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +328 -25
  480. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +157 -7
  481. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +308 -41
  482. data/lib/twilio-ruby/rest/preview/wireless.rb +3 -0
  483. data/lib/twilio-ruby/rest/preview.rb +1 -20
  484. data/lib/twilio-ruby/rest/preview_base.rb +0 -15
  485. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  486. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  487. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  488. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +476 -0
  489. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +603 -0
  490. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +981 -0
  491. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  492. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +50 -0
  493. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  494. data/lib/twilio-ruby/rest/{microvisor_base.rb → preview_iam_base.rb} +6 -6
  495. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +182 -6
  496. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +64 -0
  497. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +182 -6
  498. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +64 -0
  499. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +182 -6
  500. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +144 -1
  501. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +64 -0
  502. data/lib/twilio-ruby/rest/pricing/v1.rb +22 -4
  503. data/lib/twilio-ruby/rest/pricing/v2/country.rb +182 -6
  504. data/lib/twilio-ruby/rest/pricing/v2/number.rb +152 -3
  505. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +182 -6
  506. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +152 -3
  507. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +64 -0
  508. data/lib/twilio-ruby/rest/pricing/v2.rb +13 -2
  509. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +298 -16
  510. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +210 -10
  511. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +231 -11
  512. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +262 -14
  513. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +320 -23
  514. data/lib/twilio-ruby/rest/proxy/v1/service.rb +350 -62
  515. data/lib/twilio-ruby/rest/proxy/v1.rb +1 -0
  516. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +190 -6
  517. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +190 -6
  518. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +190 -6
  519. data/lib/twilio-ruby/rest/routes/v2.rb +3 -0
  520. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +184 -8
  521. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +290 -14
  522. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +145 -3
  523. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +260 -14
  524. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +231 -10
  525. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +191 -9
  526. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +302 -17
  527. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +252 -12
  528. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +146 -3
  529. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +184 -8
  530. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +290 -14
  531. data/lib/twilio-ruby/rest/serverless/v1/service.rb +309 -21
  532. data/lib/twilio-ruby/rest/serverless/v1.rb +1 -0
  533. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +145 -1
  534. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +146 -1
  535. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +198 -6
  536. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +256 -11
  537. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +145 -1
  538. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +146 -1
  539. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +198 -6
  540. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +302 -14
  541. data/lib/twilio-ruby/rest/studio/v1/flow.rb +207 -7
  542. data/lib/twilio-ruby/rest/studio/v1.rb +1 -0
  543. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +145 -1
  544. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +146 -1
  545. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +198 -6
  546. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +333 -16
  547. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +190 -6
  548. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +185 -4
  549. data/lib/twilio-ruby/rest/studio/v2/flow.rb +336 -21
  550. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +115 -5
  551. data/lib/twilio-ruby/rest/studio/v2.rb +1 -0
  552. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +243 -17
  553. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +326 -33
  554. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +249 -15
  555. data/lib/twilio-ruby/rest/supersim/v1/network.rb +188 -8
  556. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +248 -11
  557. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +266 -14
  558. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +106 -5
  559. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +102 -5
  560. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +102 -5
  561. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +297 -24
  562. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +239 -13
  563. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +118 -5
  564. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  565. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +262 -14
  566. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +306 -18
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +333 -25
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +262 -14
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +303 -16
  570. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +337 -26
  571. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +262 -14
  572. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +303 -16
  573. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +105 -2
  574. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +294 -13
  575. data/lib/twilio-ruby/rest/sync/v1/service.rb +341 -30
  576. data/lib/twilio-ruby/rest/sync/v1.rb +1 -0
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +298 -13
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +205 -6
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +505 -117
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +411 -41
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +303 -16
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +173 -11
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +154 -4
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +173 -11
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +114 -5
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +351 -27
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +493 -113
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +232 -11
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +168 -9
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +167 -9
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +152 -3
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +182 -15
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +336 -24
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +173 -11
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +153 -3
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +173 -11
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +333 -26
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +172 -11
  600. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +152 -3
  601. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +172 -11
  602. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +339 -29
  603. data/lib/twilio-ruby/rest/taskrouter/v1.rb +1 -0
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +248 -9
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +248 -9
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +326 -24
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +249 -10
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +190 -6
  609. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +357 -33
  610. data/lib/twilio-ruby/rest/trunking/v1.rb +1 -0
  611. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +213 -5
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +256 -10
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +258 -11
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +223 -8
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +327 -21
  618. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +300 -16
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +182 -6
  620. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +182 -6
  621. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +300 -16
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +182 -6
  623. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +256 -10
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +258 -11
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +223 -8
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +345 -39
  627. data/lib/twilio-ruby/rest/trusthub/v1.rb +31 -1
  628. data/lib/twilio-ruby/rest/verify/v2/form.rb +144 -3
  629. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +208 -6
  630. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +197 -6
  631. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  632. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +106 -2
  633. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +299 -18
  634. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +292 -26
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +164 -15
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +248 -9
  637. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +294 -13
  638. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +479 -0
  639. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  640. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  641. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +302 -15
  642. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +294 -13
  643. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +301 -23
  644. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +127 -7
  645. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +332 -30
  646. data/lib/twilio-ruby/rest/verify/v2/service.rb +667 -65
  647. data/lib/twilio-ruby/rest/verify/v2/template.rb +104 -5
  648. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +202 -10
  649. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +179 -16
  650. data/lib/twilio-ruby/rest/verify/v2.rb +4 -0
  651. data/lib/twilio-ruby/rest/video/v1/composition.rb +286 -17
  652. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +376 -39
  653. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +211 -17
  654. data/lib/twilio-ruby/rest/video/v1/recording.rb +220 -7
  655. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +211 -17
  656. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +145 -1
  657. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +184 -6
  658. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +138 -3
  659. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +184 -6
  660. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +233 -9
  661. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +136 -3
  662. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +216 -7
  663. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +665 -0
  664. data/lib/twilio-ruby/rest/video/v1/room.rb +379 -39
  665. data/lib/twilio-ruby/rest/video/v1.rb +4 -0
  666. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +137 -3
  667. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +368 -39
  668. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +326 -24
  669. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +287 -12
  670. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +103 -2
  671. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +102 -5
  672. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +194 -8
  673. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +183 -6
  674. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +64 -0
  675. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +295 -14
  676. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +291 -13
  677. data/lib/twilio-ruby/rest/voice/v1.rb +10 -0
  678. data/lib/twilio-ruby/rest/voice/v3/transcription.rb +514 -0
  679. data/lib/twilio-ruby/rest/voice/v3.rb +50 -0
  680. data/lib/twilio-ruby/rest/voice_base.rb +6 -1
  681. data/lib/twilio-ruby/rest/wireless/v1/command.rb +278 -15
  682. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +338 -24
  683. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +102 -5
  684. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +108 -5
  685. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +343 -44
  686. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +108 -5
  687. data/lib/twilio-ruby/rest/wireless/v1.rb +3 -0
  688. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  689. data/lib/twilio-ruby/twiml/voice_response.rb +403 -24
  690. data/lib/twilio-ruby/version.rb +1 -1
  691. data/twilio-ruby.gemspec +4 -3
  692. metadata +193 -88
  693. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -264
  694. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -328
  695. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -241
  696. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -217
  697. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -389
  698. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -435
  699. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -409
  700. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -473
  701. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -241
  702. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -373
  703. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -436
  704. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -253
  705. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -226
  706. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -525
  707. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -433
  708. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -683
  709. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -207
  710. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -55
  711. data/lib/twilio-ruby/rest/autopilot.rb +0 -22
  712. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -420
  713. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -404
  714. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -252
  715. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -432
  716. data/lib/twilio-ruby/rest/media/v1.rb +0 -79
  717. data/lib/twilio-ruby/rest/media.rb +0 -35
  718. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -358
  719. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -351
  720. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -208
  721. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -374
  722. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -367
  723. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -427
  724. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  725. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  726. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +0 -229
  727. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -171
  728. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -185
  729. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -262
  730. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -213
  731. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -417
  732. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -401
  733. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -456
  734. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -414
  735. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -504
  736. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -49
  737. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -389
  738. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -449
  739. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -445
  740. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -389
  741. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -426
  742. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -448
  743. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -389
  744. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -426
  745. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -505
  746. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -241
  747. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -241
  748. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -217
  749. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -389
  750. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -435
  751. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -409
  752. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -463
  753. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -241
  754. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  755. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -436
  756. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -253
  757. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -226
  758. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -525
  759. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -663
  760. data/lib/twilio-ruby/rest/preview/understand.rb +0 -49
  761. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -406
@@ -0,0 +1,981 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Organization Public API
8
+ # No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
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 PreviewIam < PreviewIamBase
19
+ class Versionless < Version
20
+ class OrganizationContext < InstanceContext
21
+
22
+ class UserList < ListResource
23
+
24
+ class ScimPatchOperation
25
+ # @param [op]: [String] The operation to perform
26
+ # @param [path]: [String]
27
+ # @param [value]: [Hash]
28
+ attr_accessor :op, :path, :value
29
+ def initialize(payload)
30
+ @op = payload["op"]
31
+ @path = payload["path"]
32
+ @value = payload["value"]
33
+ end
34
+ def to_json(options = {})
35
+ {
36
+ "op": @op,
37
+ "path": @path,
38
+ "value": @value,
39
+ }.to_json(options)
40
+ end
41
+ end
42
+
43
+ class ScimPatchRequest
44
+ # @param [schemas]: [Array<String>]
45
+ # @param [operations]: [Array<UserList.ScimPatchOperation>]
46
+ attr_accessor :schemas, :operations
47
+ def initialize(payload)
48
+ @schemas = payload["schemas"]
49
+ @operations = payload["operations"]
50
+ end
51
+ def to_json(options = {})
52
+ {
53
+ "schemas": @schemas,
54
+ "Operations": @operations,
55
+ }.to_json(options)
56
+ end
57
+ end
58
+
59
+ class ScimUser
60
+ # @param [id]: [String] Unique Twilio user sid
61
+ # @param [external_id]: [String] External unique resource id defined by provisioning client
62
+ # @param [user_name]: [String] Unique username, MUST be same as primary email address
63
+ # @param [display_name]: [String] User friendly display name
64
+ # @param [name]: [UserList.ScimName]
65
+ # @param [emails]: [Array<UserList.ScimEmailAddress>] Email address list of the user. Primary email must be defined if there are more than 1 email. Primary email must match the username.
66
+ # @param [active]: [Boolean] Indicates whether the user is active
67
+ # @param [locale]: [String] User's locale
68
+ # @param [timezone]: [String] User's time zone
69
+ # @param [schemas]: [Array<String>] An array of URIs that indicate the schemas supported for this user resource
70
+ # @param [meta]: [UserList.ScimMeta]
71
+ # @param [detail]: [String] A human-readable description of the error
72
+ # @param [scim_type]: [String] A scimType error code as defined in RFC7644
73
+ # @param [status]: [String] Http status code
74
+ # @param [code]: [String] Twilio-specific error code
75
+ # @param [more_info]: [String] Link to Error Code References
76
+ attr_accessor :id, :external_id, :user_name, :display_name, :name, :emails, :active, :locale, :timezone, :schemas, :meta, :detail, :scim_type, :status, :code, :more_info
77
+ def initialize(payload)
78
+ @id = payload["id"]
79
+ @external_id = payload["external_id"]
80
+ @user_name = payload["user_name"]
81
+ @display_name = payload["display_name"]
82
+ @name = payload["name"]
83
+ @emails = payload["emails"]
84
+ @active = payload["active"]
85
+ @locale = payload["locale"]
86
+ @timezone = payload["timezone"]
87
+ @schemas = payload["schemas"]
88
+ @meta = payload["meta"]
89
+ @detail = payload["detail"]
90
+ @scim_type = payload["scim_type"]
91
+ @status = payload["status"]
92
+ @code = payload["code"]
93
+ @more_info = payload["more_info"]
94
+ end
95
+ def to_json(options = {})
96
+ {
97
+ "id": @id,
98
+ "externalId": @external_id,
99
+ "userName": @user_name,
100
+ "displayName": @display_name,
101
+ "name": @name,
102
+ "emails": @emails,
103
+ "active": @active,
104
+ "locale": @locale,
105
+ "timezone": @timezone,
106
+ "schemas": @schemas,
107
+ "meta": @meta,
108
+ "detail": @detail,
109
+ "scimType": @scim_type,
110
+ "status": @status,
111
+ "code": @code,
112
+ "moreInfo": @more_info,
113
+ }.to_json(options)
114
+ end
115
+ end
116
+
117
+
118
+ class ScimPatchOperation
119
+ # @param [op]: [String] The operation to perform
120
+ # @param [path]: [String]
121
+ # @param [value]: [Hash]
122
+ attr_accessor :op, :path, :value
123
+ def initialize(payload)
124
+ @op = payload["op"]
125
+ @path = payload["path"]
126
+ @value = payload["value"]
127
+ end
128
+ def to_json(options = {})
129
+ {
130
+ "op": @op,
131
+ "path": @path,
132
+ "value": @value,
133
+ }.to_json(options)
134
+ end
135
+ end
136
+
137
+ class ScimPatchRequest
138
+ # @param [schemas]: [Array<String>]
139
+ # @param [operations]: [Array<UserList.ScimPatchOperation>]
140
+ attr_accessor :schemas, :operations
141
+ def initialize(payload)
142
+ @schemas = payload["schemas"]
143
+ @operations = payload["operations"]
144
+ end
145
+ def to_json(options = {})
146
+ {
147
+ "schemas": @schemas,
148
+ "Operations": @operations,
149
+ }.to_json(options)
150
+ end
151
+ end
152
+
153
+ class ScimUser
154
+ # @param [id]: [String] Unique Twilio user sid
155
+ # @param [external_id]: [String] External unique resource id defined by provisioning client
156
+ # @param [user_name]: [String] Unique username, MUST be same as primary email address
157
+ # @param [display_name]: [String] User friendly display name
158
+ # @param [name]: [UserList.ScimName]
159
+ # @param [emails]: [Array<UserList.ScimEmailAddress>] Email address list of the user. Primary email must be defined if there are more than 1 email. Primary email must match the username.
160
+ # @param [active]: [Boolean] Indicates whether the user is active
161
+ # @param [locale]: [String] User's locale
162
+ # @param [timezone]: [String] User's time zone
163
+ # @param [schemas]: [Array<String>] An array of URIs that indicate the schemas supported for this user resource
164
+ # @param [meta]: [UserList.ScimMeta]
165
+ # @param [detail]: [String] A human-readable description of the error
166
+ # @param [scim_type]: [String] A scimType error code as defined in RFC7644
167
+ # @param [status]: [String] Http status code
168
+ # @param [code]: [String] Twilio-specific error code
169
+ # @param [more_info]: [String] Link to Error Code References
170
+ attr_accessor :id, :external_id, :user_name, :display_name, :name, :emails, :active, :locale, :timezone, :schemas, :meta, :detail, :scim_type, :status, :code, :more_info
171
+ def initialize(payload)
172
+ @id = payload["id"]
173
+ @external_id = payload["external_id"]
174
+ @user_name = payload["user_name"]
175
+ @display_name = payload["display_name"]
176
+ @name = payload["name"]
177
+ @emails = payload["emails"]
178
+ @active = payload["active"]
179
+ @locale = payload["locale"]
180
+ @timezone = payload["timezone"]
181
+ @schemas = payload["schemas"]
182
+ @meta = payload["meta"]
183
+ @detail = payload["detail"]
184
+ @scim_type = payload["scim_type"]
185
+ @status = payload["status"]
186
+ @code = payload["code"]
187
+ @more_info = payload["more_info"]
188
+ end
189
+ def to_json(options = {})
190
+ {
191
+ "id": @id,
192
+ "externalId": @external_id,
193
+ "userName": @user_name,
194
+ "displayName": @display_name,
195
+ "name": @name,
196
+ "emails": @emails,
197
+ "active": @active,
198
+ "locale": @locale,
199
+ "timezone": @timezone,
200
+ "schemas": @schemas,
201
+ "meta": @meta,
202
+ "detail": @detail,
203
+ "scimType": @scim_type,
204
+ "status": @status,
205
+ "code": @code,
206
+ "moreInfo": @more_info,
207
+ }.to_json(options)
208
+ end
209
+ end
210
+
211
+
212
+ ##
213
+ # Initialize the UserList
214
+ # @param [Version] version Version that contains the resource
215
+ # @return [UserList] UserList
216
+ def initialize(version, organization_sid: nil)
217
+ super(version)
218
+
219
+ # Path Solution
220
+ @solution = { organization_sid: organization_sid }
221
+ @uri = "/#{@solution[:organization_sid]}/scim/Users"
222
+
223
+ end
224
+ ##
225
+ # Create the UserInstance
226
+ # @param [ScimUser] scim_user
227
+ # @return [UserInstance] Created UserInstance
228
+ def create(scim_user: nil
229
+ )
230
+
231
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
232
+
233
+ headers['Content-Type'] = 'application/scim+json'
234
+
235
+ headers['Accept'] = 'application/scim+json'
236
+
237
+ payload = @version.create('POST', @uri, headers: headers, data: scim_user.to_json)
238
+ UserInstance.new(
239
+ @version,
240
+ payload,
241
+ organization_sid: @solution[:organization_sid],
242
+ )
243
+ end
244
+
245
+ ##
246
+ # Create the UserInstanceMetadata
247
+ # @param [ScimUser] scim_user
248
+ # @return [UserInstance] Created UserInstance
249
+ def create_with_metadata(scim_user: nil
250
+ )
251
+
252
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
253
+
254
+ headers['Content-Type'] = 'application/scim+json'
255
+
256
+ headers['Accept'] = 'application/scim+json'
257
+
258
+ response = @version.create_with_metadata('POST', @uri, headers: headers, data: scim_user.to_json)
259
+ user_instance = UserInstance.new(
260
+ @version,
261
+ response.body,
262
+ organization_sid: @solution[:organization_sid],
263
+ )
264
+ UserInstanceMetadata.new(
265
+ @version,
266
+ user_instance,
267
+ response.headers,
268
+ response.status_code
269
+ )
270
+ end
271
+
272
+
273
+ ##
274
+ # Lists UserInstance records from the API as a list.
275
+ # Unlike stream(), this operation is eager and will load `limit` records into
276
+ # memory before returning.
277
+ # @param [String] filter
278
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
279
+ # guarantees to never return more than limit. Default is no limit
280
+ # @param [Integer] page_size Number of records to fetch per request, when
281
+ # not set will use the default value of 50 records. If no page_size is defined
282
+ # but a limit is defined, stream() will attempt to read the limit with the most
283
+ # efficient page size, i.e. min(limit, 1000)
284
+ # @return [Array] Array of up to limit results
285
+ def list(filter: :unset, limit: nil, page_size: nil)
286
+ self.stream(
287
+ filter: filter,
288
+ limit: limit,
289
+ page_size: page_size
290
+ ).entries
291
+ end
292
+
293
+ ##
294
+ # Streams Instance records from the API as an Enumerable.
295
+ # This operation lazily loads records as efficiently as possible until the limit
296
+ # is reached.
297
+ # @param [String] filter
298
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
299
+ # guarantees to never return more than limit. Default is no limit
300
+ # @param [Integer] page_size Number of records to fetch per request, when
301
+ # not set will use the default value of 50 records. If no page_size is defined
302
+ # but a limit is defined, stream() will attempt to read the limit with the most
303
+ # efficient page size, i.e. min(limit, 1000)
304
+ # @return [Enumerable] Enumerable that will yield up to limit results
305
+ def stream(filter: :unset, limit: nil, page_size: nil)
306
+ limits = @version.read_limits(limit, page_size)
307
+
308
+ page = self.page(
309
+ filter: filter,
310
+ page_size: limits[:page_size], )
311
+
312
+ return [].each if page.nil?
313
+
314
+ result = @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
315
+ return [].each if result.nil?
316
+ result
317
+ end
318
+
319
+ ##
320
+ # Lists UserPageMetadata records from the API as a list.
321
+ # @param [String] filter
322
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
323
+ # guarantees to never return more than limit. Default is no limit
324
+ # @param [Integer] page_size Number of records to fetch per request, when
325
+ # not set will use the default value of 50 records. If no page_size is defined
326
+ # but a limit is defined, stream() will attempt to read the limit with the most
327
+ # efficient page size, i.e. min(limit, 1000)
328
+ # @return [Array] Array of up to limit results
329
+ def list_with_metadata(filter: :unset, limit: nil, page_size: nil)
330
+ limits = @version.read_limits(limit, page_size)
331
+ params = Twilio::Values.of({
332
+ 'filter' => filter,
333
+
334
+ 'PageSize' => limits[:page_size],
335
+ });
336
+ headers = Twilio::Values.of({})
337
+
338
+ response = @version.page('GET', @uri, params: params, headers: headers)
339
+
340
+ UserPageMetadata.new(@version, response, @solution, limits[:limit])
341
+ end
342
+
343
+ ##
344
+ # When passed a block, yields UserInstance records from the API.
345
+ # This operation lazily loads records as efficiently as possible until the limit
346
+ # is reached.
347
+ def each
348
+ limits = @version.read_limits
349
+
350
+ page = self.page(page_size: limits[:page_size], )
351
+
352
+ return [].each if page.nil?
353
+
354
+ result = @version.stream(page,
355
+ limit: limits[:limit],
356
+ page_limit: limits[:page_limit])
357
+ return [].each if result.nil?
358
+ result.each {|x| yield x}
359
+ end
360
+
361
+ ##
362
+ # Retrieve a single page of UserInstance records from the API.
363
+ # Request is executed immediately.
364
+ # @param [String] filter
365
+ # @param [String] page_token PageToken provided by the API
366
+ # @param [Integer] page_number Page Number, this value is simply for client state
367
+ # @param [Integer] page_size Number of records to return, defaults to 50
368
+ # @return [Page] Page of UserInstance
369
+ def page(filter: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
370
+ params = Twilio::Values.of({
371
+ 'filter' => filter,
372
+ 'PageToken' => page_token,
373
+ 'Page' => page_number,
374
+ 'PageSize' => page_size,
375
+ })
376
+ headers = Twilio::Values.of({})
377
+
378
+ headers['Accept'] = 'application/scim+json'
379
+
380
+ response = @version.page('GET', @uri, params: params, headers: headers)
381
+
382
+ UserPage.new(@version, response, @solution)
383
+ end
384
+
385
+ ##
386
+ # Retrieve a single page of UserInstance records from the API.
387
+ # Request is executed immediately.
388
+ # @param [String] target_url API-generated URL for the requested results page
389
+ # @return [Page] Page of UserInstance
390
+ def get_page(target_url)
391
+ response = @version.domain.request(
392
+ 'GET',
393
+ target_url
394
+ )
395
+ UserPage.new(@version, response, @solution)
396
+ end
397
+
398
+
399
+
400
+ # Provide a user friendly representation
401
+ def to_s
402
+ '#<Twilio.PreviewIam.Versionless.UserList>'
403
+ end
404
+ end
405
+
406
+
407
+ class UserContext < InstanceContext
408
+ ##
409
+ # Initialize the UserContext
410
+ # @param [Version] version Version that contains the resource
411
+ # @param [String] organization_sid
412
+ # @param [String] id
413
+ # @return [UserContext] UserContext
414
+ def initialize(version, organization_sid, id)
415
+ super(version)
416
+
417
+
418
+ # Path Solution
419
+ @solution = { organization_sid: organization_sid, id: id, }
420
+ @uri = "/#{@solution[:organization_sid]}/scim/Users/#{@solution[:id]}"
421
+
422
+
423
+ end
424
+ ##
425
+ # Delete the UserInstance
426
+ # @return [Boolean] True if delete succeeds, false otherwise
427
+ def delete
428
+
429
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
430
+
431
+
432
+ headers['Accept'] = '*/*'
433
+
434
+ @version.delete('DELETE', @uri, headers: headers)
435
+ end
436
+
437
+ ##
438
+ # Delete the UserInstanceMetadata
439
+ # @return [Boolean] True if delete succeeds, false otherwise
440
+ def delete_with_metadata
441
+
442
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
443
+
444
+
445
+ headers['Accept'] = '*/*'
446
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
447
+ user_instance = UserInstance.new(
448
+ @version,
449
+ response.body,
450
+ account_sid: @solution[:account_sid],
451
+ sid: @solution[:sid],
452
+ )
453
+ UserInstanceMetadata.new(@version, user_instance, response.headers, response.status_code)
454
+ end
455
+
456
+ ##
457
+ # Fetch the UserInstance
458
+ # @return [UserInstance] Fetched UserInstance
459
+ def fetch
460
+
461
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
462
+
463
+
464
+
465
+ headers['Accept'] = 'application/scim+json'
466
+
467
+ payload = @version.fetch('GET', @uri, headers: headers)
468
+ UserInstance.new(
469
+ @version,
470
+ payload,
471
+ organization_sid: @solution[:organization_sid],
472
+ id: @solution[:id],
473
+ )
474
+ end
475
+
476
+ ##
477
+ # Fetch the UserInstanceMetadata
478
+ # @return [UserInstance] Fetched UserInstance
479
+ def fetch_with_metadata
480
+
481
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
482
+
483
+
484
+
485
+ headers['Accept'] = 'application/scim+json'
486
+
487
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
488
+ user_instance = UserInstance.new(
489
+ @version,
490
+ response.body,
491
+ organization_sid: @solution[:organization_sid],
492
+ id: @solution[:id],
493
+ )
494
+ UserInstanceMetadata.new(
495
+ @version,
496
+ user_instance,
497
+ response.headers,
498
+ response.status_code
499
+ )
500
+ end
501
+
502
+ ##
503
+ # Patch the UserInstance
504
+ # @param [String] if_match
505
+ # @param [ScimPatchRequest] scim_patch_request
506
+ # @return [UserInstance] Patched UserInstance
507
+ def patch(
508
+ if_match: :unset,
509
+ scim_patch_request: nil
510
+ )
511
+
512
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
513
+
514
+ headers['Content-Type'] = 'application/scim+json'
515
+
516
+ headers['Accept'] = 'application/scim+json'
517
+
518
+ payload = @version.patch('PATCH', @uri, headers: headers, data: scim_patch_request.to_json)
519
+ UserInstance.new(
520
+ @version,
521
+ payload,
522
+ organization_sid: @solution[:organization_sid],
523
+ id: @solution[:id],
524
+ )
525
+ end
526
+
527
+ ##
528
+ # Patch the UserInstanceMetadata
529
+ # @param [String] if_match
530
+ # @param [ScimPatchRequest] scim_patch_request
531
+ # @return [UserInstance] Patchd UserInstance
532
+ def patch_with_metadata(
533
+ if_match: :unset,
534
+ scim_patch_request: nil
535
+ )
536
+
537
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
538
+
539
+ headers['Content-Type'] = 'application/scim+json'
540
+
541
+ headers['Accept'] = 'application/scim+json'
542
+
543
+ response = @version.patch_with_metadata('PATCH', @uri, headers: headers, data: scim_patch_request.to_json)
544
+ user_instance = UserInstance.new(
545
+ @version,
546
+ response.body,
547
+ organization_sid: @solution[:organization_sid],
548
+ id: @solution[:id],
549
+ )
550
+ UserInstanceMetadata.new(
551
+ @version,
552
+ user_instance,
553
+ response.headers,
554
+ response.status_code
555
+ )
556
+ end
557
+
558
+ ##
559
+ # Update the UserInstance
560
+ # @param [String] if_match
561
+ # @param [ScimUser] scim_user
562
+ # @return [UserInstance] Updated UserInstance
563
+ def update(
564
+ if_match: :unset,
565
+ scim_user: nil
566
+ )
567
+
568
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
569
+
570
+ headers['Content-Type'] = 'application/scim+json'
571
+
572
+ headers['Accept'] = 'application/scim+json'
573
+
574
+ payload = @version.update('PUT', @uri, headers: headers, data: scim_user.to_json)
575
+ UserInstance.new(
576
+ @version,
577
+ payload,
578
+ organization_sid: @solution[:organization_sid],
579
+ id: @solution[:id],
580
+ )
581
+ end
582
+
583
+ ##
584
+ # Update the UserInstanceMetadata
585
+ # @param [String] if_match
586
+ # @param [ScimUser] scim_user
587
+ # @return [UserInstance] Updated UserInstance
588
+ def update_with_metadata(
589
+ if_match: :unset,
590
+ scim_user: nil
591
+ )
592
+
593
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', 'If-Match' => if_match, })
594
+
595
+ headers['Content-Type'] = 'application/scim+json'
596
+
597
+ headers['Accept'] = 'application/scim+json'
598
+
599
+ response = @version.update_with_metadata('PUT', @uri, headers: headers, data: scim_user.to_json)
600
+ user_instance = UserInstance.new(
601
+ @version,
602
+ response.body,
603
+ organization_sid: @solution[:organization_sid],
604
+ id: @solution[:id],
605
+ )
606
+ UserInstanceMetadata.new(
607
+ @version,
608
+ user_instance,
609
+ response.headers,
610
+ response.status_code
611
+ )
612
+ end
613
+
614
+
615
+ ##
616
+ # Provide a user friendly representation
617
+ def to_s
618
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
619
+ "#<Twilio.PreviewIam.Versionless.UserContext #{context}>"
620
+ end
621
+
622
+ ##
623
+ # Provide a detailed, user friendly representation
624
+ def inspect
625
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
626
+ "#<Twilio.PreviewIam.Versionless.UserContext #{context}>"
627
+ end
628
+ end
629
+
630
+ class UserInstanceMetadata < InstanceResourceMetadata
631
+ ##
632
+ # Initializes a new UserInstanceMetadata.
633
+ # @param [Version] version Version that contains the resource
634
+ # @param [}UserInstance] user_instance The instance associated with the metadata.
635
+ # @param [Hash] headers Header object with response headers.
636
+ # @param [Integer] status_code The HTTP status code of the response.
637
+ # @return [UserInstanceMetadata] The initialized instance with metadata.
638
+ def initialize(version, user_instance, headers, status_code)
639
+ super(version, headers, status_code)
640
+ @user_instance = user_instance
641
+ end
642
+
643
+ def user
644
+ @user_instance
645
+ end
646
+
647
+ def headers
648
+ @headers
649
+ end
650
+
651
+ def status_code
652
+ @status_code
653
+ end
654
+
655
+ def to_s
656
+ "<Twilio.Api.V2010.UserInstanceMetadata status=#{@status_code}>"
657
+ end
658
+ end
659
+
660
+ class UserListResponse < InstanceListResource
661
+ # @param [Array<UserInstance>] instance
662
+ # @param [Hash{String => Object}] headers
663
+ # @param [Integer] status_code
664
+ def initialize(version, payload, key)
665
+ @user_instance = payload.body[key].map do |data|
666
+ UserInstance.new(version, data)
667
+ end
668
+ @headers = payload.headers
669
+ @status_code = payload.status_code
670
+ end
671
+
672
+ def user_instance
673
+ @instance
674
+ end
675
+ end
676
+
677
+ class UserPage < Page
678
+ ##
679
+ # Initialize the UserPage
680
+ # @param [Version] version Version that contains the resource
681
+ # @param [Response] response Response from the API
682
+ # @param [Hash] solution Path solution for the resource
683
+ # @return [UserPage] UserPage
684
+ def initialize(version, response, solution)
685
+ super(version, response)
686
+
687
+
688
+ # Path Solution
689
+ @solution = solution
690
+ end
691
+
692
+ ##
693
+ # Build an instance of UserInstance
694
+ # @param [Hash] payload Payload response from the API
695
+ # @return [UserInstance] UserInstance
696
+ def get_instance(payload)
697
+ UserInstance.new(@version, payload, organization_sid: @solution[:organization_sid])
698
+ end
699
+
700
+ ##
701
+ # Provide a user friendly representation
702
+ def to_s
703
+ '<Twilio.PreviewIam.Versionless.UserPage>'
704
+ end
705
+ end
706
+
707
+ class UserPageMetadata < PageMetadata
708
+ attr_reader :user_page
709
+
710
+ def initialize(version, response, solution, limit)
711
+ super(version, response)
712
+ @user_page = []
713
+ @limit = limit
714
+ key = get_key(response.body)
715
+ records = 0
716
+ while( limit != :unset && records < limit )
717
+ @user_page << UserListResponse.new(version, @payload, key, limit - records)
718
+ @payload = self.next_page
719
+ break unless @payload
720
+ records += (@payload.body[key] || []).size
721
+ end
722
+ # Path Solution
723
+ @solution = solution
724
+ end
725
+
726
+ def each
727
+ @user_page.each do |record|
728
+ yield record
729
+ end
730
+ end
731
+
732
+ def to_s
733
+ '<Twilio::REST::PreviewIam::VersionlessPageMetadata>';
734
+ end
735
+ end
736
+ class UserListResponse < InstanceListResource
737
+
738
+ # @param [Array<UserInstance>] instance
739
+ # @param [Hash{String => Object}] headers
740
+ # @param [Integer] status_code
741
+ def initialize(version, payload, key, limit = :unset)
742
+ data_list = payload.body[key] || []
743
+ if limit != :unset
744
+ data_list = data_list[0, limit]
745
+ end
746
+ @user = data_list.map do |data|
747
+ UserInstance.new(version, data)
748
+ end
749
+ @headers = payload.headers
750
+ @status_code = payload.status_code
751
+ end
752
+
753
+ def user
754
+ @user
755
+ end
756
+
757
+ def headers
758
+ @headers
759
+ end
760
+
761
+ def status_code
762
+ @status_code
763
+ end
764
+ end
765
+
766
+ class UserInstance < InstanceResource
767
+ ##
768
+ # Initialize the UserInstance
769
+ # @param [Version] version Version that contains the resource
770
+ # @param [Hash] payload payload that contains response from Twilio
771
+ # @param [String] account_sid The SID of the
772
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this User
773
+ # resource.
774
+ # @param [String] sid The SID of the Call resource to fetch.
775
+ # @return [UserInstance] UserInstance
776
+ def initialize(version, payload , organization_sid: nil, id: nil)
777
+ super(version)
778
+
779
+
780
+ # Marshaled Properties
781
+ @properties = {
782
+ 'id' => payload['id'],
783
+ 'external_id' => payload['external_id'],
784
+ 'user_name' => payload['user_name'],
785
+ 'display_name' => payload['display_name'],
786
+ 'name' => payload['name'],
787
+ 'emails' => payload['emails'],
788
+ 'active' => payload['active'],
789
+ 'locale' => payload['locale'],
790
+ 'timezone' => payload['timezone'],
791
+ 'schemas' => payload['schemas'],
792
+ 'meta' => payload['meta'],
793
+ 'detail' => payload['detail'],
794
+ 'scim_type' => payload['scim_type'],
795
+ 'status' => payload['status'],
796
+ 'code' => payload['code'],
797
+ 'more_info' => payload['more_info'],
798
+ }
799
+
800
+ # Context
801
+ @instance_context = nil
802
+ @params = { 'organization_sid' => organization_sid || @properties['organization_sid'] ,'id' => id || @properties['id'] , }
803
+ end
804
+
805
+ ##
806
+ # Generate an instance context for the instance, the context is capable of
807
+ # performing various actions. All instance actions are proxied to the context
808
+ # @return [UserContext] CallContext for this CallInstance
809
+ def context
810
+ unless @instance_context
811
+ @instance_context = UserContext.new(@version , @params['organization_sid'], @params['id'])
812
+ end
813
+ @instance_context
814
+ end
815
+
816
+ ##
817
+ # @return [String] Unique Twilio user sid
818
+ def id
819
+ @properties['id']
820
+ end
821
+
822
+ ##
823
+ # @return [String] External unique resource id defined by provisioning client
824
+ def external_id
825
+ @properties['external_id']
826
+ end
827
+
828
+ ##
829
+ # @return [String] Unique username, MUST be same as primary email address
830
+ def user_name
831
+ @properties['user_name']
832
+ end
833
+
834
+ ##
835
+ # @return [String] User friendly display name
836
+ def display_name
837
+ @properties['display_name']
838
+ end
839
+
840
+ ##
841
+ # @return [UserList.ScimName]
842
+ def name
843
+ @properties['name']
844
+ end
845
+
846
+ ##
847
+ # @return [Array<UserList.ScimEmailAddress>] Email address list of the user. Primary email must be defined if there are more than 1 email. Primary email must match the username.
848
+ def emails
849
+ @properties['emails']
850
+ end
851
+
852
+ ##
853
+ # @return [Boolean] Indicates whether the user is active
854
+ def active
855
+ @properties['active']
856
+ end
857
+
858
+ ##
859
+ # @return [String] User's locale
860
+ def locale
861
+ @properties['locale']
862
+ end
863
+
864
+ ##
865
+ # @return [String] User's time zone
866
+ def timezone
867
+ @properties['timezone']
868
+ end
869
+
870
+ ##
871
+ # @return [Array<String>] An array of URIs that indicate the schemas supported for this user resource
872
+ def schemas
873
+ @properties['schemas']
874
+ end
875
+
876
+ ##
877
+ # @return [UserList.ScimMeta]
878
+ def meta
879
+ @properties['meta']
880
+ end
881
+
882
+ ##
883
+ # @return [String] A human-readable description of the error
884
+ def detail
885
+ @properties['detail']
886
+ end
887
+
888
+ ##
889
+ # @return [String] A scimType error code as defined in RFC7644
890
+ def scim_type
891
+ @properties['scim_type']
892
+ end
893
+
894
+ ##
895
+ # @return [String] Http status code
896
+ def status
897
+ @properties['status']
898
+ end
899
+
900
+ ##
901
+ # @return [String] Twilio-specific error code
902
+ def code
903
+ @properties['code']
904
+ end
905
+
906
+ ##
907
+ # @return [String] Link to Error Code References
908
+ def more_info
909
+ @properties['more_info']
910
+ end
911
+
912
+ ##
913
+ # Delete the UserInstance
914
+ # @return [Boolean] True if delete succeeds, false otherwise
915
+ def delete
916
+
917
+ context.delete
918
+ end
919
+
920
+ ##
921
+ # Fetch the UserInstance
922
+ # @return [UserInstance] Fetched UserInstance
923
+ def fetch
924
+
925
+ context.fetch
926
+ end
927
+
928
+ ##
929
+ # Patch the UserInstance
930
+ # @param [String] if_match
931
+ # @param [ScimPatchRequest] scim_patch_request
932
+ # @return [UserInstance] Patched UserInstance
933
+ def patch(
934
+ if_match: :unset,
935
+ scim_patch_request: nil
936
+ )
937
+
938
+ context.patch(
939
+ if_match: if_match,
940
+ scim_patch_request: scim_patch_request,
941
+ )
942
+ end
943
+
944
+ ##
945
+ # Update the UserInstance
946
+ # @param [String] if_match
947
+ # @param [ScimUser] scim_user
948
+ # @return [UserInstance] Updated UserInstance
949
+ def update(
950
+ if_match: :unset,
951
+ scim_user: nil
952
+ )
953
+
954
+ context.update(
955
+ if_match: if_match,
956
+ scim_user: scim_user,
957
+ )
958
+ end
959
+
960
+ ##
961
+ # Provide a user friendly representation
962
+ def to_s
963
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
964
+ "<Twilio.PreviewIam.Versionless.UserInstance #{values}>"
965
+ end
966
+
967
+ ##
968
+ # Provide a detailed, user friendly representation
969
+ def inspect
970
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
971
+ "<Twilio.PreviewIam.Versionless.UserInstance #{values}>"
972
+ end
973
+ end
974
+
975
+ end
976
+ end
977
+ end
978
+ end
979
+ end
980
+
981
+