whoosh-ruby 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +21 -0
  4. data/.gitignore +21 -0
  5. data/.rubocop.yml +58 -0
  6. data/.rubocop_todo.yml +261 -0
  7. data/Dockerfile +9 -0
  8. data/Gemfile +2 -0
  9. data/LICENSE +21 -0
  10. data/Makefile +37 -0
  11. data/README.md +13 -189
  12. data/Rakefile +10 -0
  13. data/conf/cacert.pem +3376 -0
  14. data/lib/rack/twilio_webhook_authentication.rb +72 -0
  15. data/lib/twilio-ruby/base/client_base.rb +124 -0
  16. data/lib/twilio-ruby/framework/request.rb +41 -0
  17. data/lib/twilio-ruby/framework/response.rb +18 -0
  18. data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
  19. data/lib/twilio-ruby/framework/rest/error.rb +39 -0
  20. data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
  21. data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
  22. data/lib/twilio-ruby/framework/rest/page.rb +103 -0
  23. data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
  24. data/lib/twilio-ruby/framework/rest/version.rb +153 -0
  25. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  26. data/lib/twilio-ruby/framework/values.rb +9 -0
  27. data/lib/twilio-ruby/http/http_client.rb +79 -0
  28. data/lib/twilio-ruby/http.rb +5 -0
  29. data/lib/twilio-ruby/jwt/access_token.rb +226 -0
  30. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  31. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  32. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  33. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +206 -0
  34. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +379 -0
  35. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +379 -0
  36. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +129 -0
  37. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +222 -0
  38. data/lib/twilio-ruby/rest/accounts/v1.rb +52 -0
  39. data/lib/twilio-ruby/rest/accounts.rb +26 -0
  40. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +378 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +562 -0
  43. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +624 -0
  44. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +335 -0
  45. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  49. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  50. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +433 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +143 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +210 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +264 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +328 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +416 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +324 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +509 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +872 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +872 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +970 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +661 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +466 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +505 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +434 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +338 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +412 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +548 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +548 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +548 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +853 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +343 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +174 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +355 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +625 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +164 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +164 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +412 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +378 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +352 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +434 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +366 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +382 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +376 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +521 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +427 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +343 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +395 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +413 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +347 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +347 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +126 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +357 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +357 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +665 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +424 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +413 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +148 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +178 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +372 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +331 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +331 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +331 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +331 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +331 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +331 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +331 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +331 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +393 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +500 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +128 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +179 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account.rb +992 -0
  120. data/lib/twilio-ruby/rest/api/v2010.rb +132 -0
  121. data/lib/twilio-ruby/rest/api.rb +238 -0
  122. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  123. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +241 -0
  124. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +217 -0
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +391 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +436 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +410 -0
  128. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +478 -0
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +241 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +374 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +438 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +253 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +226 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +526 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +434 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +684 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +207 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1.rb +55 -0
  139. data/lib/twilio-ruby/rest/autopilot.rb +22 -0
  140. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  141. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +307 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +306 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +278 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +254 -0
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +253 -0
  146. data/lib/twilio-ruby/rest/bulkexports/v1.rb +64 -0
  147. data/lib/twilio-ruby/rest/bulkexports.rb +25 -0
  148. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  149. data/lib/twilio-ruby/rest/chat/v1/credential.rb +430 -0
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +386 -0
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +434 -0
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +451 -0
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +542 -0
  154. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +404 -0
  155. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +252 -0
  156. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +473 -0
  157. data/lib/twilio-ruby/rest/chat/v1/service.rb +872 -0
  158. data/lib/twilio-ruby/rest/chat/v1.rb +64 -0
  159. data/lib/twilio-ruby/rest/chat/v2/credential.rb +430 -0
  160. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +379 -0
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +386 -0
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +498 -0
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +526 -0
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +452 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +614 -0
  166. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +404 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +376 -0
  168. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +418 -0
  169. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +517 -0
  170. data/lib/twilio-ruby/rest/chat/v2/service.rb +775 -0
  171. data/lib/twilio-ruby/rest/chat/v2.rb +64 -0
  172. data/lib/twilio-ruby/rest/chat/v3/channel.rb +297 -0
  173. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  174. data/lib/twilio-ruby/rest/chat.rb +35 -0
  175. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  176. data/lib/twilio-ruby/rest/client.rb +346 -0
  177. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  178. data/lib/twilio-ruby/rest/content/v1/content.rb +364 -0
  179. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  180. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  181. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  182. data/lib/twilio-ruby/rest/content.rb +15 -0
  183. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +474 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +281 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +287 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +346 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +537 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +506 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +433 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +595 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +436 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +315 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/role.rb +395 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +372 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +334 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +280 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +314 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +357 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +550 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +519 -0
  202. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +446 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +604 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +320 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +404 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +458 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +492 -0
  208. data/lib/twilio-ruby/rest/conversations/v1/service.rb +487 -0
  209. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +453 -0
  210. data/lib/twilio-ruby/rest/conversations/v1/user.rb +483 -0
  211. data/lib/twilio-ruby/rest/conversations/v1.rb +136 -0
  212. data/lib/twilio-ruby/rest/conversations.rb +79 -0
  213. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  214. data/lib/twilio-ruby/rest/events/v1/event_type.rb +316 -0
  215. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  216. data/lib/twilio-ruby/rest/events/v1/schema.rb +237 -0
  217. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +129 -0
  218. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +136 -0
  219. data/lib/twilio-ruby/rest/events/v1/sink.rb +449 -0
  220. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +375 -0
  221. data/lib/twilio-ruby/rest/events/v1/subscription.rb +430 -0
  222. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  223. data/lib/twilio-ruby/rest/events.rb +43 -0
  224. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +457 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +376 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +497 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +575 -0
  229. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +337 -0
  230. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  231. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +364 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  236. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +252 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +340 -0
  241. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +407 -0
  242. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +257 -0
  243. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +389 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1.rb +202 -0
  245. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  246. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  247. data/lib/twilio-ruby/rest/flex_api.rb +73 -0
  248. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  249. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +275 -0
  250. data/lib/twilio-ruby/rest/frontline_api/v1.rb +49 -0
  251. data/lib/twilio-ruby/rest/frontline_api.rb +15 -0
  252. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  253. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +319 -0
  254. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  255. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +278 -0
  256. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +271 -0
  257. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -0
  258. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +476 -0
  259. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +492 -0
  260. data/lib/twilio-ruby/rest/insights/v1/conference.rb +516 -0
  261. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +386 -0
  262. data/lib/twilio-ruby/rest/insights/v1/room.rb +504 -0
  263. data/lib/twilio-ruby/rest/insights/v1/setting.rb +254 -0
  264. data/lib/twilio-ruby/rest/insights/v1.rb +91 -0
  265. data/lib/twilio-ruby/rest/insights.rb +46 -0
  266. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  267. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +430 -0
  268. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +386 -0
  269. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +434 -0
  270. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +451 -0
  271. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +542 -0
  272. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +404 -0
  273. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +252 -0
  274. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +473 -0
  275. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +872 -0
  276. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +64 -0
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +430 -0
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +379 -0
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +386 -0
  280. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +498 -0
  281. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +526 -0
  282. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +452 -0
  283. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +614 -0
  284. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +404 -0
  285. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +376 -0
  286. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +409 -0
  287. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +517 -0
  288. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +775 -0
  289. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +64 -0
  290. data/lib/twilio-ruby/rest/ip_messaging.rb +23 -0
  291. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  292. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +251 -0
  293. data/lib/twilio-ruby/rest/lookups/v1.rb +49 -0
  294. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +350 -0
  295. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  296. data/lib/twilio-ruby/rest/lookups.rb +16 -0
  297. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  298. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +423 -0
  299. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +409 -0
  300. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +252 -0
  301. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +435 -0
  302. data/lib/twilio-ruby/rest/media/v1.rb +79 -0
  303. data/lib/twilio-ruby/rest/media.rb +35 -0
  304. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  305. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +367 -0
  307. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +498 -0
  308. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  309. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  310. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +263 -0
  311. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +231 -0
  312. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -0
  313. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  314. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +359 -0
  315. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +366 -0
  316. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +366 -0
  317. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +507 -0
  318. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +135 -0
  319. data/lib/twilio-ruby/rest/messaging/v1/service.rb +751 -0
  320. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +123 -0
  321. data/lib/twilio-ruby/rest/messaging/v1.rb +164 -0
  322. data/lib/twilio-ruby/rest/messaging.rb +74 -0
  323. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +359 -0
  325. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +352 -0
  326. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  327. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +350 -0
  328. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +375 -0
  329. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +368 -0
  330. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +422 -0
  331. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  332. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  333. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  334. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +412 -0
  335. data/lib/twilio-ruby/rest/monitor/v1/event.rb +398 -0
  336. data/lib/twilio-ruby/rest/monitor/v1.rb +64 -0
  337. data/lib/twilio-ruby/rest/monitor.rb +25 -0
  338. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  339. data/lib/twilio-ruby/rest/notify/v1/credential.rb +432 -0
  340. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +447 -0
  341. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +320 -0
  342. data/lib/twilio-ruby/rest/notify/v1/service.rb +638 -0
  343. data/lib/twilio-ruby/rest/notify/v1.rb +64 -0
  344. data/lib/twilio-ruby/rest/notify.rb +25 -0
  345. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +286 -0
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +336 -0
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +345 -0
  349. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +201 -0
  350. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +620 -0
  351. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +399 -0
  352. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +298 -0
  353. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +333 -0
  354. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +420 -0
  355. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +298 -0
  356. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +185 -0
  357. data/lib/twilio-ruby/rest/numbers/v2.rb +40 -0
  358. data/lib/twilio-ruby/rest/numbers.rb +12 -0
  359. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  360. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +171 -0
  361. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +185 -0
  362. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +262 -0
  363. data/lib/twilio-ruby/rest/oauth/v1/token.rb +179 -0
  364. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +213 -0
  365. data/lib/twilio-ruby/rest/oauth/v1.rb +64 -0
  366. data/lib/twilio-ruby/rest/oauth.rb +33 -0
  367. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  368. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +419 -0
  369. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +402 -0
  370. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +458 -0
  371. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +416 -0
  372. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +505 -0
  373. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +49 -0
  374. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +383 -0
  375. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +459 -0
  376. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +626 -0
  377. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +64 -0
  378. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +309 -0
  379. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +336 -0
  380. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +350 -0
  381. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +440 -0
  382. data/lib/twilio-ruby/rest/preview/marketplace.rb +64 -0
  383. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +390 -0
  384. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +450 -0
  385. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +449 -0
  386. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +390 -0
  387. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +427 -0
  388. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +452 -0
  389. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +390 -0
  390. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +427 -0
  391. data/lib/twilio-ruby/rest/preview/sync/service.rb +506 -0
  392. data/lib/twilio-ruby/rest/preview/sync.rb +49 -0
  393. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +241 -0
  394. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +241 -0
  395. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +217 -0
  396. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +391 -0
  397. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +436 -0
  398. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +410 -0
  399. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +467 -0
  400. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +241 -0
  401. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +374 -0
  402. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +438 -0
  403. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +253 -0
  404. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +226 -0
  405. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +526 -0
  406. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +664 -0
  407. data/lib/twilio-ruby/rest/preview/understand.rb +49 -0
  408. data/lib/twilio-ruby/rest/preview/wireless/command.rb +402 -0
  409. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +459 -0
  410. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +260 -0
  411. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +590 -0
  412. data/lib/twilio-ruby/rest/preview/wireless.rb +79 -0
  413. data/lib/twilio-ruby/rest/preview.rb +102 -0
  414. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  415. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +305 -0
  416. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +115 -0
  417. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +298 -0
  418. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +115 -0
  419. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +305 -0
  420. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +227 -0
  421. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +129 -0
  422. data/lib/twilio-ruby/rest/pricing/v1.rb +52 -0
  423. data/lib/twilio-ruby/rest/pricing/v2/country.rb +300 -0
  424. data/lib/twilio-ruby/rest/pricing/v2/number.rb +240 -0
  425. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +305 -0
  426. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +245 -0
  427. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +129 -0
  428. data/lib/twilio-ruby/rest/pricing/v2.rb +70 -0
  429. data/lib/twilio-ruby/rest/pricing.rb +47 -0
  430. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  431. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +427 -0
  432. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +420 -0
  433. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +440 -0
  434. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +435 -0
  435. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +530 -0
  436. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +407 -0
  437. data/lib/twilio-ruby/rest/proxy/v1/service.rb +570 -0
  438. data/lib/twilio-ruby/rest/proxy/v1.rb +49 -0
  439. data/lib/twilio-ruby/rest/proxy.rb +15 -0
  440. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  441. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +268 -0
  442. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +268 -0
  443. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +268 -0
  444. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  445. data/lib/twilio-ruby/rest/routes.rb +32 -0
  446. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  447. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +327 -0
  448. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +420 -0
  449. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  450. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +415 -0
  451. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +348 -0
  452. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +376 -0
  453. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +415 -0
  454. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +464 -0
  455. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +230 -0
  456. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +354 -0
  457. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +420 -0
  458. data/lib/twilio-ruby/rest/serverless/v1/service.rb +534 -0
  459. data/lib/twilio-ruby/rest/serverless/v1.rb +49 -0
  460. data/lib/twilio-ruby/rest/serverless.rb +15 -0
  461. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  462. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +217 -0
  463. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +228 -0
  464. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +373 -0
  465. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +430 -0
  466. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +217 -0
  467. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  468. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +373 -0
  469. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +478 -0
  470. data/lib/twilio-ruby/rest/studio/v1/flow.rb +391 -0
  471. data/lib/twilio-ruby/rest/studio/v1.rb +49 -0
  472. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +217 -0
  473. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  474. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +373 -0
  475. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +471 -0
  476. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +349 -0
  477. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  478. data/lib/twilio-ruby/rest/studio/v2/flow.rb +530 -0
  479. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +139 -0
  480. data/lib/twilio-ruby/rest/studio/v2.rb +55 -0
  481. data/lib/twilio-ruby/rest/studio.rb +22 -0
  482. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  483. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +407 -0
  484. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +484 -0
  485. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +413 -0
  486. data/lib/twilio-ruby/rest/supersim/v1/network.rb +316 -0
  487. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +345 -0
  488. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +391 -0
  489. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +259 -0
  490. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +250 -0
  491. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +208 -0
  492. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +474 -0
  493. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +372 -0
  494. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +322 -0
  495. data/lib/twilio-ruby/rest/supersim/v1.rb +151 -0
  496. data/lib/twilio-ruby/rest/supersim.rb +88 -0
  497. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  498. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +388 -0
  499. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +464 -0
  500. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +481 -0
  501. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +388 -0
  502. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +478 -0
  503. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +484 -0
  504. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +388 -0
  505. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +478 -0
  506. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +146 -0
  507. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +427 -0
  508. data/lib/twilio-ruby/rest/sync/v1/service.rb +586 -0
  509. data/lib/twilio-ruby/rest/sync/v1.rb +49 -0
  510. data/lib/twilio-ruby/rest/sync.rb +15 -0
  511. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +415 -0
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +461 -0
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +713 -0
  515. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +623 -0
  516. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +417 -0
  517. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +371 -0
  518. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +291 -0
  519. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +259 -0
  520. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +273 -0
  521. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +578 -0
  522. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +694 -0
  523. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +401 -0
  524. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +246 -0
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +293 -0
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +226 -0
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +262 -0
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +639 -0
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +371 -0
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +256 -0
  531. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +259 -0
  532. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +532 -0
  533. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +360 -0
  534. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +259 -0
  535. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +248 -0
  536. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +732 -0
  537. data/lib/twilio-ruby/rest/taskrouter/v1.rb +49 -0
  538. data/lib/twilio-ruby/rest/taskrouter.rb +15 -0
  539. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  540. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +350 -0
  541. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +350 -0
  542. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +448 -0
  543. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +483 -0
  544. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +231 -0
  545. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +634 -0
  546. data/lib/twilio-ruby/rest/trunking/v1.rb +49 -0
  547. data/lib/twilio-ruby/rest/trunking.rb +15 -0
  548. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  549. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +367 -0
  550. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +343 -0
  551. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +341 -0
  552. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +539 -0
  553. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +394 -0
  554. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +293 -0
  555. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +286 -0
  556. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +408 -0
  557. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +293 -0
  558. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +367 -0
  559. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +343 -0
  560. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +341 -0
  561. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +539 -0
  562. data/lib/twilio-ruby/rest/trusthub/v1.rb +139 -0
  563. data/lib/twilio-ruby/rest/trusthub.rb +74 -0
  564. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  565. data/lib/twilio-ruby/rest/verify/v2/form.rb +203 -0
  566. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +231 -0
  567. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +279 -0
  568. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +198 -0
  569. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +512 -0
  570. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +459 -0
  571. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +269 -0
  572. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +430 -0
  573. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +387 -0
  574. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +413 -0
  575. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +428 -0
  576. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +381 -0
  577. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +225 -0
  578. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +455 -0
  579. data/lib/twilio-ruby/rest/verify/v2/service.rb +777 -0
  580. data/lib/twilio-ruby/rest/verify/v2/template.rb +231 -0
  581. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +391 -0
  582. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +247 -0
  583. data/lib/twilio-ruby/rest/verify/v2.rb +106 -0
  584. data/lib/twilio-ruby/rest/verify.rb +58 -0
  585. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  586. data/lib/twilio-ruby/rest/video/v1/composition.rb +492 -0
  587. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +540 -0
  588. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +289 -0
  589. data/lib/twilio-ruby/rest/video/v1/recording.rb +442 -0
  590. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +289 -0
  591. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  592. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  593. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  594. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  595. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  596. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  597. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  598. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -0
  599. data/lib/twilio-ruby/rest/video/v1.rb +106 -0
  600. data/lib/twilio-ruby/rest/video.rb +59 -0
  601. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  602. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +168 -0
  603. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +512 -0
  604. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +448 -0
  605. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +402 -0
  606. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +142 -0
  607. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +203 -0
  608. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +389 -0
  609. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +224 -0
  610. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +130 -0
  611. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +388 -0
  612. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +371 -0
  613. data/lib/twilio-ruby/rest/voice/v1.rb +137 -0
  614. data/lib/twilio-ruby/rest/voice.rb +61 -0
  615. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  616. data/lib/twilio-ruby/rest/wireless/v1/command.rb +423 -0
  617. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +474 -0
  618. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +306 -0
  619. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
  620. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +650 -0
  621. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +238 -0
  622. data/lib/twilio-ruby/rest/wireless/v1.rb +85 -0
  623. data/lib/twilio-ruby/rest/wireless.rb +42 -0
  624. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  625. data/lib/twilio-ruby/rest.rb +14 -0
  626. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  627. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  628. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  629. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  630. data/lib/twilio-ruby/twiml/voice_response.rb +1948 -0
  631. data/lib/twilio-ruby/util/configuration.rb +33 -0
  632. data/lib/twilio-ruby/util.rb +19 -0
  633. data/lib/twilio-ruby/version.rb +3 -0
  634. data/lib/twilio-ruby.rb +47 -0
  635. data/whoosh-ruby.gemspec +39 -0
  636. metadata +636 -3
@@ -0,0 +1,540 @@
1
+ ##
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
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Video < VideoBase
19
+ class V1 < Version
20
+ class CompositionHookList < ListResource
21
+ ##
22
+ # Initialize the CompositionHookList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [CompositionHookList] CompositionHookList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/CompositionHooks"
30
+
31
+ end
32
+ ##
33
+ # Create the CompositionHookInstance
34
+ # @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.
35
+ # @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.
36
+ # @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.
37
+ # @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`.
38
+ # @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.
39
+ # @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.
40
+ # @param [Format] format
41
+ # @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.
42
+ # @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`.
43
+ # @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.
44
+ # @return [CompositionHookInstance] Created CompositionHookInstance
45
+ def create(
46
+ friendly_name: nil,
47
+ enabled: :unset,
48
+ video_layout: :unset,
49
+ audio_sources: :unset,
50
+ audio_sources_excluded: :unset,
51
+ resolution: :unset,
52
+ format: :unset,
53
+ status_callback: :unset,
54
+ status_callback_method: :unset,
55
+ trim: :unset
56
+ )
57
+
58
+ data = Twilio::Values.of({
59
+ 'FriendlyName' => friendly_name,
60
+ 'Enabled' => enabled,
61
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
62
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
63
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
64
+ 'Resolution' => resolution,
65
+ 'Format' => format,
66
+ 'StatusCallback' => status_callback,
67
+ 'StatusCallbackMethod' => status_callback_method,
68
+ 'Trim' => trim,
69
+ })
70
+
71
+ payload = @version.create('POST', @uri, data: data)
72
+ CompositionHookInstance.new(
73
+ @version,
74
+ payload,
75
+ )
76
+ end
77
+
78
+
79
+ ##
80
+ # Lists CompositionHookInstance records from the API as a list.
81
+ # Unlike stream(), this operation is eager and will load `limit` records into
82
+ # memory before returning.
83
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
84
+ # @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.
85
+ # @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.
86
+ # @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.
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Array] Array of up to limit results
94
+ def list(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
95
+ self.stream(
96
+ enabled: enabled,
97
+ date_created_after: date_created_after,
98
+ date_created_before: date_created_before,
99
+ friendly_name: friendly_name,
100
+ limit: limit,
101
+ page_size: page_size
102
+ ).entries
103
+ end
104
+
105
+ ##
106
+ # Streams Instance records from the API as an Enumerable.
107
+ # This operation lazily loads records as efficiently as possible until the limit
108
+ # is reached.
109
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
110
+ # @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.
111
+ # @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.
112
+ # @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.
113
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
114
+ # guarantees to never return more than limit. Default is no limit
115
+ # @param [Integer] page_size Number of records to fetch per request, when
116
+ # not set will use the default value of 50 records. If no page_size is defined
117
+ # but a limit is defined, stream() will attempt to read the limit with the most
118
+ # efficient page size, i.e. min(limit, 1000)
119
+ # @return [Enumerable] Enumerable that will yield up to limit results
120
+ def stream(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, limit: nil, page_size: nil)
121
+ limits = @version.read_limits(limit, page_size)
122
+
123
+ page = self.page(
124
+ enabled: enabled,
125
+ date_created_after: date_created_after,
126
+ date_created_before: date_created_before,
127
+ friendly_name: friendly_name,
128
+ page_size: limits[:page_size], )
129
+
130
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
131
+ end
132
+
133
+ ##
134
+ # When passed a block, yields CompositionHookInstance records from the API.
135
+ # This operation lazily loads records as efficiently as possible until the limit
136
+ # is reached.
137
+ def each
138
+ limits = @version.read_limits
139
+
140
+ page = self.page(page_size: limits[:page_size], )
141
+
142
+ @version.stream(page,
143
+ limit: limits[:limit],
144
+ page_limit: limits[:page_limit]).each {|x| yield x}
145
+ end
146
+
147
+ ##
148
+ # Retrieve a single page of CompositionHookInstance records from the API.
149
+ # Request is executed immediately.
150
+ # @param [Boolean] enabled Read only CompositionHook resources with an `enabled` value that matches this parameter.
151
+ # @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.
152
+ # @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.
153
+ # @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.
154
+ # @param [String] page_token PageToken provided by the API
155
+ # @param [Integer] page_number Page Number, this value is simply for client state
156
+ # @param [Integer] page_size Number of records to return, defaults to 50
157
+ # @return [Page] Page of CompositionHookInstance
158
+ def page(enabled: :unset, date_created_after: :unset, date_created_before: :unset, friendly_name: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
159
+ params = Twilio::Values.of({
160
+
161
+ 'Enabled' => enabled,
162
+
163
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
164
+
165
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
166
+
167
+ 'FriendlyName' => friendly_name,
168
+
169
+ 'PageToken' => page_token,
170
+ 'Page' => page_number,
171
+ 'PageSize' => page_size,
172
+ })
173
+
174
+ response = @version.page('GET', @uri, params: params)
175
+
176
+ CompositionHookPage.new(@version, response, @solution)
177
+ end
178
+
179
+ ##
180
+ # Retrieve a single page of CompositionHookInstance records from the API.
181
+ # Request is executed immediately.
182
+ # @param [String] target_url API-generated URL for the requested results page
183
+ # @return [Page] Page of CompositionHookInstance
184
+ def get_page(target_url)
185
+ response = @version.domain.request(
186
+ 'GET',
187
+ target_url
188
+ )
189
+ CompositionHookPage.new(@version, response, @solution)
190
+ end
191
+
192
+
193
+
194
+ # Provide a user friendly representation
195
+ def to_s
196
+ '#<Twilio.Video.V1.CompositionHookList>'
197
+ end
198
+ end
199
+
200
+
201
+ class CompositionHookContext < InstanceContext
202
+ ##
203
+ # Initialize the CompositionHookContext
204
+ # @param [Version] version Version that contains the resource
205
+ # @param [String] sid The SID of the CompositionHook resource to update.
206
+ # @return [CompositionHookContext] CompositionHookContext
207
+ def initialize(version, sid)
208
+ super(version)
209
+
210
+ # Path Solution
211
+ @solution = { sid: sid, }
212
+ @uri = "/CompositionHooks/#{@solution[:sid]}"
213
+
214
+
215
+ end
216
+ ##
217
+ # Delete the CompositionHookInstance
218
+ # @return [Boolean] True if delete succeeds, false otherwise
219
+ def delete
220
+
221
+ @version.delete('DELETE', @uri)
222
+ end
223
+
224
+ ##
225
+ # Fetch the CompositionHookInstance
226
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
227
+ def fetch
228
+
229
+ payload = @version.fetch('GET', @uri)
230
+ CompositionHookInstance.new(
231
+ @version,
232
+ payload,
233
+ sid: @solution[:sid],
234
+ )
235
+ end
236
+
237
+ ##
238
+ # Update the CompositionHookInstance
239
+ # @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.
240
+ # @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.
241
+ # @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.
242
+ # @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`.
243
+ # @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.
244
+ # @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.
245
+ # @param [Format] format
246
+ # @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.
247
+ # @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.
248
+ # @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`.
249
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
250
+ def update(
251
+ friendly_name: nil,
252
+ enabled: :unset,
253
+ video_layout: :unset,
254
+ audio_sources: :unset,
255
+ audio_sources_excluded: :unset,
256
+ trim: :unset,
257
+ format: :unset,
258
+ resolution: :unset,
259
+ status_callback: :unset,
260
+ status_callback_method: :unset
261
+ )
262
+
263
+ data = Twilio::Values.of({
264
+ 'FriendlyName' => friendly_name,
265
+ 'Enabled' => enabled,
266
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
267
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
268
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
269
+ 'Trim' => trim,
270
+ 'Format' => format,
271
+ 'Resolution' => resolution,
272
+ 'StatusCallback' => status_callback,
273
+ 'StatusCallbackMethod' => status_callback_method,
274
+ })
275
+
276
+ payload = @version.update('POST', @uri, data: data)
277
+ CompositionHookInstance.new(
278
+ @version,
279
+ payload,
280
+ sid: @solution[:sid],
281
+ )
282
+ end
283
+
284
+
285
+ ##
286
+ # Provide a user friendly representation
287
+ def to_s
288
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
289
+ "#<Twilio.Video.V1.CompositionHookContext #{context}>"
290
+ end
291
+
292
+ ##
293
+ # Provide a detailed, user friendly representation
294
+ def inspect
295
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
296
+ "#<Twilio.Video.V1.CompositionHookContext #{context}>"
297
+ end
298
+ end
299
+
300
+ class CompositionHookPage < Page
301
+ ##
302
+ # Initialize the CompositionHookPage
303
+ # @param [Version] version Version that contains the resource
304
+ # @param [Response] response Response from the API
305
+ # @param [Hash] solution Path solution for the resource
306
+ # @return [CompositionHookPage] CompositionHookPage
307
+ def initialize(version, response, solution)
308
+ super(version, response)
309
+
310
+ # Path Solution
311
+ @solution = solution
312
+ end
313
+
314
+ ##
315
+ # Build an instance of CompositionHookInstance
316
+ # @param [Hash] payload Payload response from the API
317
+ # @return [CompositionHookInstance] CompositionHookInstance
318
+ def get_instance(payload)
319
+ CompositionHookInstance.new(@version, payload)
320
+ end
321
+
322
+ ##
323
+ # Provide a user friendly representation
324
+ def to_s
325
+ '<Twilio.Video.V1.CompositionHookPage>'
326
+ end
327
+ end
328
+ class CompositionHookInstance < InstanceResource
329
+ ##
330
+ # Initialize the CompositionHookInstance
331
+ # @param [Version] version Version that contains the resource
332
+ # @param [Hash] payload payload that contains response from Twilio
333
+ # @param [String] account_sid The SID of the
334
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this CompositionHook
335
+ # resource.
336
+ # @param [String] sid The SID of the Call resource to fetch.
337
+ # @return [CompositionHookInstance] CompositionHookInstance
338
+ def initialize(version, payload , sid: nil)
339
+ super(version)
340
+
341
+ # Marshaled Properties
342
+ @properties = {
343
+ 'account_sid' => payload['account_sid'],
344
+ 'friendly_name' => payload['friendly_name'],
345
+ 'enabled' => payload['enabled'],
346
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
347
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
348
+ 'sid' => payload['sid'],
349
+ 'audio_sources' => payload['audio_sources'],
350
+ 'audio_sources_excluded' => payload['audio_sources_excluded'],
351
+ 'video_layout' => payload['video_layout'],
352
+ 'resolution' => payload['resolution'],
353
+ 'trim' => payload['trim'],
354
+ 'format' => payload['format'],
355
+ 'status_callback' => payload['status_callback'],
356
+ 'status_callback_method' => payload['status_callback_method'],
357
+ 'url' => payload['url'],
358
+ }
359
+
360
+ # Context
361
+ @instance_context = nil
362
+ @params = { 'sid' => sid || @properties['sid'] , }
363
+ end
364
+
365
+ ##
366
+ # Generate an instance context for the instance, the context is capable of
367
+ # performing various actions. All instance actions are proxied to the context
368
+ # @return [CompositionHookContext] CallContext for this CallInstance
369
+ def context
370
+ unless @instance_context
371
+ @instance_context = CompositionHookContext.new(@version , @params['sid'])
372
+ end
373
+ @instance_context
374
+ end
375
+
376
+ ##
377
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the CompositionHook resource.
378
+ def account_sid
379
+ @properties['account_sid']
380
+ end
381
+
382
+ ##
383
+ # @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.
384
+ def friendly_name
385
+ @properties['friendly_name']
386
+ end
387
+
388
+ ##
389
+ # @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.
390
+ def enabled
391
+ @properties['enabled']
392
+ end
393
+
394
+ ##
395
+ # @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.
396
+ def date_created
397
+ @properties['date_created']
398
+ end
399
+
400
+ ##
401
+ # @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.
402
+ def date_updated
403
+ @properties['date_updated']
404
+ end
405
+
406
+ ##
407
+ # @return [String] The unique string that we created to identify the CompositionHook resource.
408
+ def sid
409
+ @properties['sid']
410
+ end
411
+
412
+ ##
413
+ # @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
414
+ def audio_sources
415
+ @properties['audio_sources']
416
+ end
417
+
418
+ ##
419
+ # @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.
420
+ def audio_sources_excluded
421
+ @properties['audio_sources_excluded']
422
+ end
423
+
424
+ ##
425
+ # @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
426
+ def video_layout
427
+ @properties['video_layout']
428
+ end
429
+
430
+ ##
431
+ # @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`.
432
+ def resolution
433
+ @properties['resolution']
434
+ end
435
+
436
+ ##
437
+ # @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.
438
+ def trim
439
+ @properties['trim']
440
+ end
441
+
442
+ ##
443
+ # @return [Format]
444
+ def format
445
+ @properties['format']
446
+ end
447
+
448
+ ##
449
+ # @return [String] The URL we call using the `status_callback_method` to send status information to your application.
450
+ def status_callback
451
+ @properties['status_callback']
452
+ end
453
+
454
+ ##
455
+ # @return [String] The HTTP method we should use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
456
+ def status_callback_method
457
+ @properties['status_callback_method']
458
+ end
459
+
460
+ ##
461
+ # @return [String] The absolute URL of the resource.
462
+ def url
463
+ @properties['url']
464
+ end
465
+
466
+ ##
467
+ # Delete the CompositionHookInstance
468
+ # @return [Boolean] True if delete succeeds, false otherwise
469
+ def delete
470
+
471
+ context.delete
472
+ end
473
+
474
+ ##
475
+ # Fetch the CompositionHookInstance
476
+ # @return [CompositionHookInstance] Fetched CompositionHookInstance
477
+ def fetch
478
+
479
+ context.fetch
480
+ end
481
+
482
+ ##
483
+ # Update the CompositionHookInstance
484
+ # @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.
485
+ # @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.
486
+ # @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.
487
+ # @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`.
488
+ # @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.
489
+ # @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.
490
+ # @param [Format] format
491
+ # @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.
492
+ # @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.
493
+ # @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`.
494
+ # @return [CompositionHookInstance] Updated CompositionHookInstance
495
+ def update(
496
+ friendly_name: nil,
497
+ enabled: :unset,
498
+ video_layout: :unset,
499
+ audio_sources: :unset,
500
+ audio_sources_excluded: :unset,
501
+ trim: :unset,
502
+ format: :unset,
503
+ resolution: :unset,
504
+ status_callback: :unset,
505
+ status_callback_method: :unset
506
+ )
507
+
508
+ context.update(
509
+ friendly_name: friendly_name,
510
+ enabled: enabled,
511
+ video_layout: video_layout,
512
+ audio_sources: audio_sources,
513
+ audio_sources_excluded: audio_sources_excluded,
514
+ trim: trim,
515
+ format: format,
516
+ resolution: resolution,
517
+ status_callback: status_callback,
518
+ status_callback_method: status_callback_method,
519
+ )
520
+ end
521
+
522
+ ##
523
+ # Provide a user friendly representation
524
+ def to_s
525
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
526
+ "<Twilio.Video.V1.CompositionHookInstance #{values}>"
527
+ end
528
+
529
+ ##
530
+ # Provide a detailed, user friendly representation
531
+ def inspect
532
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
533
+ "<Twilio.Video.V1.CompositionHookInstance #{values}>"
534
+ end
535
+ end
536
+
537
+ end
538
+ end
539
+ end
540
+ end