twilio-ruby 7.3.3 → 7.10.1

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 (607) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +10 -2
  5. data/.gitignore +1 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +543 -0
  8. data/Dockerfile +2 -1
  9. data/Gemfile +2 -0
  10. data/Makefile +1 -1
  11. data/README.md +7 -2
  12. data/cluster/cluster_oauth_spec.rb +19 -0
  13. data/cluster/cluster_orgs_spec.rb +40 -0
  14. data/{cluster_spec.rb → cluster/cluster_spec.rb} +0 -2
  15. data/examples/public_oauth.rb +13 -0
  16. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  17. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  18. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  19. data/lib/twilio-ruby/base/client_base.rb +8 -1
  20. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  21. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  22. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  23. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  24. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  25. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  26. data/lib/twilio-ruby/framework/rest/error.rb +27 -0
  27. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  28. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  29. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  30. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  31. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  32. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  33. data/lib/twilio-ruby/http/http_client.rb +9 -0
  34. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  35. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +139 -0
  36. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +99 -1
  37. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +98 -0
  38. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +266 -2
  39. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +266 -2
  40. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  41. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +164 -4
  43. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +161 -0
  44. data/lib/twilio-ruby/rest/accounts/v1.rb +6 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +90 -2
  46. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +333 -7
  47. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +355 -2
  48. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +168 -2
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +129 -5
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +129 -5
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +129 -5
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +129 -5
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +129 -5
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +129 -5
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +129 -5
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +168 -2
  57. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +92 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +90 -2
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +177 -2
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +240 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +290 -2
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +792 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +792 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +235 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +103 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +176 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +428 -15
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +464 -8
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +238 -2
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +228 -3
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +248 -2
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +170 -2
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +228 -2
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +200 -2
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +200 -2
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +200 -2
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +413 -2
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +227 -2
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +100 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +197 -2
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +354 -8
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +99 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +99 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +176 -2
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +231 -2
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +210 -2
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +269 -2
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +143 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +192 -2
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +191 -2
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +191 -2
  92. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +209 -3
  93. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +224 -2
  94. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +227 -2
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +269 -2
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +263 -2
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +228 -2
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +228 -2
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +228 -2
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +228 -2
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +228 -2
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +335 -2
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +278 -2
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +263 -2
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +99 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +190 -2
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +102 -6
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +102 -6
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +102 -6
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +102 -6
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +102 -6
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +102 -6
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +102 -6
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +102 -6
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +102 -6
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +298 -7
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +114 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account.rb +245 -2
  124. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +197 -2
  125. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +190 -2
  126. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +126 -6
  127. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +100 -5
  128. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +282 -32
  129. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +90 -2
  130. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +140 -0
  131. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +309 -38
  132. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +94 -2
  133. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +90 -2
  134. data/lib/twilio-ruby/rest/assistants/v1/session.rb +167 -2
  135. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +292 -40
  136. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +168 -2
  137. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +142 -3
  138. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +163 -1
  139. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +140 -0
  140. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +182 -0
  141. data/lib/twilio-ruby/rest/chat/v1/credential.rb +293 -2
  142. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +234 -2
  143. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +275 -2
  144. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +277 -2
  145. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +281 -2
  146. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +269 -2
  147. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +90 -2
  148. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +278 -2
  149. data/lib/twilio-ruby/rest/chat/v1/service.rb +419 -2
  150. data/lib/twilio-ruby/rest/chat/v2/credential.rb +293 -2
  151. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +196 -2
  152. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +234 -2
  153. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +309 -2
  154. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +308 -2
  155. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +299 -2
  156. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +306 -2
  157. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +269 -2
  158. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +194 -2
  159. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +238 -2
  160. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +282 -2
  161. data/lib/twilio-ruby/rest/chat/v2/service.rb +350 -2
  162. data/lib/twilio-ruby/rest/chat/v3/channel.rb +153 -0
  163. data/lib/twilio-ruby/rest/client.rb +10 -5
  164. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +97 -2
  165. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +140 -0
  166. data/lib/twilio-ruby/rest/content/v1/content.rb +1096 -126
  167. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +90 -2
  168. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +90 -2
  169. data/lib/twilio-ruby/rest/content/v2/content.rb +111 -2
  170. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +111 -2
  171. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +319 -2
  172. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +189 -3
  173. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +183 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +169 -2
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +311 -2
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +315 -2
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +293 -2
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +356 -25
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +296 -2
  181. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +94 -2
  182. data/lib/twilio-ruby/rest/conversations/v1/role.rb +266 -2
  183. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +199 -5
  184. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +212 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +185 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +201 -16
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +170 -2
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +314 -2
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +318 -2
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +296 -2
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +360 -26
  192. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +94 -2
  194. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +269 -2
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +235 -2
  196. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +285 -2
  197. data/lib/twilio-ruby/rest/conversations/v1/service.rb +261 -20
  198. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +233 -2
  199. data/lib/twilio-ruby/rest/conversations/v1/user.rb +282 -2
  200. data/lib/twilio-ruby/rest/conversations/v1.rb +6 -0
  201. data/lib/twilio-ruby/rest/events/v1/event_type.rb +169 -2
  202. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +168 -2
  203. data/lib/twilio-ruby/rest/events/v1/schema.rb +140 -0
  204. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +92 -0
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +99 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink.rb +270 -2
  207. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +266 -2
  208. data/lib/twilio-ruby/rest/events/v1/subscription.rb +270 -10
  209. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +253 -5
  210. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +251 -2
  211. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +175 -0
  212. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +358 -2
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +151 -5
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +94 -2
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +292 -2
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +240 -2
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +267 -2
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +97 -2
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +142 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +94 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +94 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +142 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +127 -2
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +219 -2
  226. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +235 -2
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +266 -1
  229. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +226 -2
  230. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +256 -2
  231. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +143 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +173 -2
  233. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +215 -2
  234. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +143 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +209 -2
  236. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +144 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +139 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +278 -2
  239. data/lib/twilio-ruby/rest/flex_api/v1.rb +6 -0
  240. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +184 -39
  241. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +115 -0
  242. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +185 -0
  243. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +201 -0
  244. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +99 -2
  245. data/lib/twilio-ruby/rest/iam/v1/{key.rb → new_api_key.rb} +127 -20
  246. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  247. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  248. data/lib/twilio-ruby/rest/iam/v1.rb +25 -4
  249. data/lib/twilio-ruby/rest/iam_base.rb +1 -6
  250. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +194 -0
  251. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +146 -0
  252. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +92 -2
  253. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +94 -2
  254. data/lib/twilio-ruby/rest/insights/v1/call.rb +140 -0
  255. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +188 -4
  256. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +183 -2
  257. data/lib/twilio-ruby/rest/insights/v1/conference.rb +187 -2
  258. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +168 -2
  259. data/lib/twilio-ruby/rest/insights/v1/room.rb +179 -2
  260. data/lib/twilio-ruby/rest/insights/v1/setting.rb +186 -0
  261. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +275 -2
  262. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +171 -2
  263. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +163 -0
  264. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +140 -0
  265. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +167 -2
  266. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +171 -2
  267. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +330 -3
  268. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  269. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  270. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +146 -0
  271. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +183 -2
  272. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +97 -5
  273. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +292 -2
  274. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +293 -2
  275. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +234 -2
  276. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +275 -2
  277. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +277 -2
  278. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +281 -2
  279. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +269 -2
  280. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +90 -2
  281. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +278 -2
  282. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +419 -2
  283. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +293 -2
  284. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +196 -2
  285. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +234 -2
  286. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +309 -2
  287. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +308 -2
  288. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +299 -2
  289. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +306 -2
  290. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +269 -2
  291. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +194 -2
  292. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +235 -2
  293. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +282 -2
  294. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +350 -2
  295. data/lib/twilio-ruby/rest/{microvisor/v1/app.rb → knowledge/v1/knowledge/chunk.rb} +133 -168
  296. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  297. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  298. data/lib/twilio-ruby/rest/{preview/sync.rb → knowledge/v1.rb} +16 -16
  299. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  300. data/lib/twilio-ruby/rest/{microvisor_base.rb → knowledge_base.rb} +6 -6
  301. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +157 -2
  302. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  303. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  304. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +209 -15
  305. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  306. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  307. data/lib/twilio-ruby/rest/lookups/v2.rb +86 -0
  308. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +168 -2
  309. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +167 -2
  310. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +205 -2
  311. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +97 -2
  312. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +272 -2
  313. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  314. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +201 -0
  315. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +99 -63
  316. data/lib/twilio-ruby/rest/marketplace/v1.rb +8 -2
  317. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +92 -0
  318. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +209 -2
  319. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +261 -2
  320. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +145 -0
  321. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +198 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +185 -0
  323. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +140 -0
  324. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  325. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +104 -0
  326. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +163 -0
  327. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +140 -0
  328. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  329. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +226 -2
  330. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +226 -2
  331. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  332. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +226 -2
  333. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +226 -2
  334. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +326 -2
  335. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +98 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/service.rb +381 -6
  337. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +731 -7
  338. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +91 -0
  339. data/lib/twilio-ruby/rest/messaging/v1.rb +30 -0
  340. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  341. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  342. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  343. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  344. data/lib/twilio-ruby/rest/messaging_base.rb +6 -1
  345. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +173 -2
  346. data/lib/twilio-ruby/rest/monitor/v1/event.rb +180 -3
  347. data/lib/twilio-ruby/rest/notify/v1/credential.rb +293 -2
  348. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +254 -2
  349. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +150 -0
  350. data/lib/twilio-ruby/rest/notify/v1/service.rb +340 -2
  351. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +170 -0
  352. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +93 -0
  353. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  354. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +330 -8
  355. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +163 -0
  356. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +149 -0
  357. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +93 -0
  358. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +133 -0
  359. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +124 -2
  360. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +91 -0
  361. data/lib/twilio-ruby/rest/numbers/v1.rb +6 -0
  362. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  363. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +98 -2
  364. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +243 -2
  365. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +176 -0
  366. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +153 -0
  367. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +411 -3
  368. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +126 -2
  369. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +197 -2
  370. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +226 -2
  371. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +99 -0
  372. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +312 -2
  373. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +269 -2
  374. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +167 -2
  375. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +181 -2
  376. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +269 -2
  377. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +167 -2
  378. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  379. data/lib/twilio-ruby/rest/numbers/v2.rb +15 -0
  380. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  381. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  382. data/lib/twilio-ruby/rest/numbers_base.rb +5 -0
  383. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +109 -0
  384. data/lib/twilio-ruby/rest/oauth/v1/token.rb +119 -0
  385. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  386. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  387. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  388. data/lib/twilio-ruby/rest/oauth_base.rb +6 -1
  389. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +100 -2
  390. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +275 -2
  391. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +345 -2
  392. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +168 -2
  393. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +167 -2
  394. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +205 -2
  395. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +272 -2
  396. data/lib/twilio-ruby/rest/preview/wireless/command.rb +228 -2
  397. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +290 -2
  398. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +149 -0
  399. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +258 -2
  400. data/lib/twilio-ruby/rest/preview.rb +0 -9
  401. data/lib/twilio-ruby/rest/preview_base.rb +0 -5
  402. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  403. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  404. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  405. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  406. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  407. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  408. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  409. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  410. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  411. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  412. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +167 -2
  413. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  414. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +167 -2
  415. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  416. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +167 -2
  417. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +140 -0
  418. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  419. data/lib/twilio-ruby/rest/pricing/v2/country.rb +167 -2
  420. data/lib/twilio-ruby/rest/pricing/v2/number.rb +146 -0
  421. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +167 -2
  422. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +146 -0
  423. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  424. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +269 -2
  425. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +191 -2
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +211 -2
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +237 -2
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +284 -2
  429. data/lib/twilio-ruby/rest/proxy/v1/service.rb +302 -29
  430. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +179 -0
  431. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +179 -0
  432. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +179 -0
  433. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +169 -2
  434. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +263 -2
  435. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +141 -0
  436. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +235 -2
  437. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +209 -2
  438. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +176 -3
  439. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +272 -2
  440. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +229 -2
  441. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +142 -0
  442. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +169 -2
  443. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +263 -2
  444. data/lib/twilio-ruby/rest/serverless/v1/service.rb +275 -2
  445. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +141 -0
  446. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +142 -0
  447. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +183 -2
  448. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +232 -2
  449. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +141 -0
  450. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +142 -0
  451. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +183 -2
  452. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +273 -2
  453. data/lib/twilio-ruby/rest/studio/v1/flow.rb +189 -2
  454. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +141 -0
  455. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +142 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +183 -2
  457. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +273 -2
  458. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +168 -2
  459. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +176 -0
  460. data/lib/twilio-ruby/rest/studio/v2/flow.rb +278 -2
  461. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +107 -0
  462. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +217 -2
  463. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +282 -2
  464. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +225 -2
  465. data/lib/twilio-ruby/rest/supersim/v1/network.rb +173 -2
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +226 -2
  467. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +241 -2
  468. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +94 -2
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +90 -2
  470. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +90 -2
  471. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +262 -2
  472. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +217 -2
  473. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +106 -2
  474. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +235 -2
  475. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +275 -3
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +295 -2
  477. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +235 -2
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +274 -4
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +298 -2
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +235 -2
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +274 -4
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +100 -0
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +267 -3
  484. data/lib/twilio-ruby/rest/sync/v1/service.rb +299 -5
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +270 -2
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +190 -2
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +374 -4
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +329 -3
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +272 -2
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +94 -0
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +159 -0
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +147 -0
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +159 -0
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +102 -2
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +301 -2
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +366 -4
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +210 -2
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +156 -0
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +155 -0
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +146 -0
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +164 -0
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +299 -2
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +159 -0
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +147 -0
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +159 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +292 -2
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +158 -0
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +146 -0
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +158 -0
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +295 -2
  511. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +226 -2
  512. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +226 -2
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +287 -2
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +227 -3
  515. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +179 -0
  516. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +309 -2
  517. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +195 -4
  518. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +299 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +255 -1
  520. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +233 -2
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +228 -2
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +204 -2
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +284 -2
  524. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +269 -2
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +167 -2
  526. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +167 -2
  527. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +269 -2
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +167 -2
  529. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +233 -2
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +228 -2
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +204 -2
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +284 -2
  533. data/lib/twilio-ruby/rest/verify/v2/form.rb +140 -0
  534. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +197 -0
  535. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +186 -0
  536. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  537. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +101 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +268 -2
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +253 -2
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +146 -0
  541. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +226 -2
  542. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +266 -2
  543. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  544. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  545. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +272 -2
  547. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +266 -2
  548. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +265 -0
  549. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +114 -0
  550. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +287 -2
  551. data/lib/twilio-ruby/rest/verify/v2/service.rb +547 -3
  552. data/lib/twilio-ruby/rest/verify/v2/template.rb +92 -2
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +186 -5
  554. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +163 -3
  555. data/lib/twilio-ruby/rest/video/v1/composition.rb +256 -2
  556. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +322 -2
  557. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +189 -0
  558. data/lib/twilio-ruby/rest/video/v1/recording.rb +202 -2
  559. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +189 -0
  560. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +141 -0
  561. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +169 -2
  562. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +130 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +169 -2
  564. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +213 -2
  565. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +128 -0
  566. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +198 -2
  567. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  568. data/lib/twilio-ruby/rest/video/v1/room.rb +341 -16
  569. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +133 -0
  570. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +314 -2
  571. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +287 -2
  572. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +260 -2
  573. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +98 -0
  574. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +90 -2
  575. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +179 -2
  576. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +174 -0
  577. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  578. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +266 -2
  579. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +263 -2
  580. data/lib/twilio-ruby/rest/wireless/v1/command.rb +250 -2
  581. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +300 -3
  582. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +90 -2
  583. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +96 -2
  584. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +286 -2
  585. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +96 -2
  586. data/lib/twilio-ruby/twiml/voice_response.rb +305 -10
  587. data/lib/twilio-ruby/version.rb +1 -1
  588. data/twilio-ruby.gemspec +1 -1
  589. metadata +76 -32
  590. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +0 -365
  591. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +0 -358
  592. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +0 -209
  593. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +0 -381
  594. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +0 -374
  595. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -430
  596. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -94
  597. data/lib/twilio-ruby/rest/microvisor.rb +0 -24
  598. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -394
  599. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -455
  600. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -450
  601. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -394
  602. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -431
  603. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -453
  604. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -394
  605. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -431
  606. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -512
  607. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -413
@@ -25,6 +25,7 @@ module Twilio
25
25
  # @return [CredentialList] CredentialList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
  @uri = "/Credentials"
@@ -62,6 +63,10 @@ module Twilio
62
63
 
63
64
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
64
65
 
66
+
67
+
68
+
69
+
65
70
  payload = @version.create('POST', @uri, data: data, headers: headers)
66
71
  CredentialInstance.new(
67
72
  @version,
@@ -69,6 +74,55 @@ module Twilio
69
74
  )
70
75
  end
71
76
 
77
+ ##
78
+ # Create the CredentialInstanceMetadata
79
+ # @param [PushService] type
80
+ # @param [String] friendly_name
81
+ # @param [String] certificate
82
+ # @param [String] private_key
83
+ # @param [Boolean] sandbox
84
+ # @param [String] api_key
85
+ # @param [String] secret
86
+ # @return [CredentialInstance] Created CredentialInstance
87
+ def create_with_metadata(
88
+ type: nil,
89
+ friendly_name: :unset,
90
+ certificate: :unset,
91
+ private_key: :unset,
92
+ sandbox: :unset,
93
+ api_key: :unset,
94
+ secret: :unset
95
+ )
96
+
97
+ data = Twilio::Values.of({
98
+ 'Type' => type,
99
+ 'FriendlyName' => friendly_name,
100
+ 'Certificate' => certificate,
101
+ 'PrivateKey' => private_key,
102
+ 'Sandbox' => sandbox,
103
+ 'ApiKey' => api_key,
104
+ 'Secret' => secret,
105
+ })
106
+
107
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
108
+
109
+
110
+
111
+
112
+
113
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
114
+ credential_instance = CredentialInstance.new(
115
+ @version,
116
+ response.body,
117
+ )
118
+ CredentialInstanceMetadata.new(
119
+ @version,
120
+ credential_instance,
121
+ response.headers,
122
+ response.status_code
123
+ )
124
+ end
125
+
72
126
 
73
127
  ##
74
128
  # Lists CredentialInstance records from the API as a list.
@@ -108,6 +162,28 @@ module Twilio
108
162
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
109
163
  end
110
164
 
165
+ ##
166
+ # Lists CredentialPageMetadata records from the API as a list.
167
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
168
+ # guarantees to never return more than limit. Default is no limit
169
+ # @param [Integer] page_size Number of records to fetch per request, when
170
+ # not set will use the default value of 50 records. If no page_size is defined
171
+ # but a limit is defined, stream() will attempt to read the limit with the most
172
+ # efficient page size, i.e. min(limit, 1000)
173
+ # @return [Array] Array of up to limit results
174
+ def list_with_metadata(limit: nil, page_size: nil)
175
+ limits = @version.read_limits(limit, page_size)
176
+ params = Twilio::Values.of({
177
+
178
+ 'PageSize' => limits[:page_size],
179
+ });
180
+ headers = Twilio::Values.of({})
181
+
182
+ response = @version.page('GET', @uri, params: params, headers: headers)
183
+
184
+ CredentialPageMetadata.new(@version, response, @solution, limits[:limit])
185
+ end
186
+
111
187
  ##
112
188
  # When passed a block, yields CredentialInstance records from the API.
113
189
  # This operation lazily loads records as efficiently as possible until the limit
@@ -129,14 +205,17 @@ module Twilio
129
205
  # @param [Integer] page_number Page Number, this value is simply for client state
130
206
  # @param [Integer] page_size Number of records to return, defaults to 50
131
207
  # @return [Page] Page of CredentialInstance
132
- def page(page_token: :unset, page_number: :unset, page_size: :unset)
208
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
133
209
  params = Twilio::Values.of({
134
210
  'PageToken' => page_token,
135
211
  'Page' => page_number,
136
212
  'PageSize' => page_size,
137
213
  })
214
+ headers = Twilio::Values.of({})
215
+
216
+
138
217
 
139
- response = @version.page('GET', @uri, params: params)
218
+ response = @version.page('GET', @uri, params: params, headers: headers)
140
219
 
141
220
  CredentialPage.new(@version, response, @solution)
142
221
  end
@@ -171,6 +250,7 @@ module Twilio
171
250
  # @return [CredentialContext] CredentialContext
172
251
  def initialize(version, sid)
173
252
  super(version)
253
+
174
254
 
175
255
  # Path Solution
176
256
  @solution = { sid: sid, }
@@ -185,9 +265,31 @@ module Twilio
185
265
 
186
266
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
187
267
 
268
+
269
+
270
+
188
271
  @version.delete('DELETE', @uri, headers: headers)
189
272
  end
190
273
 
274
+ ##
275
+ # Delete the CredentialInstanceMetadata
276
+ # @return [Boolean] True if delete succeeds, false otherwise
277
+ def delete_with_metadata
278
+
279
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
280
+
281
+
282
+
283
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
284
+ credential_instance = CredentialInstance.new(
285
+ @version,
286
+ response.body,
287
+ account_sid: @solution[:account_sid],
288
+ sid: @solution[:sid],
289
+ )
290
+ CredentialInstanceMetadata.new(@version, credential_instance, response.headers, response.status_code)
291
+ end
292
+
191
293
  ##
192
294
  # Fetch the CredentialInstance
193
295
  # @return [CredentialInstance] Fetched CredentialInstance
@@ -195,6 +297,10 @@ module Twilio
195
297
 
196
298
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
197
299
 
300
+
301
+
302
+
303
+
198
304
  payload = @version.fetch('GET', @uri, headers: headers)
199
305
  CredentialInstance.new(
200
306
  @version,
@@ -203,6 +309,31 @@ module Twilio
203
309
  )
204
310
  end
205
311
 
312
+ ##
313
+ # Fetch the CredentialInstanceMetadata
314
+ # @return [CredentialInstance] Fetched CredentialInstance
315
+ def fetch_with_metadata
316
+
317
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
318
+
319
+
320
+
321
+
322
+
323
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
324
+ credential_instance = CredentialInstance.new(
325
+ @version,
326
+ response.body,
327
+ sid: @solution[:sid],
328
+ )
329
+ CredentialInstanceMetadata.new(
330
+ @version,
331
+ credential_instance,
332
+ response.headers,
333
+ response.status_code
334
+ )
335
+ end
336
+
206
337
  ##
207
338
  # Update the CredentialInstance
208
339
  # @param [String] friendly_name
@@ -232,6 +363,10 @@ module Twilio
232
363
 
233
364
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
234
365
 
366
+
367
+
368
+
369
+
235
370
  payload = @version.update('POST', @uri, data: data, headers: headers)
236
371
  CredentialInstance.new(
237
372
  @version,
@@ -240,6 +375,53 @@ module Twilio
240
375
  )
241
376
  end
242
377
 
378
+ ##
379
+ # Update the CredentialInstanceMetadata
380
+ # @param [String] friendly_name
381
+ # @param [String] certificate
382
+ # @param [String] private_key
383
+ # @param [Boolean] sandbox
384
+ # @param [String] api_key
385
+ # @param [String] secret
386
+ # @return [CredentialInstance] Updated CredentialInstance
387
+ def update_with_metadata(
388
+ friendly_name: :unset,
389
+ certificate: :unset,
390
+ private_key: :unset,
391
+ sandbox: :unset,
392
+ api_key: :unset,
393
+ secret: :unset
394
+ )
395
+
396
+ data = Twilio::Values.of({
397
+ 'FriendlyName' => friendly_name,
398
+ 'Certificate' => certificate,
399
+ 'PrivateKey' => private_key,
400
+ 'Sandbox' => sandbox,
401
+ 'ApiKey' => api_key,
402
+ 'Secret' => secret,
403
+ })
404
+
405
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
406
+
407
+
408
+
409
+
410
+
411
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
412
+ credential_instance = CredentialInstance.new(
413
+ @version,
414
+ response.body,
415
+ sid: @solution[:sid],
416
+ )
417
+ CredentialInstanceMetadata.new(
418
+ @version,
419
+ credential_instance,
420
+ response.headers,
421
+ response.status_code
422
+ )
423
+ end
424
+
243
425
 
244
426
  ##
245
427
  # Provide a user friendly representation
@@ -256,6 +438,53 @@ module Twilio
256
438
  end
257
439
  end
258
440
 
441
+ class CredentialInstanceMetadata < InstanceResourceMetadata
442
+ ##
443
+ # Initializes a new CredentialInstanceMetadata.
444
+ # @param [Version] version Version that contains the resource
445
+ # @param [}CredentialInstance] credential_instance The instance associated with the metadata.
446
+ # @param [Hash] headers Header object with response headers.
447
+ # @param [Integer] status_code The HTTP status code of the response.
448
+ # @return [CredentialInstanceMetadata] The initialized instance with metadata.
449
+ def initialize(version, credential_instance, headers, status_code)
450
+ super(version, headers, status_code)
451
+ @credential_instance = credential_instance
452
+ end
453
+
454
+ def credential
455
+ @credential_instance
456
+ end
457
+
458
+ def headers
459
+ @headers
460
+ end
461
+
462
+ def status_code
463
+ @status_code
464
+ end
465
+
466
+ def to_s
467
+ "<Twilio.Api.V2010.CredentialInstanceMetadata status=#{@status_code}>"
468
+ end
469
+ end
470
+
471
+ class CredentialListResponse < InstanceListResource
472
+ # @param [Array<CredentialInstance>] instance
473
+ # @param [Hash{String => Object}] headers
474
+ # @param [Integer] status_code
475
+ def initialize(version, payload, key)
476
+ @credential_instance = payload.body[key].map do |data|
477
+ CredentialInstance.new(version, data)
478
+ end
479
+ @headers = payload.headers
480
+ @status_code = payload.status_code
481
+ end
482
+
483
+ def credential_instance
484
+ @instance
485
+ end
486
+ end
487
+
259
488
  class CredentialPage < Page
260
489
  ##
261
490
  # Initialize the CredentialPage
@@ -265,6 +494,7 @@ module Twilio
265
494
  # @return [CredentialPage] CredentialPage
266
495
  def initialize(version, response, solution)
267
496
  super(version, response)
497
+
268
498
 
269
499
  # Path Solution
270
500
  @solution = solution
@@ -284,6 +514,66 @@ module Twilio
284
514
  '<Twilio.IpMessaging.V2.CredentialPage>'
285
515
  end
286
516
  end
517
+
518
+ class CredentialPageMetadata < PageMetadata
519
+ attr_reader :credential_page
520
+
521
+ def initialize(version, response, solution, limit)
522
+ super(version, response)
523
+ @credential_page = []
524
+ @limit = limit
525
+ key = get_key(response.body)
526
+ records = 0
527
+ while( limit != :unset && records < limit )
528
+ @credential_page << CredentialListResponse.new(version, @payload, key, limit - records)
529
+ @payload = self.next_page
530
+ break unless @payload
531
+ records += @payload.body[key].size
532
+ end
533
+ # Path Solution
534
+ @solution = solution
535
+ end
536
+
537
+ def each
538
+ @credential_page.each do |record|
539
+ yield record
540
+ end
541
+ end
542
+
543
+ def to_s
544
+ '<Twilio::REST::IpMessaging::V2PageMetadata>';
545
+ end
546
+ end
547
+ class CredentialListResponse < InstanceListResource
548
+
549
+ # @param [Array<CredentialInstance>] instance
550
+ # @param [Hash{String => Object}] headers
551
+ # @param [Integer] status_code
552
+ def initialize(version, payload, key, limit = :unset)
553
+ data_list = payload.body[key]
554
+ if limit != :unset
555
+ data_list = data_list[0, limit]
556
+ end
557
+ @credential = data_list.map do |data|
558
+ CredentialInstance.new(version, data)
559
+ end
560
+ @headers = payload.headers
561
+ @status_code = payload.status_code
562
+ end
563
+
564
+ def credential
565
+ @credential
566
+ end
567
+
568
+ def headers
569
+ @headers
570
+ end
571
+
572
+ def status_code
573
+ @status_code
574
+ end
575
+ end
576
+
287
577
  class CredentialInstance < InstanceResource
288
578
  ##
289
579
  # Initialize the CredentialInstance
@@ -297,6 +587,7 @@ module Twilio
297
587
  def initialize(version, payload , sid: nil)
298
588
  super(version)
299
589
 
590
+
300
591
  # Marshaled Properties
301
592
  @properties = {
302
593
  'sid' => payload['sid'],
@@ -27,6 +27,7 @@ module Twilio
27
27
  # @return [BindingList] BindingList
28
28
  def initialize(version, service_sid: nil)
29
29
  super(version)
30
+
30
31
  # Path Solution
31
32
  @solution = { service_sid: service_sid }
32
33
  @uri = "/Services/#{@solution[:service_sid]}/Bindings"
@@ -79,6 +80,34 @@ module Twilio
79
80
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
80
81
  end
81
82
 
83
+ ##
84
+ # Lists BindingPageMetadata records from the API as a list.
85
+ # @param [Array[BindingType]] binding_type
86
+ # @param [Array[String]] identity
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Array] Array of up to limit results
94
+ def list_with_metadata(binding_type: :unset, identity: :unset, limit: nil, page_size: nil)
95
+ limits = @version.read_limits(limit, page_size)
96
+ params = Twilio::Values.of({
97
+
98
+ 'BindingType' => Twilio.serialize_list(binding_type) { |e| e },
99
+
100
+ 'Identity' => Twilio.serialize_list(identity) { |e| e },
101
+
102
+ 'PageSize' => limits[:page_size],
103
+ });
104
+ headers = Twilio::Values.of({})
105
+
106
+ response = @version.page('GET', @uri, params: params, headers: headers)
107
+
108
+ BindingPageMetadata.new(@version, response, @solution, limits[:limit])
109
+ end
110
+
82
111
  ##
83
112
  # When passed a block, yields BindingInstance records from the API.
84
113
  # This operation lazily loads records as efficiently as possible until the limit
@@ -102,7 +131,7 @@ module Twilio
102
131
  # @param [Integer] page_number Page Number, this value is simply for client state
103
132
  # @param [Integer] page_size Number of records to return, defaults to 50
104
133
  # @return [Page] Page of BindingInstance
105
- def page(binding_type: :unset, identity: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
134
+ def page(binding_type: :unset, identity: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
106
135
  params = Twilio::Values.of({
107
136
 
108
137
  'BindingType' => Twilio.serialize_list(binding_type) { |e| e },
@@ -112,8 +141,11 @@ module Twilio
112
141
  'Page' => page_number,
113
142
  'PageSize' => page_size,
114
143
  })
144
+ headers = Twilio::Values.of({})
145
+
146
+
115
147
 
116
- response = @version.page('GET', @uri, params: params)
148
+ response = @version.page('GET', @uri, params: params, headers: headers)
117
149
 
118
150
  BindingPage.new(@version, response, @solution)
119
151
  end
@@ -149,6 +181,7 @@ module Twilio
149
181
  # @return [BindingContext] BindingContext
150
182
  def initialize(version, service_sid, sid)
151
183
  super(version)
184
+
152
185
 
153
186
  # Path Solution
154
187
  @solution = { service_sid: service_sid, sid: sid, }
@@ -163,9 +196,31 @@ module Twilio
163
196
 
164
197
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
165
198
 
199
+
200
+
201
+
166
202
  @version.delete('DELETE', @uri, headers: headers)
167
203
  end
168
204
 
205
+ ##
206
+ # Delete the BindingInstanceMetadata
207
+ # @return [Boolean] True if delete succeeds, false otherwise
208
+ def delete_with_metadata
209
+
210
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
211
+
212
+
213
+
214
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
215
+ binding_instance = BindingInstance.new(
216
+ @version,
217
+ response.body,
218
+ account_sid: @solution[:account_sid],
219
+ sid: @solution[:sid],
220
+ )
221
+ BindingInstanceMetadata.new(@version, binding_instance, response.headers, response.status_code)
222
+ end
223
+
169
224
  ##
170
225
  # Fetch the BindingInstance
171
226
  # @return [BindingInstance] Fetched BindingInstance
@@ -173,6 +228,10 @@ module Twilio
173
228
 
174
229
  headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
175
230
 
231
+
232
+
233
+
234
+
176
235
  payload = @version.fetch('GET', @uri, headers: headers)
177
236
  BindingInstance.new(
178
237
  @version,
@@ -182,6 +241,32 @@ module Twilio
182
241
  )
183
242
  end
184
243
 
244
+ ##
245
+ # Fetch the BindingInstanceMetadata
246
+ # @return [BindingInstance] Fetched BindingInstance
247
+ def fetch_with_metadata
248
+
249
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
250
+
251
+
252
+
253
+
254
+
255
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
256
+ binding_instance = BindingInstance.new(
257
+ @version,
258
+ response.body,
259
+ service_sid: @solution[:service_sid],
260
+ sid: @solution[:sid],
261
+ )
262
+ BindingInstanceMetadata.new(
263
+ @version,
264
+ binding_instance,
265
+ response.headers,
266
+ response.status_code
267
+ )
268
+ end
269
+
185
270
 
186
271
  ##
187
272
  # Provide a user friendly representation
@@ -198,6 +283,53 @@ module Twilio
198
283
  end
199
284
  end
200
285
 
286
+ class BindingInstanceMetadata < InstanceResourceMetadata
287
+ ##
288
+ # Initializes a new BindingInstanceMetadata.
289
+ # @param [Version] version Version that contains the resource
290
+ # @param [}BindingInstance] binding_instance The instance associated with the metadata.
291
+ # @param [Hash] headers Header object with response headers.
292
+ # @param [Integer] status_code The HTTP status code of the response.
293
+ # @return [BindingInstanceMetadata] The initialized instance with metadata.
294
+ def initialize(version, binding_instance, headers, status_code)
295
+ super(version, headers, status_code)
296
+ @binding_instance = binding_instance
297
+ end
298
+
299
+ def binding
300
+ @binding_instance
301
+ end
302
+
303
+ def headers
304
+ @headers
305
+ end
306
+
307
+ def status_code
308
+ @status_code
309
+ end
310
+
311
+ def to_s
312
+ "<Twilio.Api.V2010.BindingInstanceMetadata status=#{@status_code}>"
313
+ end
314
+ end
315
+
316
+ class BindingListResponse < InstanceListResource
317
+ # @param [Array<BindingInstance>] instance
318
+ # @param [Hash{String => Object}] headers
319
+ # @param [Integer] status_code
320
+ def initialize(version, payload, key)
321
+ @binding_instance = payload.body[key].map do |data|
322
+ BindingInstance.new(version, data)
323
+ end
324
+ @headers = payload.headers
325
+ @status_code = payload.status_code
326
+ end
327
+
328
+ def binding_instance
329
+ @instance
330
+ end
331
+ end
332
+
201
333
  class BindingPage < Page
202
334
  ##
203
335
  # Initialize the BindingPage
@@ -207,6 +339,7 @@ module Twilio
207
339
  # @return [BindingPage] BindingPage
208
340
  def initialize(version, response, solution)
209
341
  super(version, response)
342
+
210
343
 
211
344
  # Path Solution
212
345
  @solution = solution
@@ -226,6 +359,66 @@ module Twilio
226
359
  '<Twilio.IpMessaging.V2.BindingPage>'
227
360
  end
228
361
  end
362
+
363
+ class BindingPageMetadata < PageMetadata
364
+ attr_reader :binding_page
365
+
366
+ def initialize(version, response, solution, limit)
367
+ super(version, response)
368
+ @binding_page = []
369
+ @limit = limit
370
+ key = get_key(response.body)
371
+ records = 0
372
+ while( limit != :unset && records < limit )
373
+ @binding_page << BindingListResponse.new(version, @payload, key, limit - records)
374
+ @payload = self.next_page
375
+ break unless @payload
376
+ records += @payload.body[key].size
377
+ end
378
+ # Path Solution
379
+ @solution = solution
380
+ end
381
+
382
+ def each
383
+ @binding_page.each do |record|
384
+ yield record
385
+ end
386
+ end
387
+
388
+ def to_s
389
+ '<Twilio::REST::IpMessaging::V2PageMetadata>';
390
+ end
391
+ end
392
+ class BindingListResponse < InstanceListResource
393
+
394
+ # @param [Array<BindingInstance>] instance
395
+ # @param [Hash{String => Object}] headers
396
+ # @param [Integer] status_code
397
+ def initialize(version, payload, key, limit = :unset)
398
+ data_list = payload.body[key]
399
+ if limit != :unset
400
+ data_list = data_list[0, limit]
401
+ end
402
+ @binding = data_list.map do |data|
403
+ BindingInstance.new(version, data)
404
+ end
405
+ @headers = payload.headers
406
+ @status_code = payload.status_code
407
+ end
408
+
409
+ def binding
410
+ @binding
411
+ end
412
+
413
+ def headers
414
+ @headers
415
+ end
416
+
417
+ def status_code
418
+ @status_code
419
+ end
420
+ end
421
+
229
422
  class BindingInstance < InstanceResource
230
423
  ##
231
424
  # Initialize the BindingInstance
@@ -239,6 +432,7 @@ module Twilio
239
432
  def initialize(version, payload , service_sid: nil, sid: nil)
240
433
  super(version)
241
434
 
435
+
242
436
  # Marshaled Properties
243
437
  @properties = {
244
438
  'sid' => payload['sid'],