twilio-ruby 5.23.0 → 7.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1067) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.github/workflows/test-and-deploy.yml +139 -0
  5. data/.gitignore +11 -1
  6. data/.rubocop.yml +22 -6
  7. data/.rubocop_todo.yml +147 -73
  8. data/CHANGES.md +2681 -0
  9. data/CODE_OF_CONDUCT.md +73 -0
  10. data/CONTRIBUTING.md +14 -10
  11. data/Dockerfile +2 -2
  12. data/Gemfile +3 -8
  13. data/ISSUE_TEMPLATE.md +17 -13
  14. data/{LICENSE.md → LICENSE} +2 -2
  15. data/Makefile +22 -24
  16. data/PULL_REQUEST_TEMPLATE.md +30 -3
  17. data/README.md +211 -54
  18. data/Rakefile +0 -54
  19. data/UPGRADE.md +21 -0
  20. data/VERSIONS.md +9 -10
  21. data/advanced-examples/custom-http-client.md +170 -0
  22. data/cluster_spec.rb +77 -0
  23. data/examples/examples.rb +1 -1
  24. data/githooks/pre-commit +0 -0
  25. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  26. data/lib/twilio-ruby/base/client_base.rb +124 -0
  27. data/lib/twilio-ruby/framework/request.rb +8 -1
  28. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +1 -1
  29. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +3 -15
  30. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +7 -11
  31. data/lib/twilio-ruby/http/http_client.rb +44 -17
  32. data/lib/twilio-ruby/http.rb +5 -0
  33. data/lib/twilio-ruby/jwt/access_token.rb +20 -61
  34. data/lib/twilio-ruby/jwt/jwt.rb +6 -0
  35. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  36. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +209 -0
  37. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +381 -350
  38. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +381 -350
  39. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +123 -115
  40. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +176 -0
  41. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +227 -0
  42. data/lib/twilio-ruby/rest/accounts/v1.rb +52 -29
  43. data/lib/twilio-ruby/rest/accounts.rb +10 -28
  44. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -368
  46. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +561 -532
  47. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +625 -602
  48. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +317 -329
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +395 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +395 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +395 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +395 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +395 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +395 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +395 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +435 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +140 -125
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +210 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +404 -439
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +327 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +504 -516
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +877 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +877 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +901 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +166 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +244 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +956 -851
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +669 -674
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +459 -471
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +495 -492
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +434 -420
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +324 -361
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -432
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +540 -500
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +540 -499
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +540 -499
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +851 -884
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +343 -315
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +171 -172
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +346 -359
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +625 -619
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +161 -144
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +161 -144
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +404 -422
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +376 -371
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +346 -349
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +436 -415
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +364 -389
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -394
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +370 -381
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +513 -492
  92. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +423 -421
  93. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +343 -319
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +385 -386
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +409 -391
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +353 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +353 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +353 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +96 -104
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +347 -353
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +347 -352
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +659 -587
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +422 -439
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +409 -392
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +143 -151
  108. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +175 -160
  109. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +370 -359
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +316 -335
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +316 -335
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +316 -335
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +316 -335
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +316 -335
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +316 -335
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +316 -335
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +316 -335
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +383 -412
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +495 -501
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +114 -105
  121. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +176 -167
  122. data/lib/twilio-ruby/rest/api/v2010/account.rb +987 -961
  123. data/lib/twilio-ruby/rest/api/v2010.rb +127 -148
  124. data/lib/twilio-ruby/rest/api.rb +27 -36
  125. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +309 -0
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +308 -0
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +283 -0
  129. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +257 -0
  130. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +258 -0
  131. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  132. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  133. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  134. data/lib/twilio-ruby/rest/chat/v1/credential.rb +429 -421
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +382 -405
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +432 -458
  137. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -455
  138. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +544 -533
  139. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +406 -385
  140. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -242
  141. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +475 -458
  142. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -912
  143. data/lib/twilio-ruby/rest/chat/v1.rb +58 -54
  144. data/lib/twilio-ruby/rest/chat/v2/credential.rb +429 -421
  145. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +382 -398
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +493 -531
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +520 -535
  149. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +450 -483
  150. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +613 -604
  151. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +406 -385
  152. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +370 -392
  153. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +413 -385
  154. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +517 -492
  155. data/lib/twilio-ruby/rest/chat/v2/service.rb +774 -798
  156. data/lib/twilio-ruby/rest/chat/v2.rb +58 -54
  157. data/lib/twilio-ruby/rest/chat/v3/channel.rb +299 -0
  158. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  159. data/lib/twilio-ruby/rest/chat.rb +10 -38
  160. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  161. data/lib/twilio-ruby/rest/client.rb +329 -460
  162. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +185 -0
  163. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +209 -0
  164. data/lib/twilio-ruby/rest/content/v1/content.rb +788 -0
  165. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  166. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  167. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  168. data/lib/twilio-ruby/rest/content/v2/content.rb +316 -0
  169. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +309 -0
  170. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  171. data/lib/twilio-ruby/rest/content.rb +15 -0
  172. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  173. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +491 -0
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +286 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +292 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +348 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +550 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +511 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +441 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +636 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +444 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +313 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/role.rb +403 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +376 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +339 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +285 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +319 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +359 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +563 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +524 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +454 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +645 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +318 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +412 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +464 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +497 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +459 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/user.rb +488 -0
  200. data/lib/twilio-ruby/rest/conversations/v1.rb +136 -0
  201. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  202. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/events/v1/event_type.rb +329 -0
  204. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  205. data/lib/twilio-ruby/rest/events/v1/schema.rb +238 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +132 -0
  207. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +139 -0
  208. data/lib/twilio-ruby/rest/events/v1/sink.rb +453 -0
  209. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +381 -0
  210. data/lib/twilio-ruby/rest/events/v1/subscription.rb +435 -0
  211. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  212. data/lib/twilio-ruby/rest/events.rb +43 -0
  213. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +449 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +382 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +548 -415
  217. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +573 -506
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +229 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +362 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +157 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +143 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +254 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +354 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +411 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +272 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +397 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +446 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +247 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +393 -0
  236. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +386 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +233 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +332 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +256 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +188 -0
  241. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +397 -0
  242. data/lib/twilio-ruby/rest/flex_api/v1.rb +314 -44
  243. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +290 -0
  244. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +151 -0
  245. data/lib/twilio-ruby/rest/flex_api/v2.rb +77 -0
  246. data/lib/twilio-ruby/rest/flex_api.rb +49 -28
  247. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  248. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +278 -0
  249. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  250. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  251. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  252. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  253. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +353 -0
  254. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +277 -0
  255. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +269 -0
  256. data/lib/twilio-ruby/rest/insights/v1/call.rb +271 -0
  257. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +494 -0
  258. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +491 -0
  259. data/lib/twilio-ruby/rest/insights/v1/conference.rb +508 -0
  260. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +386 -0
  261. data/lib/twilio-ruby/rest/insights/v1/room.rb +501 -0
  262. data/lib/twilio-ruby/rest/insights/v1/setting.rb +259 -0
  263. data/lib/twilio-ruby/rest/insights/v1.rb +85 -37
  264. data/lib/twilio-ruby/rest/insights.rb +29 -29
  265. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  266. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +447 -0
  267. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +356 -0
  268. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +217 -0
  269. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +197 -0
  270. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +358 -0
  271. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +356 -0
  272. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +517 -0
  273. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +227 -0
  274. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +389 -0
  275. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +249 -0
  276. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +525 -0
  277. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  278. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  279. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +429 -421
  281. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +382 -405
  282. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +432 -458
  283. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +448 -455
  284. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +544 -533
  285. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +406 -385
  286. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +246 -242
  287. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +475 -458
  288. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -912
  289. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +58 -54
  290. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +429 -421
  291. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +377 -381
  292. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +382 -398
  293. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +493 -531
  294. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +520 -535
  295. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +450 -483
  296. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +613 -604
  297. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +406 -385
  298. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +370 -392
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +405 -385
  300. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +517 -492
  301. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +774 -798
  302. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +58 -54
  303. data/lib/twilio-ruby/rest/ip_messaging.rb +9 -49
  304. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  305. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -244
  306. data/lib/twilio-ruby/rest/lookups/v1.rb +43 -39
  307. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +384 -0
  308. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  309. data/lib/twilio-ruby/rest/lookups.rb +3 -35
  310. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  311. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +309 -0
  312. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +336 -0
  313. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +352 -0
  314. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +170 -0
  315. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +465 -0
  316. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +284 -0
  317. data/lib/twilio-ruby/rest/marketplace/v1.rb +79 -0
  318. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  319. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  320. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +139 -0
  321. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +368 -0
  322. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +509 -0
  323. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +192 -0
  324. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +285 -0
  325. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +292 -0
  326. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +239 -0
  327. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +164 -0
  328. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +217 -0
  329. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +197 -0
  330. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +357 -345
  331. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +330 -0
  332. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +364 -349
  333. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +364 -352
  334. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +620 -0
  335. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +138 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/service.rb +775 -627
  337. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +803 -0
  338. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +126 -0
  339. data/lib/twilio-ruby/rest/messaging/v1.rb +188 -60
  340. data/lib/twilio-ruby/rest/messaging.rb +47 -34
  341. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  342. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +365 -0
  343. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +358 -0
  344. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +209 -0
  345. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +352 -0
  346. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +381 -0
  347. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +374 -0
  348. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +430 -0
  349. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  350. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  351. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  352. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -416
  353. data/lib/twilio-ruby/rest/monitor/v1/event.rb +385 -402
  354. data/lib/twilio-ruby/rest/monitor/v1.rb +58 -52
  355. data/lib/twilio-ruby/rest/monitor.rb +7 -36
  356. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  357. data/lib/twilio-ruby/rest/notify/v1/credential.rb +429 -420
  358. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +443 -465
  359. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +317 -358
  360. data/lib/twilio-ruby/rest/notify/v1/service.rb +634 -611
  361. data/lib/twilio-ruby/rest/notify/v1.rb +58 -54
  362. data/lib/twilio-ruby/rest/notify.rb +3 -34
  363. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  364. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +241 -0
  365. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +128 -0
  366. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +294 -0
  367. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +315 -0
  368. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +250 -0
  369. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +149 -0
  370. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +168 -0
  371. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +177 -0
  372. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +161 -0
  373. data/lib/twilio-ruby/rest/numbers/v1.rb +155 -0
  374. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +344 -0
  375. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +408 -0
  376. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +266 -0
  377. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +507 -0
  378. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +288 -0
  379. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +340 -0
  380. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +351 -0
  381. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +204 -0
  382. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +617 -0
  383. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +407 -0
  384. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +300 -0
  385. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +349 -0
  386. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +428 -0
  387. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +300 -0
  388. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +186 -0
  389. data/lib/twilio-ruby/rest/numbers/v2.rb +85 -0
  390. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  391. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  392. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +144 -0
  393. data/lib/twilio-ruby/rest/oauth/v1/token.rb +182 -0
  394. data/lib/twilio-ruby/rest/oauth/v1.rb +46 -0
  395. data/lib/twilio-ruby/rest/oauth.rb +6 -0
  396. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  397. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +418 -393
  398. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +402 -376
  399. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +457 -436
  400. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +415 -387
  401. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +502 -477
  402. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +43 -38
  403. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +372 -396
  404. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +452 -459
  405. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +618 -643
  406. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +58 -54
  407. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +303 -304
  408. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +327 -320
  409. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +346 -340
  410. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +437 -419
  411. data/lib/twilio-ruby/rest/preview/marketplace.rb +58 -54
  412. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +384 -387
  413. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +449 -414
  414. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +440 -418
  415. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +384 -387
  416. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +425 -412
  417. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +443 -415
  418. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +384 -387
  419. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +425 -412
  420. data/lib/twilio-ruby/rest/preview/sync/service.rb +503 -470
  421. data/lib/twilio-ruby/rest/preview/sync.rb +43 -37
  422. data/lib/twilio-ruby/rest/preview/wireless/command.rb +391 -378
  423. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +456 -416
  424. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +236 -212
  425. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +578 -536
  426. data/lib/twilio-ruby/rest/preview/wireless.rb +73 -67
  427. data/lib/twilio-ruby/rest/preview.rb +23 -145
  428. data/lib/twilio-ruby/rest/preview_base.rb +58 -0
  429. data/lib/twilio-ruby/rest/preview_iam.rb +6 -0
  430. data/lib/twilio-ruby/rest/preview_iam_base.rb +33 -0
  431. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +301 -284
  432. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +109 -120
  433. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +294 -277
  434. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +109 -120
  435. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +301 -284
  436. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +224 -204
  437. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +123 -136
  438. data/lib/twilio-ruby/rest/pricing/v1.rb +46 -43
  439. data/lib/twilio-ruby/rest/pricing/v2/country.rb +302 -0
  440. data/lib/twilio-ruby/rest/pricing/v2/number.rb +243 -0
  441. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +301 -284
  442. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +242 -225
  443. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +123 -139
  444. data/lib/twilio-ruby/rest/pricing/v2.rb +64 -29
  445. data/lib/twilio-ruby/rest/pricing.rb +22 -38
  446. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  447. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +427 -419
  448. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +412 -427
  449. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +434 -463
  450. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -456
  451. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +530 -540
  452. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +407 -388
  453. data/lib/twilio-ruby/rest/proxy/v1/service.rb +567 -614
  454. data/lib/twilio-ruby/rest/proxy/v1.rb +43 -38
  455. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  456. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  457. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +273 -0
  458. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +273 -0
  459. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +273 -0
  460. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  461. data/lib/twilio-ruby/rest/routes.rb +32 -0
  462. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  463. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +317 -365
  464. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +420 -384
  465. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +220 -0
  466. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +413 -348
  467. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +340 -355
  468. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +373 -0
  469. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +411 -400
  470. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +462 -417
  471. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +231 -0
  472. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +344 -365
  473. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +420 -384
  474. data/lib/twilio-ruby/rest/serverless/v1/service.rb +531 -472
  475. data/lib/twilio-ruby/rest/serverless/v1.rb +43 -38
  476. data/lib/twilio-ruby/rest/serverless.rb +4 -35
  477. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -206
  479. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -227
  480. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +365 -364
  481. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +430 -407
  482. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +210 -206
  483. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +225 -227
  484. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +365 -369
  485. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +478 -434
  486. data/lib/twilio-ruby/rest/studio/v1/flow.rb +386 -364
  487. data/lib/twilio-ruby/rest/studio/v1.rb +43 -37
  488. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +220 -0
  489. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +231 -0
  490. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +375 -0
  491. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +477 -0
  492. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +351 -0
  493. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +237 -0
  494. data/lib/twilio-ruby/rest/studio/v2/flow.rb +538 -0
  495. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +142 -0
  496. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  497. data/lib/twilio-ruby/rest/studio.rb +11 -35
  498. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  499. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +406 -0
  500. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +487 -0
  501. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +411 -0
  502. data/lib/twilio-ruby/rest/supersim/v1/network.rb +313 -0
  503. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +349 -0
  504. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +395 -0
  505. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +257 -0
  506. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +250 -0
  507. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +208 -0
  508. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +475 -0
  509. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  510. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -0
  511. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  512. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  513. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  514. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +384 -388
  515. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +465 -435
  516. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +474 -478
  517. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +384 -388
  518. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +480 -459
  519. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +477 -486
  520. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +384 -388
  521. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +480 -459
  522. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +143 -142
  523. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +429 -418
  524. data/lib/twilio-ruby/rest/sync/v1/service.rb +585 -521
  525. data/lib/twilio-ruby/rest/sync/v1.rb +43 -37
  526. data/lib/twilio-ruby/rest/sync.rb +4 -35
  527. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +415 -397
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +446 -458
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +710 -646
  531. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +660 -628
  532. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +419 -394
  533. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +164 -0
  534. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +363 -363
  535. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +283 -260
  536. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +234 -241
  537. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +241 -268
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +584 -577
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +692 -592
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +395 -399
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +239 -238
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +285 -269
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +219 -193
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +255 -239
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +631 -621
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +363 -370
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +249 -240
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +234 -241
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +533 -517
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +357 -357
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +236 -212
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +245 -237
  553. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +730 -726
  554. data/lib/twilio-ruby/rest/taskrouter/v1.rb +43 -37
  555. data/lib/twilio-ruby/rest/taskrouter.rb +4 -35
  556. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  557. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +350 -334
  558. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +350 -331
  559. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +450 -437
  560. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +483 -465
  561. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +236 -0
  562. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +633 -637
  563. data/lib/twilio-ruby/rest/trunking/v1.rb +43 -38
  564. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  565. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  566. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +240 -0
  567. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +357 -0
  568. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +220 -0
  569. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +371 -0
  570. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +355 -0
  571. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +345 -0
  572. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +551 -0
  573. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +402 -0
  574. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +295 -0
  575. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +288 -0
  576. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +416 -0
  577. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +295 -0
  578. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +371 -0
  579. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +355 -0
  580. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +345 -0
  581. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +551 -0
  582. data/lib/twilio-ruby/rest/trusthub/v1.rb +175 -0
  583. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  584. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  585. data/lib/twilio-ruby/rest/verify/v2/form.rb +204 -0
  586. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +236 -0
  587. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +284 -0
  588. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +201 -0
  589. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +515 -0
  590. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +465 -0
  591. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +272 -0
  592. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -0
  593. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +395 -0
  594. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +421 -0
  595. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +436 -0
  596. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +388 -345
  597. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +222 -207
  598. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +463 -0
  599. data/lib/twilio-ruby/rest/verify/v2/service.rb +817 -500
  600. data/lib/twilio-ruby/rest/verify/v2/template.rb +230 -0
  601. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +385 -0
  602. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +250 -0
  603. data/lib/twilio-ruby/rest/verify/v2.rb +100 -38
  604. data/lib/twilio-ruby/rest/verify.rb +36 -25
  605. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  606. data/lib/twilio-ruby/rest/video/v1/composition.rb +485 -511
  607. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +535 -635
  608. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +287 -278
  609. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -416
  610. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +287 -278
  611. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +262 -0
  612. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +334 -0
  613. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +186 -0
  614. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +341 -0
  615. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  616. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +175 -0
  617. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  618. data/lib/twilio-ruby/rest/video/v1/room.rb +614 -520
  619. data/lib/twilio-ruby/rest/video/v1.rb +100 -99
  620. data/lib/twilio-ruby/rest/video.rb +19 -46
  621. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  622. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +169 -0
  623. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +520 -0
  624. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +456 -0
  625. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +410 -0
  626. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +139 -127
  627. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +197 -186
  628. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +377 -404
  629. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +221 -201
  630. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +124 -124
  631. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +396 -0
  632. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +379 -0
  633. data/lib/twilio-ruby/rest/voice/v1.rb +131 -29
  634. data/lib/twilio-ruby/rest/voice.rb +41 -24
  635. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  636. data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -417
  637. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +473 -446
  638. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +300 -295
  639. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +241 -240
  640. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +642 -650
  641. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +235 -0
  642. data/lib/twilio-ruby/rest/wireless/v1.rb +79 -69
  643. data/lib/twilio-ruby/rest/wireless.rb +11 -34
  644. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  645. data/lib/twilio-ruby/rest.rb +14 -0
  646. data/lib/twilio-ruby/security/request_validator.rb +62 -9
  647. data/lib/twilio-ruby/twiml/fax_response.rb +6 -3
  648. data/lib/twilio-ruby/twiml/messaging_response.rb +2 -2
  649. data/lib/twilio-ruby/twiml/twiml.rb +4 -0
  650. data/lib/twilio-ruby/twiml/voice_response.rb +1243 -181
  651. data/lib/twilio-ruby/util/configuration.rb +22 -5
  652. data/lib/twilio-ruby/version.rb +1 -1
  653. data/lib/twilio-ruby.rb +9 -25
  654. data/sonar-project.properties +13 -0
  655. data/twilio-ruby.gemspec +14 -8
  656. metadata +432 -754
  657. data/.travis.yml +0 -26
  658. data/conf/cacert.pem +0 -3376
  659. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  660. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -493
  661. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -493
  662. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -493
  663. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -493
  664. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -493
  665. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -493
  666. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -493
  667. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -472
  668. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -317
  669. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -325
  670. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -361
  671. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -361
  672. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  673. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -361
  674. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  675. data/lib/twilio-ruby/rest/authy/v1/form.rb +0 -197
  676. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +0 -412
  677. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor.rb +0 -486
  678. data/lib/twilio-ruby/rest/authy/v1/service/entity.rb +0 -379
  679. data/lib/twilio-ruby/rest/authy/v1/service.rb +0 -385
  680. data/lib/twilio-ruby/rest/authy/v1.rb +0 -59
  681. data/lib/twilio-ruby/rest/authy.rb +0 -55
  682. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -230
  683. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -220
  684. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -408
  685. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -435
  686. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -409
  687. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -463
  688. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -228
  689. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -399
  690. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -466
  691. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -265
  692. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -243
  693. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -524
  694. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -621
  695. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -44
  696. data/lib/twilio-ruby/rest/autopilot.rb +0 -47
  697. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -322
  698. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -548
  699. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  700. data/lib/twilio-ruby/rest/fax.rb +0 -47
  701. data/lib/twilio-ruby/rest/insights/v1/summary.rb +0 -302
  702. data/lib/twilio-ruby/rest/messaging/v1/session/message.rb +0 -441
  703. data/lib/twilio-ruby/rest/messaging/v1/session/participant.rb +0 -465
  704. data/lib/twilio-ruby/rest/messaging/v1/session/webhook.rb +0 -448
  705. data/lib/twilio-ruby/rest/messaging/v1/session.rb +0 -509
  706. data/lib/twilio-ruby/rest/messaging/v1/webhook.rb +0 -305
  707. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -185
  708. data/lib/twilio-ruby/rest/preview/acc_security/service/verification_check.rb +0 -182
  709. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -395
  710. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -43
  711. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -211
  712. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -210
  713. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  714. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -58
  715. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -217
  716. data/lib/twilio-ruby/rest/preview/trusted_comms/device.rb +0 -146
  717. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -169
  718. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -49
  719. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -222
  720. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -222
  721. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -212
  722. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -424
  724. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -397
  725. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -454
  726. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -222
  727. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -445
  729. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -251
  730. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -231
  731. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -512
  732. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -646
  733. data/lib/twilio-ruby/rest/preview/understand.rb +0 -44
  734. data/lib/twilio-ruby/rest/trunking/v1/trunk/terminating_sip_domain.rb +0 -418
  735. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -402
  736. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -340
  737. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -191
  738. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -347
  739. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -496
  740. data/spec/framework/request_spec.rb +0 -36
  741. data/spec/framework/serialize_spec.rb +0 -80
  742. data/spec/holodeck/holodeck.rb +0 -61
  743. data/spec/holodeck/hologram.rb +0 -4
  744. data/spec/http/http_client_spec.rb +0 -122
  745. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -226
  746. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -226
  747. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  748. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -107
  749. data/spec/integration/api/v2010/account/address_spec.rb +0 -273
  750. data/spec/integration/api/v2010/account/application_spec.rb +0 -280
  751. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -139
  752. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -103
  753. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -103
  754. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -102
  755. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -103
  756. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -103
  757. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -102
  758. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -103
  759. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -130
  760. data/spec/integration/api/v2010/account/balance_spec.rb +0 -45
  761. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -139
  762. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -151
  763. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -181
  764. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  765. data/spec/integration/api/v2010/account/call_spec.rb +0 -361
  766. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -350
  767. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -237
  768. data/spec/integration/api/v2010/account/conference_spec.rb +0 -263
  769. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -201
  770. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -137
  771. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -223
  772. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -185
  773. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -185
  774. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -185
  775. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -341
  776. data/spec/integration/api/v2010/account/key_spec.rb +0 -180
  777. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -50
  778. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -164
  779. data/spec/integration/api/v2010/account/message_spec.rb +0 -290
  780. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -47
  781. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -47
  782. data/spec/integration/api/v2010/account/notification_spec.rb +0 -174
  783. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -195
  784. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -210
  785. data/spec/integration/api/v2010/account/queue_spec.rb +0 -248
  786. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -177
  787. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -168
  788. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -176
  789. data/spec/integration/api/v2010/account/recording_spec.rb +0 -187
  790. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -182
  791. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -180
  792. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -256
  793. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -244
  794. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -220
  795. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -220
  796. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  797. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -220
  798. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  799. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  800. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -210
  801. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -220
  802. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -295
  803. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  804. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -254
  805. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  806. data/spec/integration/api/v2010/account/token_spec.rb +0 -58
  807. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -169
  808. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  809. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  810. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  811. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  812. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  813. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  814. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  815. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  816. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  817. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -285
  818. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  819. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  820. data/spec/integration/api/v2010/account_spec.rb +0 -275
  821. data/spec/integration/authy/v1/form_spec.rb +0 -48
  822. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +0 -267
  823. data/spec/integration/authy/v1/service/entity/factor_spec.rb +0 -273
  824. data/spec/integration/authy/v1/service/entity_spec.rb +0 -201
  825. data/spec/integration/authy/v1/service_spec.rb +0 -227
  826. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -81
  827. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -47
  828. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -210
  829. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -246
  830. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -241
  831. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -306
  832. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -81
  833. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -207
  834. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -253
  835. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -87
  836. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -50
  837. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -262
  838. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -270
  839. data/spec/integration/chat/v1/credential_spec.rb +0 -223
  840. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -210
  841. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -284
  842. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -294
  843. data/spec/integration/chat/v1/service/channel_spec.rb +0 -277
  844. data/spec/integration/chat/v1/service/role_spec.rb +0 -263
  845. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -94
  846. data/spec/integration/chat/v1/service/user_spec.rb +0 -266
  847. data/spec/integration/chat/v1/service_spec.rb +0 -299
  848. data/spec/integration/chat/v2/credential_spec.rb +0 -223
  849. data/spec/integration/chat/v2/service/binding_spec.rb +0 -177
  850. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -210
  851. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -261
  852. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -405
  853. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -307
  854. data/spec/integration/chat/v2/service/channel_spec.rb +0 -281
  855. data/spec/integration/chat/v2/service/role_spec.rb +0 -263
  856. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -180
  857. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -192
  858. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  859. data/spec/integration/chat/v2/service_spec.rb +0 -354
  860. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -128
  861. data/spec/integration/fax/v1/fax_spec.rb +0 -271
  862. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -365
  863. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -255
  864. data/spec/integration/insights/v1/summary_spec.rb +0 -61
  865. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -223
  866. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -210
  867. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -284
  868. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -294
  869. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -277
  870. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -263
  871. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -94
  872. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -266
  873. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -299
  874. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -223
  875. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -177
  876. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -210
  877. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -261
  878. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -405
  879. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -307
  880. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -281
  881. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -263
  882. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -180
  883. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -192
  884. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  885. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -354
  886. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -332
  887. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -170
  888. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -201
  889. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -173
  890. data/spec/integration/messaging/v1/service_spec.rb +0 -271
  891. data/spec/integration/messaging/v1/session/message_spec.rb +0 -238
  892. data/spec/integration/messaging/v1/session/participant_spec.rb +0 -256
  893. data/spec/integration/messaging/v1/session/webhook_spec.rb +0 -300
  894. data/spec/integration/messaging/v1/session_spec.rb +0 -227
  895. data/spec/integration/messaging/v1/webhook_spec.rb +0 -94
  896. data/spec/integration/monitor/v1/alert_spec.rb +0 -163
  897. data/spec/integration/monitor/v1/event_spec.rb +0 -150
  898. data/spec/integration/notify/v1/credential_spec.rb +0 -223
  899. data/spec/integration/notify/v1/service/binding_spec.rb +0 -225
  900. data/spec/integration/notify/v1/service/notification_spec.rb +0 -99
  901. data/spec/integration/notify/v1/service_spec.rb +0 -286
  902. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -52
  903. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -52
  904. data/spec/integration/preview/acc_security/service_spec.rb +0 -185
  905. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -58
  906. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -79
  907. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -45
  908. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -238
  909. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -233
  910. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -249
  911. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -237
  912. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -246
  913. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -111
  914. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -227
  915. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -393
  916. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -123
  917. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -144
  918. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -164
  919. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -254
  920. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -204
  921. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  922. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -254
  923. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -204
  924. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -209
  925. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -254
  926. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -204
  927. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -209
  928. data/spec/integration/preview/sync/service_spec.rb +0 -246
  929. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -46
  930. data/spec/integration/preview/trusted_comms/device_spec.rb +0 -45
  931. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -48
  932. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -81
  933. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -81
  934. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -47
  935. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -210
  936. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -246
  937. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -241
  938. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -306
  939. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -81
  940. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -207
  941. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -253
  942. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -87
  943. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -50
  944. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -262
  945. data/spec/integration/preview/understand/assistant_spec.rb +0 -274
  946. data/spec/integration/preview/wireless/command_spec.rb +0 -169
  947. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -262
  948. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -51
  949. data/spec/integration/preview/wireless/sim_spec.rb +0 -210
  950. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -139
  951. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  952. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -130
  953. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  954. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -140
  955. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -56
  956. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  957. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -181
  958. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -62
  959. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  960. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -236
  961. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -136
  962. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -166
  963. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -243
  964. data/spec/integration/proxy/v1/service/session_spec.rb +0 -230
  965. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -229
  966. data/spec/integration/proxy/v1/service_spec.rb +0 -218
  967. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -144
  968. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -177
  969. data/spec/integration/serverless/v1/service/build_spec.rb +0 -184
  970. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -137
  971. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -181
  972. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -143
  973. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -144
  974. data/spec/integration/serverless/v1/service/function_spec.rb +0 -177
  975. data/spec/integration/serverless/v1/service_spec.rb +0 -180
  976. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -51
  977. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -54
  978. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -101
  979. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -171
  980. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -51
  981. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -54
  982. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -101
  983. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -171
  984. data/spec/integration/studio/v1/flow_spec.rb +0 -117
  985. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -204
  986. data/spec/integration/sync/v1/service/document_spec.rb +0 -257
  987. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  988. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -204
  989. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -257
  990. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  991. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -204
  992. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -257
  993. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  994. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -249
  995. data/spec/integration/sync/v1/service_spec.rb +0 -254
  996. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -236
  997. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -165
  998. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -225
  999. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -316
  1000. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -96
  1001. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -82
  1002. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -108
  1003. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -146
  1004. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -294
  1005. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -326
  1006. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -194
  1007. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -188
  1008. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -92
  1009. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -89
  1010. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -70
  1011. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -116
  1012. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -294
  1013. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -97
  1014. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -58
  1015. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -71
  1016. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -272
  1017. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -94
  1018. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -73
  1019. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -105
  1020. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -295
  1021. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -192
  1022. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -192
  1023. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -252
  1024. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -267
  1025. data/spec/integration/trunking/v1/trunk/terminating_sip_domain_spec.rb +0 -231
  1026. data/spec/integration/trunking/v1/trunk_spec.rb +0 -368
  1027. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -54
  1028. data/spec/integration/verify/v2/service/verification_spec.rb +0 -169
  1029. data/spec/integration/verify/v2/service_spec.rb +0 -231
  1030. data/spec/integration/video/v1/composition_hook_spec.rb +0 -410
  1031. data/spec/integration/video/v1/composition_settings_spec.rb +0 -86
  1032. data/spec/integration/video/v1/composition_spec.rb +0 -350
  1033. data/spec/integration/video/v1/recording_settings_spec.rb +0 -86
  1034. data/spec/integration/video/v1/recording_spec.rb +0 -179
  1035. data/spec/integration/video/v1/room/recording_spec.rb +0 -188
  1036. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -96
  1037. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -92
  1038. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -97
  1039. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -190
  1040. data/spec/integration/video/v1/room_spec.rb +0 -257
  1041. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  1042. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -61
  1043. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -112
  1044. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -77
  1045. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  1046. data/spec/integration/wireless/v1/command_spec.rb +0 -289
  1047. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -270
  1048. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -89
  1049. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -67
  1050. data/spec/integration/wireless/v1/sim_spec.rb +0 -245
  1051. data/spec/jwt/access_token_spec.rb +0 -151
  1052. data/spec/jwt/client_capability_spec.rb +0 -104
  1053. data/spec/jwt/task_router_spec.rb +0 -172
  1054. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  1055. data/spec/rest/client_spec.rb +0 -61
  1056. data/spec/security/request_validator_spec.rb +0 -84
  1057. data/spec/spec_helper.rb +0 -38
  1058. data/spec/support/fakeweb.rb +0 -2
  1059. data/spec/twilio_spec.rb +0 -15
  1060. data/spec/twiml/messaging_response_spec.rb +0 -235
  1061. data/spec/twiml/voice_response_spec.rb +0 -847
  1062. data/spec/util/configuration_spec.rb +0 -15
  1063. data/spec/util/url_encode_spec.rb +0 -12
  1064. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  1065. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  1066. /data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  1067. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
@@ -1,644 +1,544 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
6
- #
7
- # frozen_string_literal: true
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Video
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Video < Domain
12
- class V1 < Version
13
- ##
14
- # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
15
- class CompositionHookList < ListResource
16
- ##
17
- # Initialize the CompositionHookList
18
- # @param [Version] version Version that contains the resource
19
- # @return [CompositionHookList] CompositionHookList
20
- def initialize(version)
21
- super(version)
22
-
23
- # Path Solution
24
- @solution = {}
25
- @uri = "/CompositionHooks"
26
- end
27
-
28
- ##
29
- # Lists CompositionHookInstance records from the API as a list.
30
- # Unlike stream(), this operation is eager and will load `limit` records into
31
- # memory before returning.
32
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
33
- # disabled.
34
- # @param [Time] date_created_after Only show Composition Hooks created on or after
35
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
36
- # `YYYY-MM-DDThh:mm:ssZ`.
37
- # @param [Time] date_created_before Only show Composition Hooks created before
38
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
39
- # `YYYY-MM-DDThh:mm:ssZ`.
40
- # @param [String] friendly_name Only show Composition Hooks with friendly name
41
- # that match this case-insensitive string, of up to 100 characters in length.
42
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
43
- # `*my*hook*`).
44
- # @param [Integer] limit Upper limit for the number of records to return. stream()
45
- # guarantees to never return more than limit. Default is no limit
46
- # @param [Integer] page_size Number of records to fetch per request, when
47
- # not set will use the default value of 50 records. If no page_size is defined
48
- # but a limit is defined, stream() will attempt to read the limit with the most
49
- # efficient page size, i.e. min(limit, 1000)
50
- # @return [Array] Array of up to limit results
51
- def list(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
52
- self.stream(
53
- enabled: enabled,
54
- date_created_after: date_created_after,
55
- date_created_before: date_created_before,
56
- friendly_name: friendly_name,
57
- limit: limit,
58
- page_size: page_size
59
- ).entries
60
- end
61
-
62
- ##
63
- # Streams CompositionHookInstance records from the API as an Enumerable.
64
- # This operation lazily loads records as efficiently as possible until the limit
65
- # is reached.
66
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
67
- # disabled.
68
- # @param [Time] date_created_after Only show Composition Hooks created on or after
69
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
70
- # `YYYY-MM-DDThh:mm:ssZ`.
71
- # @param [Time] date_created_before Only show Composition Hooks created before
72
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
73
- # `YYYY-MM-DDThh:mm:ssZ`.
74
- # @param [String] friendly_name Only show Composition Hooks with friendly name
75
- # that match this case-insensitive string, of up to 100 characters in length.
76
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
77
- # `*my*hook*`).
78
- # @param [Integer] limit Upper limit for the number of records to return. stream()
79
- # guarantees to never return more than limit. Default is no limit.
80
- # @param [Integer] page_size Number of records to fetch per request, when
81
- # not set will use the default value of 50 records. If no page_size is defined
82
- # but a limit is defined, stream() will attempt to read the limit with the most
83
- # efficient page size, i.e. min(limit, 1000)
84
- # @return [Enumerable] Enumerable that will yield up to limit results
85
- def stream(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
86
- limits = @version.read_limits(limit, page_size)
87
-
88
- page = self.page(
89
- enabled: enabled,
90
- date_created_after: date_created_after,
91
- date_created_before: date_created_before,
92
- friendly_name: friendly_name,
93
- page_size: limits[:page_size],
94
- )
95
-
96
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
97
- end
98
-
99
- ##
100
- # When passed a block, yields CompositionHookInstance records from the API.
101
- # This operation lazily loads records as efficiently as possible until the limit
102
- # is reached.
103
- def each
104
- limits = @version.read_limits
105
-
106
- page = self.page(page_size: limits[:page_size], )
107
-
108
- @version.stream(page,
17
+ module REST
18
+ class Video < VideoBase
19
+ class V1 < Version
20
+ class CompositionHookList < ListResource
21
+
22
+ ##
23
+ # Initialize the CompositionHookList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [CompositionHookList] CompositionHookList
26
+ def initialize(version)
27
+ super(version)
28
+ # Path Solution
29
+ @solution = { }
30
+ @uri = "/CompositionHooks"
31
+
32
+ end
33
+ ##
34
+ # Create the CompositionHookInstance
35
+ # @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.
36
+ # @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.
37
+ # @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.
38
+ # @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`.
39
+ # @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.
40
+ # @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.
41
+ # @param [Format] format
42
+ # @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.
43
+ # @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`.
44
+ # @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.
45
+ # @return [CompositionHookInstance] Created CompositionHookInstance
46
+ def create(
47
+ friendly_name: nil,
48
+ enabled: :unset,
49
+ video_layout: :unset,
50
+ audio_sources: :unset,
51
+ audio_sources_excluded: :unset,
52
+ resolution: :unset,
53
+ format: :unset,
54
+ status_callback: :unset,
55
+ status_callback_method: :unset,
56
+ trim: :unset
57
+ )
58
+
59
+ data = Twilio::Values.of({
60
+ 'FriendlyName' => friendly_name,
61
+ 'Enabled' => enabled,
62
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
63
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
64
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
65
+ 'Resolution' => resolution,
66
+ 'Format' => format,
67
+ 'StatusCallback' => status_callback,
68
+ 'StatusCallbackMethod' => status_callback_method,
69
+ 'Trim' => trim,
70
+ })
71
+
72
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
73
+
74
+ payload = @version.create('POST', @uri, data: data, headers: headers)
75
+ CompositionHookInstance.new(
76
+ @version,
77
+ payload,
78
+ )
79
+ end
80
+
81
+
82
+ ##
83
+ # Lists CompositionHookInstance records from the API as a list.
84
+ # Unlike stream(), this operation is eager and will load `limit` records into
85
+ # memory before returning.
86
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
87
+ # @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.
88
+ # @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.
89
+ # @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.
90
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
91
+ # guarantees to never return more than limit. Default is no limit
92
+ # @param [Integer] page_size Number of records to fetch per request, when
93
+ # not set will use the default value of 50 records. If no page_size is defined
94
+ # but a limit is defined, stream() will attempt to read the limit with the most
95
+ # efficient page size, i.e. min(limit, 1000)
96
+ # @return [Array] Array of up to limit results
97
+ def list(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
98
+ self.stream(
99
+ enabled: enabled,
100
+ date_created_after: date_created_after,
101
+ date_created_before: date_created_before,
102
+ friendly_name: friendly_name,
103
+ limit: limit,
104
+ page_size: page_size
105
+ ).entries
106
+ end
107
+
108
+ ##
109
+ # Streams Instance records from the API as an Enumerable.
110
+ # This operation lazily loads records as efficiently as possible until the limit
111
+ # is reached.
112
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
113
+ # @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.
114
+ # @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.
115
+ # @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.
116
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
117
+ # guarantees to never return more than limit. Default is no limit
118
+ # @param [Integer] page_size Number of records to fetch per request, when
119
+ # not set will use the default value of 50 records. If no page_size is defined
120
+ # but a limit is defined, stream() will attempt to read the limit with the most
121
+ # efficient page size, i.e. min(limit, 1000)
122
+ # @return [Enumerable] Enumerable that will yield up to limit results
123
+ def stream(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
124
+ limits = @version.read_limits(limit, page_size)
125
+
126
+ page = self.page(
127
+ enabled: enabled,
128
+ date_created_after: date_created_after,
129
+ date_created_before: date_created_before,
130
+ friendly_name: friendly_name,
131
+ page_size: limits[:page_size], )
132
+
133
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
134
+ end
135
+
136
+ ##
137
+ # When passed a block, yields CompositionHookInstance records from the API.
138
+ # This operation lazily loads records as efficiently as possible until the limit
139
+ # is reached.
140
+ def each
141
+ limits = @version.read_limits
142
+
143
+ page = self.page(page_size: limits[:page_size], )
144
+
145
+ @version.stream(page,
109
146
  limit: limits[:limit],
110
147
  page_limit: limits[:page_limit]).each {|x| yield x}
111
- end
112
-
113
- ##
114
- # Retrieve a single page of CompositionHookInstance records from the API.
115
- # Request is executed immediately.
116
- # @param [Boolean] enabled Only show Composition Hooks that are enabled or
117
- # disabled.
118
- # @param [Time] date_created_after Only show Composition Hooks created on or after
119
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
120
- # `YYYY-MM-DDThh:mm:ssZ`.
121
- # @param [Time] date_created_before Only show Composition Hooks created before
122
- # this ISO8601 date-time with timezone, given as `YYYY-MM-DDThh:mm:ss+|-hh:mm` or
123
- # `YYYY-MM-DDThh:mm:ssZ`.
124
- # @param [String] friendly_name Only show Composition Hooks with friendly name
125
- # that match this case-insensitive string, of up to 100 characters in length.
126
- # Filtering by partial friendly names is allowed, using wildcards (e.g.
127
- # `*my*hook*`).
128
- # @param [String] page_token PageToken provided by the API
129
- # @param [Integer] page_number Page Number, this value is simply for client state
130
- # @param [Integer] page_size Number of records to return, defaults to 50
131
- # @return [Page] Page of CompositionHookInstance
132
- def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
133
- params = Twilio::Values.of({
134
- 'Enabled' => enabled,
135
- 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
136
- 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
137
- 'FriendlyName' => friendly_name,
138
- 'PageToken' => page_token,
139
- 'Page' => page_number,
140
- 'PageSize' => page_size,
141
- })
142
- response = @version.page(
143
- 'GET',
144
- @uri,
145
- params
146
- )
147
- CompositionHookPage.new(@version, response, @solution)
148
- end
149
-
150
- ##
151
- # Retrieve a single page of CompositionHookInstance records from the API.
152
- # Request is executed immediately.
153
- # @param [String] target_url API-generated URL for the requested results page
154
- # @return [Page] Page of CompositionHookInstance
155
- def get_page(target_url)
156
- response = @version.domain.request(
157
- 'GET',
158
- target_url
159
- )
160
- CompositionHookPage.new(@version, response, @solution)
161
- end
162
-
163
- ##
164
- # Retrieve a single page of CompositionHookInstance records from the API.
165
- # Request is executed immediately.
166
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
167
- # in the console, must be unique per account and up to 100 characters.
168
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
169
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
170
- # will be triggered for every completed Group Room on this account. When `false`,
171
- # the Composition Hook never triggers.
172
- # @param [Hash] video_layout A JSON object defining the video layout of the
173
- # Composition Hook in terms of regions. See the section [Specifying Video
174
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
175
- # @param [String] audio_sources An array of audio sources to merge. All the
176
- # specified sources must belong to the same Group Room. It can include zero or
177
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
178
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
179
- # depending on whether the Group Room had audio tracks.
180
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
181
- # the Composition Hook. Any new Composition triggered by the Composition Hook
182
- # shall include all audio sources specified in `AudioSources` except for the ones
183
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
184
- # Track names. These can be specified using wildcards (e.g. `student*`).
185
- # @param [String] resolution A string representing the number of pixels for rows
186
- # (width) and columns (height) of the generated composed video. This string must
187
- # have the format `{width}x{height}`. This parameter must comply with the
188
- # following constraints:
189
- #
190
- # * `width >= 16 && width <= 1280`
191
- # * `height >= 16 && height <= 1280`
192
- # * `width * height <= 921,600`
193
- #
194
- # Typical values are:
195
- #
196
- # * HD = `1280x720`
197
- # * PAL = `1024x576`
198
- # * VGA = `640x480`
199
- # * CIF = `320x240`
200
- #
201
- # Note that the `Resolution` implicitly imposes an aspect ratio to the resulting
202
- # composition. When the original video tracks get constrained by this aspect ratio
203
- # they are scaled-down to fit. You can find detailed information in the
204
- # [Specifying Video
205
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
206
- # @param [composition_hook.Format] format Container format of the Composition
207
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
208
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
209
- # `AudioSources` and/or one `VideoLayout` element containing a valid
210
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
211
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
212
- # requests to on every composition event. If not provided, status callback events
213
- # will not be dispatched.
214
- # @param [String] status_callback_method HTTP method Twilio should use when
215
- # requesting the above URL. Defaults to `POST`.
216
- # @param [Boolean] trim When activated, clips all the intervals where there is no
217
- # active media in the Compositions triggered by the Composition Hook. This results
218
- # in shorter compositions in cases when the Room was created but no Participant
219
- # joined for some time, or if all the Participants left the room and joined at a
220
- # later stage, as those gaps will be removed. You can find further information in
221
- # the [Specifying Video
222
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
223
- # @return [CompositionHookInstance] Newly created CompositionHookInstance
224
- def create(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
225
- data = Twilio::Values.of({
226
- 'FriendlyName' => friendly_name,
227
- 'Enabled' => enabled,
228
- 'VideoLayout' => Twilio.serialize_object(video_layout),
229
- 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
230
- 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
231
- 'Resolution' => resolution,
232
- 'Format' => format,
233
- 'StatusCallback' => status_callback,
234
- 'StatusCallbackMethod' => status_callback_method,
235
- 'Trim' => trim,
236
- })
237
-
238
- payload = @version.create(
239
- 'POST',
240
- @uri,
241
- data: data
242
- )
243
-
244
- CompositionHookInstance.new(@version, payload, )
245
- end
246
-
247
- ##
248
- # Provide a user friendly representation
249
- def to_s
250
- '#<Twilio.Video.V1.CompositionHookList>'
251
- end
252
- end
253
-
254
- ##
255
- # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
256
- class CompositionHookPage < Page
257
- ##
258
- # Initialize the CompositionHookPage
259
- # @param [Version] version Version that contains the resource
260
- # @param [Response] response Response from the API
261
- # @param [Hash] solution Path solution for the resource
262
- # @return [CompositionHookPage] CompositionHookPage
263
- def initialize(version, response, solution)
264
- super(version, response)
265
-
266
- # Path Solution
267
- @solution = solution
268
- end
269
-
270
- ##
271
- # Build an instance of CompositionHookInstance
272
- # @param [Hash] payload Payload response from the API
273
- # @return [CompositionHookInstance] CompositionHookInstance
274
- def get_instance(payload)
275
- CompositionHookInstance.new(@version, payload, )
276
- end
277
-
278
- ##
279
- # Provide a user friendly representation
280
- def to_s
281
- '<Twilio.Video.V1.CompositionHookPage>'
282
- end
283
- end
284
-
285
- ##
286
- # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
287
- class CompositionHookContext < InstanceContext
288
- ##
289
- # Initialize the CompositionHookContext
290
- # @param [Version] version Version that contains the resource
291
- # @param [String] sid The Composition Hook Sid that uniquely identifies the
292
- # Composition Hook to fetch.
293
- # @return [CompositionHookContext] CompositionHookContext
294
- def initialize(version, sid)
295
- super(version)
296
-
297
- # Path Solution
298
- @solution = {sid: sid, }
299
- @uri = "/CompositionHooks/#{@solution[:sid]}"
300
- end
301
-
302
- ##
303
- # Fetch a CompositionHookInstance
304
- # @return [CompositionHookInstance] Fetched CompositionHookInstance
305
- def fetch
306
- params = Twilio::Values.of({})
307
-
308
- payload = @version.fetch(
309
- 'GET',
310
- @uri,
311
- params,
312
- )
313
-
314
- CompositionHookInstance.new(@version, payload, sid: @solution[:sid], )
315
- end
316
-
317
- ##
318
- # Deletes the CompositionHookInstance
319
- # @return [Boolean] true if delete succeeds, true otherwise
320
- def delete
321
- @version.delete('delete', @uri)
322
- end
323
-
324
- ##
325
- # Update the CompositionHookInstance
326
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
327
- # in the console, must be unique per account and up to 100 characters.
328
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
329
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
330
- # will be triggered for every completed Group Room on this account. When `false`,
331
- # the Composition Hook never triggers.
332
- # @param [Hash] video_layout A JSON object defining the video layout of the
333
- # Composition Hook in terms of regions. See the section [Specifying Video
334
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
335
- # @param [String] audio_sources An array of audio sources to merge. All the
336
- # specified sources must belong to the same Group Room. It can include zero or
337
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
338
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
339
- # depending on whether the Group Room had audio tracks.
340
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
341
- # the Composition Hook. Any new Composition triggered by the Composition Hook
342
- # shall include all audio sources specified in `AudioSources` except for the ones
343
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
344
- # Track names. These can be specified using wildcards (e.g. `student*`).
345
- # @param [Boolean] trim When activated, clips all the intervals where there is no
346
- # active media in the Compositions triggered by the Composition Hook. This results
347
- # in shorter compositions in cases when the Room was created but no Participant
348
- # joined for some time, or if all the Participants left the room and joined at a
349
- # later stage, as those gaps will be removed. You can find further information in
350
- # the [Specifying Video
351
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
352
- # @param [composition_hook.Format] format Container format of the Composition
353
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
354
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
355
- # `AudioSources` and/or one `VideoLayout` element containing a valid
356
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
357
- # @param [String] resolution A string representing the number of pixels for rows
358
- # (width) and columns (height) of the generated composed video. This string must
359
- # have the format `{width}x{height}`. This parameter must comply with the
360
- # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height
361
- # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL
362
- # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution`
363
- # implicitly imposes an aspect ratio to the resulting composition. When the
364
- # original video tracks get constrained by this aspect ratio they are scaled-down
365
- # to fit. You can find detailed information in the [Specifying Video
366
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
367
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
368
- # requests to on every composition event. If not provided, status callback events
369
- # will not be dispatched.
370
- # @param [String] status_callback_method HTTP method Twilio should use when
371
- # requesting the above URL. Defaults to `POST`.
372
- # @return [CompositionHookInstance] Updated CompositionHookInstance
373
- def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
374
- data = Twilio::Values.of({
375
- 'FriendlyName' => friendly_name,
376
- 'Enabled' => enabled,
377
- 'VideoLayout' => Twilio.serialize_object(video_layout),
378
- 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
379
- 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
380
- 'Trim' => trim,
381
- 'Format' => format,
382
- 'Resolution' => resolution,
383
- 'StatusCallback' => status_callback,
384
- 'StatusCallbackMethod' => status_callback_method,
385
- })
386
-
387
- payload = @version.update(
388
- 'POST',
389
- @uri,
390
- data: data,
391
- )
392
-
393
- CompositionHookInstance.new(@version, payload, sid: @solution[:sid], )
394
- end
395
-
396
- ##
397
- # Provide a user friendly representation
398
- def to_s
399
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
400
- "#<Twilio.Video.V1.CompositionHookContext #{context}>"
401
- end
402
-
403
- ##
404
- # Provide a detailed, user friendly representation
405
- def inspect
406
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
407
- "#<Twilio.Video.V1.CompositionHookContext #{context}>"
408
- end
409
- end
148
+ end
149
+
150
+ ##
151
+ # Retrieve a single page of CompositionHookInstance records from the API.
152
+ # Request is executed immediately.
153
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
154
+ # @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.
155
+ # @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.
156
+ # @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.
157
+ # @param [String] page_token PageToken provided by the API
158
+ # @param [Integer] page_number Page Number, this value is simply for client state
159
+ # @param [Integer] page_size Number of records to return, defaults to 50
160
+ # @return [Page] Page of CompositionHookInstance
161
+ def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
162
+ params = Twilio::Values.of({
163
+ 'Enabled' => enabled,
164
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
165
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
166
+ 'FriendlyName' => friendly_name,
167
+ 'PageToken' => page_token,
168
+ 'Page' => page_number,
169
+ 'PageSize' => page_size,
170
+ })
171
+
172
+ response = @version.page('GET', @uri, params: params)
173
+
174
+ CompositionHookPage.new(@version, response, @solution)
175
+ end
176
+
177
+ ##
178
+ # Retrieve a single page of CompositionHookInstance records from the API.
179
+ # Request is executed immediately.
180
+ # @param [String] target_url API-generated URL for the requested results page
181
+ # @return [Page] Page of CompositionHookInstance
182
+ def get_page(target_url)
183
+ response = @version.domain.request(
184
+ 'GET',
185
+ target_url
186
+ )
187
+ CompositionHookPage.new(@version, response, @solution)
188
+ end
189
+
190
+
191
+
192
+ # Provide a user friendly representation
193
+ def to_s
194
+ '#<Twilio.Video.V1.CompositionHookList>'
195
+ end
196
+ end
197
+
198
+
199
+ class CompositionHookContext < InstanceContext
200
+ ##
201
+ # Initialize the CompositionHookContext
202
+ # @param [Version] version Version that contains the resource
203
+ # @param [String] sid The SID of the CompositionHook resource to update.
204
+ # @return [CompositionHookContext] CompositionHookContext
205
+ def initialize(version, sid)
206
+ super(version)
207
+
208
+ # Path Solution
209
+ @solution = { sid: sid, }
210
+ @uri = "/CompositionHooks/#{@solution[:sid]}"
211
+
212
+
213
+ end
214
+ ##
215
+ # Delete the CompositionHookInstance
216
+ # @return [Boolean] True if delete succeeds, false otherwise
217
+ def delete
218
+
219
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
220
+
221
+ @version.delete('DELETE', @uri, headers: headers)
222
+ end
223
+
224
+ ##
225
+ # Fetch the CompositionHookInstance
226
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
227
+ def fetch
228
+
229
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
230
+
231
+ payload = @version.fetch('GET', @uri, headers: headers)
232
+ CompositionHookInstance.new(
233
+ @version,
234
+ payload,
235
+ sid: @solution[:sid],
236
+ )
237
+ end
238
+
239
+ ##
240
+ # Update the CompositionHookInstance
241
+ # @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.
242
+ # @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.
243
+ # @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.
244
+ # @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`.
245
+ # @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.
246
+ # @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.
247
+ # @param [Format] format
248
+ # @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.
249
+ # @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.
250
+ # @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`.
251
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
252
+ def update(
253
+ friendly_name: nil,
254
+ enabled: :unset,
255
+ video_layout: :unset,
256
+ audio_sources: :unset,
257
+ audio_sources_excluded: :unset,
258
+ trim: :unset,
259
+ format: :unset,
260
+ resolution: :unset,
261
+ status_callback: :unset,
262
+ status_callback_method: :unset
263
+ )
264
+
265
+ data = Twilio::Values.of({
266
+ 'FriendlyName' => friendly_name,
267
+ 'Enabled' => enabled,
268
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
269
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
270
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
271
+ 'Trim' => trim,
272
+ 'Format' => format,
273
+ 'Resolution' => resolution,
274
+ 'StatusCallback' => status_callback,
275
+ 'StatusCallbackMethod' => status_callback_method,
276
+ })
277
+
278
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
279
+
280
+ payload = @version.update('POST', @uri, data: data, headers: headers)
281
+ CompositionHookInstance.new(
282
+ @version,
283
+ payload,
284
+ sid: @solution[:sid],
285
+ )
286
+ end
287
+
288
+
289
+ ##
290
+ # Provide a user friendly representation
291
+ def to_s
292
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
293
+ "#<Twilio.Video.V1.CompositionHookContext #{context}>"
294
+ end
295
+
296
+ ##
297
+ # Provide a detailed, user friendly representation
298
+ def inspect
299
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
300
+ "#<Twilio.Video.V1.CompositionHookContext #{context}>"
301
+ end
302
+ end
303
+
304
+ class CompositionHookPage < Page
305
+ ##
306
+ # Initialize the CompositionHookPage
307
+ # @param [Version] version Version that contains the resource
308
+ # @param [Response] response Response from the API
309
+ # @param [Hash] solution Path solution for the resource
310
+ # @return [CompositionHookPage] CompositionHookPage
311
+ def initialize(version, response, solution)
312
+ super(version, response)
313
+
314
+ # Path Solution
315
+ @solution = solution
316
+ end
317
+
318
+ ##
319
+ # Build an instance of CompositionHookInstance
320
+ # @param [Hash] payload Payload response from the API
321
+ # @return [CompositionHookInstance] CompositionHookInstance
322
+ def get_instance(payload)
323
+ CompositionHookInstance.new(@version, payload)
324
+ end
325
+
326
+ ##
327
+ # Provide a user friendly representation
328
+ def to_s
329
+ '<Twilio.Video.V1.CompositionHookPage>'
330
+ end
331
+ end
332
+ class CompositionHookInstance < InstanceResource
333
+ ##
334
+ # Initialize the CompositionHookInstance
335
+ # @param [Version] version Version that contains the resource
336
+ # @param [Hash] payload payload that contains response from Twilio
337
+ # @param [String] account_sid The SID of the
338
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this CompositionHook
339
+ # resource.
340
+ # @param [String] sid The SID of the Call resource to fetch.
341
+ # @return [CompositionHookInstance] CompositionHookInstance
342
+ def initialize(version, payload , sid: nil)
343
+ super(version)
344
+
345
+ # Marshaled Properties
346
+ @properties = {
347
+ 'account_sid' => payload['account_sid'],
348
+ 'friendly_name' => payload['friendly_name'],
349
+ 'enabled' => payload['enabled'],
350
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
351
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
352
+ 'sid' => payload['sid'],
353
+ 'audio_sources' => payload['audio_sources'],
354
+ 'audio_sources_excluded' => payload['audio_sources_excluded'],
355
+ 'video_layout' => payload['video_layout'],
356
+ 'resolution' => payload['resolution'],
357
+ 'trim' => payload['trim'],
358
+ 'format' => payload['format'],
359
+ 'status_callback' => payload['status_callback'],
360
+ 'status_callback_method' => payload['status_callback_method'],
361
+ 'url' => payload['url'],
362
+ }
363
+
364
+ # Context
365
+ @instance_context = nil
366
+ @params = { 'sid' => sid || @properties['sid'] , }
367
+ end
368
+
369
+ ##
370
+ # Generate an instance context for the instance, the context is capable of
371
+ # performing various actions. All instance actions are proxied to the context
372
+ # @return [CompositionHookContext] CallContext for this CallInstance
373
+ def context
374
+ unless @instance_context
375
+ @instance_context = CompositionHookContext.new(@version , @params['sid'])
376
+ end
377
+ @instance_context
378
+ end
379
+
380
+ ##
381
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CompositionHook resource.
382
+ def account_sid
383
+ @properties['account_sid']
384
+ end
385
+
386
+ ##
387
+ # @return [String] The string that you assigned to describe the resource. Can be up to 100 characters long and must be unique within the account.
388
+ def friendly_name
389
+ @properties['friendly_name']
390
+ end
391
+
392
+ ##
393
+ # @return [Boolean] Whether the CompositionHook is active. When `true`, the CompositionHook is triggered for every completed Group Room on the account. When `false`, the CompositionHook is never triggered.
394
+ def enabled
395
+ @properties['enabled']
396
+ end
397
+
398
+ ##
399
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
400
+ def date_created
401
+ @properties['date_created']
402
+ end
403
+
404
+ ##
405
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
406
+ def date_updated
407
+ @properties['date_updated']
408
+ end
409
+
410
+ ##
411
+ # @return [String] The unique string that we created to identify the CompositionHook resource.
412
+ def sid
413
+ @properties['sid']
414
+ end
415
+
416
+ ##
417
+ # @return [Array<String>] The array of track names to include in the compositions created by the composition hook. 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 property 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`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
418
+ def audio_sources
419
+ @properties['audio_sources']
420
+ end
421
+
422
+ ##
423
+ # @return [Array<String>] The array of track names to exclude from the compositions created by the composition hook. 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 property 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.
424
+ def audio_sources_excluded
425
+ @properties['audio_sources_excluded']
426
+ end
427
+
428
+ ##
429
+ # @return [Hash] A JSON object that describes the video layout of the composition in terms of regions as specified in the HTTP POST request that created the CompositionHook resource. See [POST Parameters](https://www.twilio.com/docs/video/api/compositions-resource#http-post-parameters) for more information. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
430
+ def video_layout
431
+ @properties['video_layout']
432
+ end
433
+
434
+ ##
435
+ # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height). The string's format is `{width}x{height}`, such as `640x480`.
436
+ def resolution
437
+ @properties['resolution']
438
+ end
439
+
440
+ ##
441
+ # @return [Boolean] Whether intervals with no media are clipped, as specified in the POST request that created the CompositionHook resource. 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.
442
+ def trim
443
+ @properties['trim']
444
+ end
445
+
446
+ ##
447
+ # @return [Format]
448
+ def format
449
+ @properties['format']
450
+ end
451
+
452
+ ##
453
+ # @return [String] The URL we call using the `status_callback_method` to send status information to your application.
454
+ def status_callback
455
+ @properties['status_callback']
456
+ end
457
+
458
+ ##
459
+ # @return [String] The HTTP method we should use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
460
+ def status_callback_method
461
+ @properties['status_callback_method']
462
+ end
463
+
464
+ ##
465
+ # @return [String] The absolute URL of the resource.
466
+ def url
467
+ @properties['url']
468
+ end
469
+
470
+ ##
471
+ # Delete the CompositionHookInstance
472
+ # @return [Boolean] True if delete succeeds, false otherwise
473
+ def delete
474
+
475
+ context.delete
476
+ end
477
+
478
+ ##
479
+ # Fetch the CompositionHookInstance
480
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
481
+ def fetch
482
+
483
+ context.fetch
484
+ end
485
+
486
+ ##
487
+ # Update the CompositionHookInstance
488
+ # @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.
489
+ # @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.
490
+ # @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.
491
+ # @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`.
492
+ # @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.
493
+ # @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.
494
+ # @param [Format] format
495
+ # @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.
496
+ # @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.
497
+ # @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`.
498
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
499
+ def update(
500
+ friendly_name: nil,
501
+ enabled: :unset,
502
+ video_layout: :unset,
503
+ audio_sources: :unset,
504
+ audio_sources_excluded: :unset,
505
+ trim: :unset,
506
+ format: :unset,
507
+ resolution: :unset,
508
+ status_callback: :unset,
509
+ status_callback_method: :unset
510
+ )
511
+
512
+ context.update(
513
+ friendly_name: friendly_name,
514
+ enabled: enabled,
515
+ video_layout: video_layout,
516
+ audio_sources: audio_sources,
517
+ audio_sources_excluded: audio_sources_excluded,
518
+ trim: trim,
519
+ format: format,
520
+ resolution: resolution,
521
+ status_callback: status_callback,
522
+ status_callback_method: status_callback_method,
523
+ )
524
+ end
525
+
526
+ ##
527
+ # Provide a user friendly representation
528
+ def to_s
529
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
530
+ "<Twilio.Video.V1.CompositionHookInstance #{values}>"
531
+ end
532
+
533
+ ##
534
+ # Provide a detailed, user friendly representation
535
+ def inspect
536
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
537
+ "<Twilio.Video.V1.CompositionHookInstance #{values}>"
538
+ end
539
+ end
410
540
 
411
- ##
412
- # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
413
- class CompositionHookInstance < InstanceResource
414
- ##
415
- # Initialize the CompositionHookInstance
416
- # @param [Version] version Version that contains the resource
417
- # @param [Hash] payload payload that contains response from Twilio
418
- # @param [String] sid The Composition Hook Sid that uniquely identifies the
419
- # Composition Hook to fetch.
420
- # @return [CompositionHookInstance] CompositionHookInstance
421
- def initialize(version, payload, sid: nil)
422
- super(version)
423
-
424
- # Marshaled Properties
425
- @properties = {
426
- 'account_sid' => payload['account_sid'],
427
- 'friendly_name' => payload['friendly_name'],
428
- 'enabled' => payload['enabled'],
429
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
430
- 'date_updated' => payload['date_updated'],
431
- 'sid' => payload['sid'],
432
- 'audio_sources' => payload['audio_sources'],
433
- 'audio_sources_excluded' => payload['audio_sources_excluded'],
434
- 'video_layout' => payload['video_layout'],
435
- 'resolution' => payload['resolution'],
436
- 'trim' => payload['trim'],
437
- 'format' => payload['format'],
438
- 'status_callback' => payload['status_callback'],
439
- 'status_callback_method' => payload['status_callback_method'],
440
- 'url' => payload['url'],
441
- }
442
-
443
- # Context
444
- @instance_context = nil
445
- @params = {'sid' => sid || @properties['sid'], }
446
- end
447
-
448
- ##
449
- # Generate an instance context for the instance, the context is capable of
450
- # performing various actions. All instance actions are proxied to the context
451
- # @return [CompositionHookContext] CompositionHookContext for this CompositionHookInstance
452
- def context
453
- unless @instance_context
454
- @instance_context = CompositionHookContext.new(@version, @params['sid'], )
455
541
  end
456
- @instance_context
457
- end
458
-
459
- ##
460
- # @return [String] Twilio Account SID.
461
- def account_sid
462
- @properties['account_sid']
463
- end
464
-
465
- ##
466
- # @return [String] Friendly name of the Composition Hook to be shown in the console.
467
- def friendly_name
468
- @properties['friendly_name']
469
- end
470
-
471
- ##
472
- # @return [Boolean] Boolean flag indicating if the Composition Hook is active.
473
- def enabled
474
- @properties['enabled']
475
- end
476
-
477
- ##
478
- # @return [Time] Date when the Composition Hook Resource was created.
479
- def date_created
480
- @properties['date_created']
481
- end
482
-
483
- ##
484
- # @return [String] Date when the Composition Hook was last updated.
485
- def date_updated
486
- @properties['date_updated']
487
- end
488
-
489
- ##
490
- # @return [String] A 34-character string that uniquely identifies this Composition Hook.
491
- def sid
492
- @properties['sid']
493
- end
494
-
495
- ##
496
- # @return [String] A list of audio sources related to this Composition Hook.
497
- def audio_sources
498
- @properties['audio_sources']
499
- end
500
-
501
- ##
502
- # @return [String] A list of audio sources excluded related to this Composition Hook.
503
- def audio_sources_excluded
504
- @properties['audio_sources_excluded']
505
- end
506
-
507
- ##
508
- # @return [Hash] The JSON video layout description.
509
- def video_layout
510
- @properties['video_layout']
511
- end
512
-
513
- ##
514
- # @return [String] Pixel resolution of the composed video.
515
- def resolution
516
- @properties['resolution']
517
- end
518
-
519
- ##
520
- # @return [Boolean] Boolean flag for clipping intervals that have no media.
521
- def trim
522
- @properties['trim']
523
- end
524
-
525
- ##
526
- # @return [composition_hook.Format] The file format for the Compositions triggered by the Composition Hook.
527
- def format
528
- @properties['format']
529
- end
530
-
531
- ##
532
- # @return [String] A URL that Twilio sends asynchronous webhook requests to on every composition event.
533
- def status_callback
534
- @properties['status_callback']
535
- end
536
-
537
- ##
538
- # @return [String] HTTP method Twilio should use when requesting the above URL.
539
- def status_callback_method
540
- @properties['status_callback_method']
541
- end
542
-
543
- ##
544
- # @return [String] The absolute URL for this resource.
545
- def url
546
- @properties['url']
547
- end
548
-
549
- ##
550
- # Fetch a CompositionHookInstance
551
- # @return [CompositionHookInstance] Fetched CompositionHookInstance
552
- def fetch
553
- context.fetch
554
- end
555
-
556
- ##
557
- # Deletes the CompositionHookInstance
558
- # @return [Boolean] true if delete succeeds, true otherwise
559
- def delete
560
- context.delete
561
- end
562
-
563
- ##
564
- # Update the CompositionHookInstance
565
- # @param [String] friendly_name Friendly name of the Composition Hook to be shown
566
- # in the console, must be unique per account and up to 100 characters.
567
- # @param [Boolean] enabled Boolean flag indicating if the Composition Hook is
568
- # active. Possible values are `true` or `false`. When `true`, the Composition Hook
569
- # will be triggered for every completed Group Room on this account. When `false`,
570
- # the Composition Hook never triggers.
571
- # @param [Hash] video_layout A JSON object defining the video layout of the
572
- # Composition Hook in terms of regions. See the section [Specifying Video
573
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for further information.
574
- # @param [String] audio_sources An array of audio sources to merge. All the
575
- # specified sources must belong to the same Group Room. It can include zero or
576
- # more Track names. These can be specified using wildcards (e.g. `student*`). The
577
- # use of `[*]` has semantics "all if any" meaning zero or more (i.e. all)
578
- # depending on whether the Group Room had audio tracks.
579
- # @param [String] audio_sources_excluded An array of audio sources to exclude from
580
- # the Composition Hook. Any new Composition triggered by the Composition Hook
581
- # shall include all audio sources specified in `AudioSources` except for the ones
582
- # specified in `AudioSourcesExcluded`. This parameter may include zero or more
583
- # Track names. These can be specified using wildcards (e.g. `student*`).
584
- # @param [Boolean] trim When activated, clips all the intervals where there is no
585
- # active media in the Compositions triggered by the Composition Hook. This results
586
- # in shorter compositions in cases when the Room was created but no Participant
587
- # joined for some time, or if all the Participants left the room and joined at a
588
- # later stage, as those gaps will be removed. You can find further information in
589
- # the [Specifying Video
590
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `true`.
591
- # @param [composition_hook.Format] format Container format of the Composition
592
- # media files created by the Composition Hook. Can be any of the following: `mp4`,
593
- # `webm`. The use of `mp4` or `webm` makes mandatory the specification of
594
- # `AudioSources` and/or one `VideoLayout` element containing a valid
595
- # `video_sources` list, otherwise an error is fired. Defaults to `webm`.
596
- # @param [String] resolution A string representing the number of pixels for rows
597
- # (width) and columns (height) of the generated composed video. This string must
598
- # have the format `{width}x{height}`. This parameter must comply with the
599
- # following constraints: `width >= 16 && width <= 1280`, `height >= 16 && height
600
- # <= 1280`, `width * height <= 921,600`. Typical values are: HD = `1280x720`, PAL
601
- # = `1024x576`, VGA = `640x480`, CIF = `320x240`. Note that the `Resolution`
602
- # implicitly imposes an aspect ratio to the resulting composition. When the
603
- # original video tracks get constrained by this aspect ratio they are scaled-down
604
- # to fit. You can find detailed information in the [Specifying Video
605
- # Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) section. Defaults to `640x480`.
606
- # @param [String] status_callback A URL that Twilio sends asynchronous webhook
607
- # requests to on every composition event. If not provided, status callback events
608
- # will not be dispatched.
609
- # @param [String] status_callback_method HTTP method Twilio should use when
610
- # requesting the above URL. Defaults to `POST`.
611
- # @return [CompositionHookInstance] Updated CompositionHookInstance
612
- def update(friendly_name: nil, enabled: :unset, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, trim: :unset, format: :unset, resolution: :unset, status_callback: :unset, status_callback_method: :unset)
613
- context.update(
614
- friendly_name: friendly_name,
615
- enabled: enabled,
616
- video_layout: video_layout,
617
- audio_sources: audio_sources,
618
- audio_sources_excluded: audio_sources_excluded,
619
- trim: trim,
620
- format: format,
621
- resolution: resolution,
622
- status_callback: status_callback,
623
- status_callback_method: status_callback_method,
624
- )
625
- end
626
-
627
- ##
628
- # Provide a user friendly representation
629
- def to_s
630
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
631
- "<Twilio.Video.V1.CompositionHookInstance #{values}>"
632
- end
633
-
634
- ##
635
- # Provide a detailed, user friendly representation
636
- def inspect
637
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
638
- "<Twilio.Video.V1.CompositionHookInstance #{values}>"
639
- end
640
542
  end
641
- end
642
543
  end
643
- end
644
- end
544
+ end