twilio-ruby 7.9.1 → 7.10.0

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 (532) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +81 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  5. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  6. data/lib/twilio-ruby/framework/rest/version.rb +70 -1
  7. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +135 -0
  8. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +94 -0
  9. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +94 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +248 -1
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +248 -1
  12. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +63 -0
  13. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +124 -0
  14. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +150 -0
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +155 -0
  16. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +86 -1
  17. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +304 -1
  18. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +337 -1
  19. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +160 -1
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +122 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +122 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +122 -1
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +122 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +122 -1
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +122 -1
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +122 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +160 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +88 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +86 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +169 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +232 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +272 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +784 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +784 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +225 -2
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +99 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +170 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +394 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +434 -1
  40. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +224 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +215 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +234 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +162 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +214 -1
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +192 -1
  46. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +192 -1
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +192 -1
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +388 -1
  49. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +213 -1
  50. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +96 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +187 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +327 -1
  53. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +95 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +95 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +168 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +217 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +198 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +251 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +139 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +182 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +181 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +181 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +198 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +212 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +213 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +251 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +245 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +214 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +214 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +63 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +214 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +63 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +63 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +214 -1
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +214 -1
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +317 -1
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +260 -1
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +245 -1
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +63 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +95 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +180 -1
  82. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +94 -1
  83. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +94 -1
  84. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +94 -1
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +94 -1
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +94 -1
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +94 -1
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +94 -1
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +94 -1
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +94 -1
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +275 -1
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +63 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +110 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account.rb +229 -1
  95. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +180 -1
  96. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +180 -1
  97. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +113 -1
  98. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +90 -0
  99. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +232 -1
  100. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +86 -1
  101. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +136 -0
  102. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +234 -1
  103. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +90 -1
  104. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +86 -1
  105. data/lib/twilio-ruby/rest/assistants/v1/session.rb +159 -1
  106. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +234 -1
  107. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +160 -1
  108. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +133 -1
  109. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +156 -0
  110. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +136 -0
  111. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +174 -0
  112. data/lib/twilio-ruby/rest/chat/v1/credential.rb +275 -1
  113. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +220 -1
  114. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +257 -1
  115. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +259 -1
  116. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +263 -1
  117. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +251 -1
  118. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +86 -1
  119. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +260 -1
  120. data/lib/twilio-ruby/rest/chat/v1/service.rb +401 -1
  121. data/lib/twilio-ruby/rest/chat/v2/credential.rb +275 -1
  122. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +186 -1
  123. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +220 -1
  124. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +291 -1
  125. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +290 -1
  126. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +281 -1
  127. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +288 -1
  128. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +251 -1
  129. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +184 -1
  130. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +224 -1
  131. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +264 -1
  132. data/lib/twilio-ruby/rest/chat/v2/service.rb +332 -1
  133. data/lib/twilio-ruby/rest/chat/v3/channel.rb +149 -0
  134. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +90 -0
  135. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +136 -0
  136. data/lib/twilio-ruby/rest/content/v1/content.rb +232 -1
  137. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +86 -1
  138. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +86 -1
  139. data/lib/twilio-ruby/rest/content/v2/content.rb +107 -1
  140. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +107 -1
  141. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +301 -1
  142. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +178 -0
  143. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +175 -0
  144. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +161 -1
  145. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +293 -1
  146. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +297 -1
  147. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +275 -1
  148. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +315 -1
  149. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +129 -0
  150. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +278 -1
  151. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +90 -1
  152. data/lib/twilio-ruby/rest/conversations/v1/role.rb +248 -1
  153. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +186 -1
  154. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +204 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +177 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +177 -0
  157. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +162 -1
  158. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +296 -1
  159. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +300 -1
  160. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +278 -1
  161. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +318 -1
  162. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +130 -0
  163. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +90 -1
  164. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +251 -1
  165. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +221 -1
  166. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +267 -1
  167. data/lib/twilio-ruby/rest/conversations/v1/service.rb +210 -1
  168. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +219 -1
  169. data/lib/twilio-ruby/rest/conversations/v1/user.rb +264 -1
  170. data/lib/twilio-ruby/rest/events/v1/event_type.rb +161 -1
  171. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +160 -1
  172. data/lib/twilio-ruby/rest/events/v1/schema.rb +136 -0
  173. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +88 -0
  174. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +95 -0
  175. data/lib/twilio-ruby/rest/events/v1/sink.rb +252 -1
  176. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +248 -1
  177. data/lib/twilio-ruby/rest/events/v1/subscription.rb +250 -1
  178. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +238 -1
  179. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +237 -1
  180. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +167 -0
  181. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +340 -1
  182. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +140 -1
  183. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +90 -1
  184. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +274 -1
  185. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +226 -1
  186. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +253 -1
  187. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +93 -1
  188. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +138 -0
  189. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +90 -0
  190. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +90 -0
  191. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +138 -0
  192. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +119 -1
  193. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +207 -1
  194. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +195 -0
  195. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +196 -1
  196. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +208 -0
  197. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +214 -1
  198. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +240 -1
  199. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +139 -0
  200. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +165 -1
  201. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +203 -1
  202. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +139 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +197 -1
  204. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +140 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +135 -0
  206. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +260 -1
  207. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +176 -0
  208. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +108 -0
  209. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +177 -0
  210. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +191 -0
  211. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +88 -1
  212. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +103 -0
  213. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +184 -0
  214. data/lib/twilio-ruby/rest/iam/v1/token.rb +115 -0
  215. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +186 -0
  216. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +142 -0
  217. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +88 -1
  218. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +90 -1
  219. data/lib/twilio-ruby/rest/insights/v1/call.rb +136 -0
  220. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +158 -1
  221. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +175 -1
  222. data/lib/twilio-ruby/rest/insights/v1/conference.rb +179 -1
  223. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +160 -1
  224. data/lib/twilio-ruby/rest/insights/v1/room.rb +171 -1
  225. data/lib/twilio-ruby/rest/insights/v1/setting.rb +178 -0
  226. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +257 -1
  227. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +163 -1
  228. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +157 -0
  229. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +136 -0
  230. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +159 -1
  231. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +163 -1
  232. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +295 -1
  233. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +142 -0
  234. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +142 -0
  235. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +142 -0
  236. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +168 -1
  237. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +90 -1
  238. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +235 -1
  239. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +275 -1
  240. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +220 -1
  241. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +257 -1
  242. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +259 -1
  243. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +263 -1
  244. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +251 -1
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +86 -1
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +260 -1
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +401 -1
  248. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +275 -1
  249. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +186 -1
  250. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +220 -1
  251. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +291 -1
  252. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +290 -1
  253. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +281 -1
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +288 -1
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +251 -1
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +184 -1
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +221 -1
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +264 -1
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +332 -1
  260. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +86 -1
  261. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +136 -0
  262. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +234 -1
  263. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +151 -0
  264. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +185 -0
  265. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +213 -0
  266. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +184 -0
  267. data/lib/twilio-ruby/rest/lookups/v2/query.rb +89 -0
  268. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +93 -0
  269. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +160 -1
  270. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +159 -1
  271. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +193 -1
  272. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +90 -0
  273. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +254 -1
  274. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +121 -0
  275. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +186 -0
  276. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +89 -0
  277. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +88 -0
  278. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +197 -1
  279. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +227 -1
  280. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +141 -0
  281. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +188 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +177 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +136 -0
  284. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +136 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +100 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +157 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +136 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +136 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +212 -1
  290. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +212 -1
  291. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +217 -1
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +212 -1
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +212 -1
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +308 -1
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +94 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +332 -1
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +463 -1
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +87 -0
  299. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +234 -1
  300. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +136 -0
  301. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +97 -0
  302. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +165 -1
  303. data/lib/twilio-ruby/rest/monitor/v1/event.rb +171 -1
  304. data/lib/twilio-ruby/rest/notify/v1/credential.rb +275 -1
  305. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +240 -1
  306. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +146 -0
  307. data/lib/twilio-ruby/rest/notify/v1/service.rb +322 -1
  308. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +162 -0
  309. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +89 -0
  310. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +98 -1
  311. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +182 -0
  312. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +157 -0
  313. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +145 -0
  314. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +89 -0
  315. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +131 -0
  316. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +116 -1
  317. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +87 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/application.rb +185 -1
  319. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +94 -1
  320. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +229 -1
  321. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +168 -0
  322. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +149 -0
  323. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +303 -1
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +118 -1
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +185 -1
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +212 -1
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +95 -0
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +294 -1
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +251 -1
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +159 -1
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +173 -1
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +251 -1
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +159 -1
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +63 -0
  335. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +142 -0
  336. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +105 -0
  337. data/lib/twilio-ruby/rest/oauth/v1/token.rb +115 -0
  338. data/lib/twilio-ruby/rest/oauth/v2/token.rb +120 -0
  339. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +96 -1
  340. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +259 -1
  341. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +327 -1
  342. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +160 -1
  343. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +159 -1
  344. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +193 -1
  345. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +254 -1
  346. data/lib/twilio-ruby/rest/preview/wireless/command.rb +216 -1
  347. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +272 -1
  348. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +145 -0
  349. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +246 -1
  350. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +105 -0
  351. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +115 -0
  352. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +160 -1
  353. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +185 -1
  354. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +239 -1
  355. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +136 -0
  356. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +159 -1
  357. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +63 -0
  358. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +159 -1
  359. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +63 -0
  360. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +159 -1
  361. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +136 -0
  362. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +63 -0
  363. data/lib/twilio-ruby/rest/pricing/v2/country.rb +159 -1
  364. data/lib/twilio-ruby/rest/pricing/v2/number.rb +142 -0
  365. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +159 -1
  366. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +142 -0
  367. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +63 -0
  368. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +251 -1
  369. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +181 -1
  370. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +199 -1
  371. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +223 -1
  372. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +266 -1
  373. data/lib/twilio-ruby/rest/proxy/v1/service.rb +284 -1
  374. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +171 -0
  375. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +171 -0
  376. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +171 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +161 -1
  378. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +245 -1
  379. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +137 -0
  380. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +221 -1
  381. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +197 -1
  382. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +167 -1
  383. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +254 -1
  384. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +215 -1
  385. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +138 -0
  386. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +161 -1
  387. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +245 -1
  388. data/lib/twilio-ruby/rest/serverless/v1/service.rb +257 -1
  389. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +137 -0
  390. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +138 -0
  391. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +161 -1
  392. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +218 -1
  393. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +137 -0
  394. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +138 -0
  395. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +161 -1
  396. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +255 -1
  397. data/lib/twilio-ruby/rest/studio/v1/flow.rb +179 -1
  398. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +137 -0
  399. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +138 -0
  400. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +161 -1
  401. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +255 -1
  402. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +160 -1
  403. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +168 -0
  404. data/lib/twilio-ruby/rest/studio/v2/flow.rb +260 -1
  405. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +103 -0
  406. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +205 -1
  407. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +266 -1
  408. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +213 -1
  409. data/lib/twilio-ruby/rest/supersim/v1/network.rb +165 -1
  410. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +212 -1
  411. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +225 -1
  412. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +90 -1
  413. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +86 -1
  414. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +86 -1
  415. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +246 -1
  416. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +205 -1
  417. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +102 -1
  418. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +221 -1
  419. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +256 -1
  420. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +277 -1
  421. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +221 -1
  422. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +254 -1
  423. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +280 -1
  424. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +221 -1
  425. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +254 -1
  426. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +96 -0
  427. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +248 -1
  428. data/lib/twilio-ruby/rest/sync/v1/service.rb +278 -1
  429. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +252 -1
  430. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +182 -1
  431. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +360 -1
  432. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +310 -1
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +254 -1
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +90 -0
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +155 -0
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +143 -0
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +155 -0
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +98 -1
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +283 -1
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +352 -1
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +198 -1
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +152 -0
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +151 -0
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +142 -0
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +160 -0
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +281 -1
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +155 -0
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +143 -0
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +155 -0
  450. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +274 -1
  451. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +154 -0
  452. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +142 -0
  453. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +154 -0
  454. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +277 -1
  455. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +212 -1
  456. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +212 -1
  457. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +269 -1
  458. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +212 -1
  459. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +171 -0
  460. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +284 -1
  461. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +183 -0
  462. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +291 -0
  463. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +212 -1
  464. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +219 -1
  465. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +214 -1
  466. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +192 -1
  467. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +266 -1
  468. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +251 -1
  469. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +159 -1
  470. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +159 -1
  471. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +251 -1
  472. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +159 -1
  473. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +219 -1
  474. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +214 -1
  475. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +192 -1
  476. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +266 -1
  477. data/lib/twilio-ruby/rest/verify/v2/form.rb +136 -0
  478. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +187 -0
  479. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +178 -0
  480. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +90 -0
  481. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +97 -0
  482. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +252 -1
  483. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +239 -1
  484. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +135 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +212 -1
  486. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +248 -1
  487. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +138 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +90 -0
  489. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +90 -0
  490. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +254 -1
  491. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +248 -1
  492. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +253 -0
  493. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +110 -0
  494. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +269 -1
  495. data/lib/twilio-ruby/rest/verify/v2/service.rb +392 -1
  496. data/lib/twilio-ruby/rest/verify/v2/template.rb +88 -1
  497. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +175 -1
  498. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +156 -0
  499. data/lib/twilio-ruby/rest/video/v1/composition.rb +242 -1
  500. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +304 -1
  501. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +181 -0
  502. data/lib/twilio-ruby/rest/video/v1/recording.rb +192 -1
  503. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +181 -0
  504. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +137 -0
  505. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +161 -1
  506. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +122 -0
  507. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +161 -1
  508. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +201 -1
  509. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +120 -0
  510. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +188 -1
  511. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +232 -1
  512. data/lib/twilio-ruby/rest/video/v1/room.rb +278 -1
  513. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +131 -0
  514. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +296 -1
  515. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +269 -1
  516. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +242 -1
  517. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +94 -0
  518. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +86 -1
  519. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +171 -1
  520. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +166 -0
  521. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +63 -0
  522. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +248 -1
  523. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +245 -1
  524. data/lib/twilio-ruby/rest/wireless/v1/command.rb +236 -1
  525. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +278 -1
  526. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +86 -1
  527. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +92 -1
  528. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +272 -1
  529. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +92 -1
  530. data/lib/twilio-ruby/twiml/voice_response.rb +71 -4
  531. data/lib/twilio-ruby/version.rb +1 -1
  532. metadata +3 -2
@@ -25,6 +25,7 @@ module Twilio
25
25
  # @return [CompositionHookList] CompositionHookList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
  @uri = "/CompositionHooks"
@@ -82,6 +83,64 @@ module Twilio
82
83
  )
83
84
  end
84
85
 
86
+ ##
87
+ # Create the CompositionHookInstanceMetadata
88
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
89
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook will never be triggered.
90
+ # @param [Object] video_layout An object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
91
+ # @param [Array[String]] audio_sources An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
92
+ # @param [Array[String]] audio_sources_excluded An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
93
+ # @param [String] resolution A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. The string's format is `{width}x{height}` where: * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600 Typical values are: * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240` Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
94
+ # @param [Format] format
95
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
96
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
97
+ # @param [Boolean] trim Whether to clip the intervals where there is no active media in the Compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
98
+ # @return [CompositionHookInstance] Created CompositionHookInstance
99
+ def create_with_metadata(
100
+ friendly_name: nil,
101
+ enabled: :unset,
102
+ video_layout: :unset,
103
+ audio_sources: :unset,
104
+ audio_sources_excluded: :unset,
105
+ resolution: :unset,
106
+ format: :unset,
107
+ status_callback: :unset,
108
+ status_callback_method: :unset,
109
+ trim: :unset
110
+ )
111
+
112
+ data = Twilio::Values.of({
113
+ 'FriendlyName' => friendly_name,
114
+ 'Enabled' => enabled,
115
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
116
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
117
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
118
+ 'Resolution' => resolution,
119
+ 'Format' => format,
120
+ 'StatusCallback' => status_callback,
121
+ 'StatusCallbackMethod' => status_callback_method,
122
+ 'Trim' => trim,
123
+ })
124
+
125
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
126
+
127
+
128
+
129
+
130
+
131
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
132
+ composition_hook_instance = CompositionHookInstance.new(
133
+ @version,
134
+ response.body,
135
+ )
136
+ CompositionHookInstanceMetadata.new(
137
+ @version,
138
+ composition_hook_instance,
139
+ response.headers,
140
+ response.status_code
141
+ )
142
+ end
143
+
85
144
 
86
145
  ##
87
146
  # Lists CompositionHookInstance records from the API as a list.
@@ -137,6 +196,36 @@ module Twilio
137
196
  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
138
197
  end
139
198
 
199
+ ##
200
+ # Lists CompositionHookPageMetadata records from the API as a list.
201
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
202
+ # @param [Time] date_created_after Read only CompositionHook resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
203
+ # @param [Time] date_created_before Read only CompositionHook resources created before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) datetime with time zone.
204
+ # @param [String] friendly_name Read only CompositionHook resources with friendly names that match this string. The match is not case sensitive and can include asterisk `*` characters as wildcard match.
205
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
206
+ # guarantees to never return more than limit. Default is no limit
207
+ # @param [Integer] page_size Number of records to fetch per request, when
208
+ # not set will use the default value of 50 records. If no page_size is defined
209
+ # but a limit is defined, stream() will attempt to read the limit with the most
210
+ # efficient page size, i.e. min(limit, 1000)
211
+ # @return [Array] Array of up to limit results
212
+ def list_with_metadata(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
213
+ limits = @version.read_limits(limit, page_size)
214
+ params = Twilio::Values.of({
215
+ 'Enabled' => enabled,
216
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
217
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
218
+ 'FriendlyName' => friendly_name,
219
+
220
+ 'PageSize' => limits[:page_size],
221
+ });
222
+ headers = Twilio::Values.of({})
223
+
224
+ response = @version.page('GET', @uri, params: params, headers: headers)
225
+
226
+ CompositionHookPageMetadata.new(@version, response, @solution, limits[:limit])
227
+ end
228
+
140
229
  ##
141
230
  # When passed a block, yields CompositionHookInstance records from the API.
142
231
  # This operation lazily loads records as efficiently as possible until the limit
@@ -162,7 +251,7 @@ module Twilio
162
251
  # @param [Integer] page_number Page Number, this value is simply for client state
163
252
  # @param [Integer] page_size Number of records to return, defaults to 50
164
253
  # @return [Page] Page of CompositionHookInstance
165
- def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
254
+ def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
166
255
  params = Twilio::Values.of({
167
256
  'Enabled' => enabled,
168
257
  'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
@@ -211,6 +300,7 @@ module Twilio
211
300
  # @return [CompositionHookContext] CompositionHookContext
212
301
  def initialize(version, sid)
213
302
  super(version)
303
+
214
304
 
215
305
  # Path Solution
216
306
  @solution = { sid: sid, }
@@ -227,9 +317,29 @@ module Twilio
227
317
 
228
318
 
229
319
 
320
+
230
321
  @version.delete('DELETE', @uri, headers: headers)
231
322
  end
232
323
 
324
+ ##
325
+ # Delete the CompositionHookInstanceMetadata
326
+ # @return [Boolean] True if delete succeeds, false otherwise
327
+ def delete_with_metadata
328
+
329
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
330
+
331
+
332
+
333
+ response = @version.delete_with_metadata('DELETE', @uri, headers: headers)
334
+ compositionHook_instance = CompositionHookInstance.new(
335
+ @version,
336
+ response.body,
337
+ account_sid: @solution[:account_sid],
338
+ sid: @solution[:sid],
339
+ )
340
+ CompositionHookInstanceMetadata.new(@version, compositionHook_instance, response.headers, response.status_code)
341
+ end
342
+
233
343
  ##
234
344
  # Fetch the CompositionHookInstance
235
345
  # @return [CompositionHookInstance] Fetched CompositionHookInstance
@@ -249,6 +359,31 @@ module Twilio
249
359
  )
250
360
  end
251
361
 
362
+ ##
363
+ # Fetch the CompositionHookInstanceMetadata
364
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
365
+ def fetch_with_metadata
366
+
367
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
368
+
369
+
370
+
371
+
372
+
373
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
374
+ composition_hook_instance = CompositionHookInstance.new(
375
+ @version,
376
+ response.body,
377
+ sid: @solution[:sid],
378
+ )
379
+ CompositionHookInstanceMetadata.new(
380
+ @version,
381
+ composition_hook_instance,
382
+ response.headers,
383
+ response.status_code
384
+ )
385
+ end
386
+
252
387
  ##
253
388
  # Update the CompositionHookInstance
254
389
  # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
@@ -302,6 +437,65 @@ module Twilio
302
437
  )
303
438
  end
304
439
 
440
+ ##
441
+ # Update the CompositionHookInstanceMetadata
442
+ # @param [String] friendly_name A descriptive string that you create to describe the resource. It can be up to 100 characters long and it must be unique within the account.
443
+ # @param [Boolean] enabled Whether the composition hook is active. When `true`, the composition hook will be triggered for every completed Group Room in the account. When `false`, the composition hook never triggers.
444
+ # @param [Object] video_layout A JSON object that describes the video layout of the composition hook in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
445
+ # @param [Array[String]] audio_sources An array of track names from the same group room to merge into the compositions created by the composition hook. Can include zero or more track names. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
446
+ # @param [Array[String]] audio_sources_excluded An array of track names to exclude. A composition triggered by the composition hook includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
447
+ # @param [Boolean] trim Whether to clip the intervals where there is no active media in the compositions triggered by the composition hook. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
448
+ # @param [Format] format
449
+ # @param [String] resolution A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. The string's format is `{width}x{height}` where: * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600 Typical values are: * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240` Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
450
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
451
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
452
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
453
+ def update_with_metadata(
454
+ friendly_name: nil,
455
+ enabled: :unset,
456
+ video_layout: :unset,
457
+ audio_sources: :unset,
458
+ audio_sources_excluded: :unset,
459
+ trim: :unset,
460
+ format: :unset,
461
+ resolution: :unset,
462
+ status_callback: :unset,
463
+ status_callback_method: :unset
464
+ )
465
+
466
+ data = Twilio::Values.of({
467
+ 'FriendlyName' => friendly_name,
468
+ 'Enabled' => enabled,
469
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
470
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
471
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
472
+ 'Trim' => trim,
473
+ 'Format' => format,
474
+ 'Resolution' => resolution,
475
+ 'StatusCallback' => status_callback,
476
+ 'StatusCallbackMethod' => status_callback_method,
477
+ })
478
+
479
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
480
+
481
+
482
+
483
+
484
+
485
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
486
+ composition_hook_instance = CompositionHookInstance.new(
487
+ @version,
488
+ response.body,
489
+ sid: @solution[:sid],
490
+ )
491
+ CompositionHookInstanceMetadata.new(
492
+ @version,
493
+ composition_hook_instance,
494
+ response.headers,
495
+ response.status_code
496
+ )
497
+ end
498
+
305
499
 
306
500
  ##
307
501
  # Provide a user friendly representation
@@ -318,6 +512,53 @@ module Twilio
318
512
  end
319
513
  end
320
514
 
515
+ class CompositionHookInstanceMetadata < InstanceResourceMetadata
516
+ ##
517
+ # Initializes a new CompositionHookInstanceMetadata.
518
+ # @param [Version] version Version that contains the resource
519
+ # @param [}CompositionHookInstance] composition_hook_instance The instance associated with the metadata.
520
+ # @param [Hash] headers Header object with response headers.
521
+ # @param [Integer] status_code The HTTP status code of the response.
522
+ # @return [CompositionHookInstanceMetadata] The initialized instance with metadata.
523
+ def initialize(version, composition_hook_instance, headers, status_code)
524
+ super(version, headers, status_code)
525
+ @composition_hook_instance = composition_hook_instance
526
+ end
527
+
528
+ def composition_hook
529
+ @composition_hook_instance
530
+ end
531
+
532
+ def headers
533
+ @headers
534
+ end
535
+
536
+ def status_code
537
+ @status_code
538
+ end
539
+
540
+ def to_s
541
+ "<Twilio.Api.V2010.CompositionHookInstanceMetadata status=#{@status_code}>"
542
+ end
543
+ end
544
+
545
+ class CompositionHookListResponse < InstanceListResource
546
+ # @param [Array<CompositionHookInstance>] instance
547
+ # @param [Hash{String => Object}] headers
548
+ # @param [Integer] status_code
549
+ def initialize(version, payload, key)
550
+ @composition_hook_instance = payload.body[key].map do |data|
551
+ CompositionHookInstance.new(version, data)
552
+ end
553
+ @headers = payload.headers
554
+ @status_code = payload.status_code
555
+ end
556
+
557
+ def composition_hook_instance
558
+ @instance
559
+ end
560
+ end
561
+
321
562
  class CompositionHookPage < Page
322
563
  ##
323
564
  # Initialize the CompositionHookPage
@@ -327,6 +568,7 @@ module Twilio
327
568
  # @return [CompositionHookPage] CompositionHookPage
328
569
  def initialize(version, response, solution)
329
570
  super(version, response)
571
+
330
572
 
331
573
  # Path Solution
332
574
  @solution = solution
@@ -346,6 +588,66 @@ module Twilio
346
588
  '<Twilio.Video.V1.CompositionHookPage>'
347
589
  end
348
590
  end
591
+
592
+ class CompositionHookPageMetadata < PageMetadata
593
+ attr_reader :composition_hook_page
594
+
595
+ def initialize(version, response, solution, limit)
596
+ super(version, response)
597
+ @composition_hook_page = []
598
+ @limit = limit
599
+ key = get_key(response.body)
600
+ records = 0
601
+ while( limit != :unset && records < limit )
602
+ @composition_hook_page << CompositionHookListResponse.new(version, @payload, key, limit - records)
603
+ @payload = self.next_page
604
+ break unless @payload
605
+ records += @payload.body[key].size
606
+ end
607
+ # Path Solution
608
+ @solution = solution
609
+ end
610
+
611
+ def each
612
+ @composition_hook_page.each do |record|
613
+ yield record
614
+ end
615
+ end
616
+
617
+ def to_s
618
+ '<Twilio::REST::Video::V1PageMetadata>';
619
+ end
620
+ end
621
+ class CompositionHookListResponse < InstanceListResource
622
+
623
+ # @param [Array<CompositionHookInstance>] instance
624
+ # @param [Hash{String => Object}] headers
625
+ # @param [Integer] status_code
626
+ def initialize(version, payload, key, limit = :unset)
627
+ data_list = payload.body[key]
628
+ if limit != :unset
629
+ data_list = data_list[0, limit]
630
+ end
631
+ @composition_hook = data_list.map do |data|
632
+ CompositionHookInstance.new(version, data)
633
+ end
634
+ @headers = payload.headers
635
+ @status_code = payload.status_code
636
+ end
637
+
638
+ def composition_hook
639
+ @composition_hook
640
+ end
641
+
642
+ def headers
643
+ @headers
644
+ end
645
+
646
+ def status_code
647
+ @status_code
648
+ end
649
+ end
650
+
349
651
  class CompositionHookInstance < InstanceResource
350
652
  ##
351
653
  # Initialize the CompositionHookInstance
@@ -359,6 +661,7 @@ module Twilio
359
661
  def initialize(version, payload , sid: nil)
360
662
  super(version)
361
663
 
664
+
362
665
  # Marshaled Properties
363
666
  @properties = {
364
667
  'account_sid' => payload['account_sid'],
@@ -25,6 +25,7 @@ module Twilio
25
25
  # @return [CompositionSettingsList] CompositionSettingsList
26
26
  def initialize(version)
27
27
  super(version)
28
+
28
29
  # Path Solution
29
30
  @solution = { }
30
31
 
@@ -47,6 +48,7 @@ module Twilio
47
48
  # @return [CompositionSettingsContext] CompositionSettingsContext
48
49
  def initialize(version)
49
50
  super(version)
51
+
50
52
 
51
53
  # Path Solution
52
54
  @solution = { }
@@ -94,6 +96,52 @@ module Twilio
94
96
  )
95
97
  end
96
98
 
99
+ ##
100
+ # Create the CompositionSettingsInstanceMetadata
101
+ # @param [String] friendly_name A descriptive string that you create to describe the resource and show to the user in the console
102
+ # @param [String] aws_credentials_sid The SID of the stored Credential resource.
103
+ # @param [String] encryption_key_sid The SID of the Public Key resource to use for encryption.
104
+ # @param [String] aws_s3_url The URL of the AWS S3 bucket where the compositions should be stored. We only support DNS-compliant URLs like `https://documentation-example-twilio-bucket/compositions`, where `compositions` is the path in which you want the compositions to be stored. This URL accepts only URI-valid characters, as described in the [RFC 3986](https://tools.ietf.org/html/rfc3986#section-2).
105
+ # @param [Boolean] aws_storage_enabled Whether all compositions should be written to the `aws_s3_url`. When `false`, all compositions are stored in our cloud.
106
+ # @param [Boolean] encryption_enabled Whether all compositions should be stored in an encrypted form. The default is `false`.
107
+ # @return [CompositionSettingsInstance] Created CompositionSettingsInstance
108
+ def create_with_metadata(
109
+ friendly_name: nil,
110
+ aws_credentials_sid: :unset,
111
+ encryption_key_sid: :unset,
112
+ aws_s3_url: :unset,
113
+ aws_storage_enabled: :unset,
114
+ encryption_enabled: :unset
115
+ )
116
+
117
+ data = Twilio::Values.of({
118
+ 'FriendlyName' => friendly_name,
119
+ 'AwsCredentialsSid' => aws_credentials_sid,
120
+ 'EncryptionKeySid' => encryption_key_sid,
121
+ 'AwsS3Url' => aws_s3_url,
122
+ 'AwsStorageEnabled' => aws_storage_enabled,
123
+ 'EncryptionEnabled' => encryption_enabled,
124
+ })
125
+
126
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
127
+
128
+
129
+
130
+
131
+
132
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
133
+ composition_settings_instance = CompositionSettingsInstance.new(
134
+ @version,
135
+ response.body,
136
+ )
137
+ CompositionSettingsInstanceMetadata.new(
138
+ @version,
139
+ composition_settings_instance,
140
+ response.headers,
141
+ response.status_code
142
+ )
143
+ end
144
+
97
145
  ##
98
146
  # Fetch the CompositionSettingsInstance
99
147
  # @return [CompositionSettingsInstance] Fetched CompositionSettingsInstance
@@ -112,6 +160,30 @@ module Twilio
112
160
  )
113
161
  end
114
162
 
163
+ ##
164
+ # Fetch the CompositionSettingsInstanceMetadata
165
+ # @return [CompositionSettingsInstance] Fetched CompositionSettingsInstance
166
+ def fetch_with_metadata
167
+
168
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
169
+
170
+
171
+
172
+
173
+
174
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
175
+ composition_settings_instance = CompositionSettingsInstance.new(
176
+ @version,
177
+ response.body,
178
+ )
179
+ CompositionSettingsInstanceMetadata.new(
180
+ @version,
181
+ composition_settings_instance,
182
+ response.headers,
183
+ response.status_code
184
+ )
185
+ end
186
+
115
187
 
116
188
  ##
117
189
  # Provide a user friendly representation
@@ -128,6 +200,53 @@ module Twilio
128
200
  end
129
201
  end
130
202
 
203
+ class CompositionSettingsInstanceMetadata < InstanceResourceMetadata
204
+ ##
205
+ # Initializes a new CompositionSettingsInstanceMetadata.
206
+ # @param [Version] version Version that contains the resource
207
+ # @param [}CompositionSettingsInstance] composition_settings_instance The instance associated with the metadata.
208
+ # @param [Hash] headers Header object with response headers.
209
+ # @param [Integer] status_code The HTTP status code of the response.
210
+ # @return [CompositionSettingsInstanceMetadata] The initialized instance with metadata.
211
+ def initialize(version, composition_settings_instance, headers, status_code)
212
+ super(version, headers, status_code)
213
+ @composition_settings_instance = composition_settings_instance
214
+ end
215
+
216
+ def composition_settings
217
+ @composition_settings_instance
218
+ end
219
+
220
+ def headers
221
+ @headers
222
+ end
223
+
224
+ def status_code
225
+ @status_code
226
+ end
227
+
228
+ def to_s
229
+ "<Twilio.Api.V2010.CompositionSettingsInstanceMetadata status=#{@status_code}>"
230
+ end
231
+ end
232
+
233
+ class CompositionSettingsListResponse < InstanceListResource
234
+ # @param [Array<CompositionSettingsInstance>] instance
235
+ # @param [Hash{String => Object}] headers
236
+ # @param [Integer] status_code
237
+ def initialize(version, payload, key)
238
+ @composition_settings_instance = payload.body[key].map do |data|
239
+ CompositionSettingsInstance.new(version, data)
240
+ end
241
+ @headers = payload.headers
242
+ @status_code = payload.status_code
243
+ end
244
+
245
+ def composition_settings_instance
246
+ @instance
247
+ end
248
+ end
249
+
131
250
  class CompositionSettingsPage < Page
132
251
  ##
133
252
  # Initialize the CompositionSettingsPage
@@ -137,6 +256,7 @@ module Twilio
137
256
  # @return [CompositionSettingsPage] CompositionSettingsPage
138
257
  def initialize(version, response, solution)
139
258
  super(version, response)
259
+
140
260
 
141
261
  # Path Solution
142
262
  @solution = solution
@@ -156,6 +276,66 @@ module Twilio
156
276
  '<Twilio.Video.V1.CompositionSettingsPage>'
157
277
  end
158
278
  end
279
+
280
+ class CompositionSettingsPageMetadata < PageMetadata
281
+ attr_reader :composition_settings_page
282
+
283
+ def initialize(version, response, solution, limit)
284
+ super(version, response)
285
+ @composition_settings_page = []
286
+ @limit = limit
287
+ key = get_key(response.body)
288
+ records = 0
289
+ while( limit != :unset && records < limit )
290
+ @composition_settings_page << CompositionSettingsListResponse.new(version, @payload, key, limit - records)
291
+ @payload = self.next_page
292
+ break unless @payload
293
+ records += @payload.body[key].size
294
+ end
295
+ # Path Solution
296
+ @solution = solution
297
+ end
298
+
299
+ def each
300
+ @composition_settings_page.each do |record|
301
+ yield record
302
+ end
303
+ end
304
+
305
+ def to_s
306
+ '<Twilio::REST::Video::V1PageMetadata>';
307
+ end
308
+ end
309
+ class CompositionSettingsListResponse < InstanceListResource
310
+
311
+ # @param [Array<CompositionSettingsInstance>] instance
312
+ # @param [Hash{String => Object}] headers
313
+ # @param [Integer] status_code
314
+ def initialize(version, payload, key, limit = :unset)
315
+ data_list = payload.body[key]
316
+ if limit != :unset
317
+ data_list = data_list[0, limit]
318
+ end
319
+ @composition_settings = data_list.map do |data|
320
+ CompositionSettingsInstance.new(version, data)
321
+ end
322
+ @headers = payload.headers
323
+ @status_code = payload.status_code
324
+ end
325
+
326
+ def composition_settings
327
+ @composition_settings
328
+ end
329
+
330
+ def headers
331
+ @headers
332
+ end
333
+
334
+ def status_code
335
+ @status_code
336
+ end
337
+ end
338
+
159
339
  class CompositionSettingsInstance < InstanceResource
160
340
  ##
161
341
  # Initialize the CompositionSettingsInstance
@@ -169,6 +349,7 @@ module Twilio
169
349
  def initialize(version, payload )
170
350
  super(version)
171
351
 
352
+
172
353
  # Marshaled Properties
173
354
  @properties = {
174
355
  'account_sid' => payload['account_sid'],