twilio-ruby 5.19.0 → 5.77.0

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