twilio-ruby 5.72.0 → 6.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (654) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +8 -2
  3. data/.github/workflows/test-and-deploy.yml +14 -4
  4. data/.gitignore +3 -0
  5. data/CHANGES.md +281 -1
  6. data/CONTRIBUTING.md +10 -8
  7. data/LICENSE +1 -1
  8. data/Makefile +3 -0
  9. data/README.md +133 -40
  10. data/UPGRADE.md +10 -0
  11. data/advanced-examples/custom-http-client.md +170 -0
  12. data/cluster_spec.rb +77 -0
  13. data/lib/twilio-ruby/base/client_base.rb +124 -0
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  16. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  17. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  18. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  19. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  20. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  21. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  22. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  23. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  25. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +555 -514
  26. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -586
  27. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +433 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  47. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +963 -991
  48. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +653 -717
  49. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  50. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +498 -493
  51. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  53. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +399 -418
  54. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +846 -903
  58. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  59. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  60. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  61. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +618 -625
  62. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  63. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  64. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  65. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  66. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  67. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +427 -390
  68. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  69. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +369 -385
  70. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +514 -513
  72. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  73. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  74. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +400 -373
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_calls_mapping → auth_type_calls}/auth_calls_ip_access_control_list_mapping.rb +194 -195
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +194 -195
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +650 -645
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +400 -374
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  88. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  89. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  101. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  102. data/lib/twilio-ruby/rest/api/v2010/account.rb +982 -943
  103. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  104. data/lib/twilio-ruby/rest/api.rb +25 -34
  105. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +429 -411
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  115. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  116. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  117. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +519 -500
  118. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  119. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +674 -640
  120. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  121. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  122. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  123. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  124. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  129. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  131. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  132. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  133. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +535 -515
  137. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  138. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  139. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +466 -440
  140. data/lib/twilio-ruby/rest/chat/v1/service.rb +862 -894
  141. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  142. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  143. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  144. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +607 -605
  149. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  150. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  152. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +510 -491
  153. data/lib/twilio-ruby/rest/chat/v2/service.rb +765 -778
  154. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  155. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  156. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  157. data/lib/twilio-ruby/rest/chat.rb +4 -48
  158. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  159. data/lib/twilio-ruby/rest/client.rb +328 -570
  160. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  161. data/lib/twilio-ruby/rest/content/v1/content.rb +364 -0
  162. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +252 -0
  163. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +266 -0
  164. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  165. data/lib/twilio-ruby/rest/content.rb +15 -0
  166. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  167. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +474 -444
  168. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  169. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  170. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  171. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +530 -495
  172. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  173. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  174. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +606 -552
  175. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  176. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  177. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  178. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  179. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  180. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  181. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  182. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  183. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +537 -535
  184. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  185. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  186. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +618 -588
  187. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  188. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  189. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  190. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +485 -474
  191. data/lib/twilio-ruby/rest/conversations/v1/service.rb +477 -447
  192. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  193. data/lib/twilio-ruby/rest/conversations/v1/user.rb +473 -441
  194. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  195. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  196. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  197. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  198. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  199. data/lib/twilio-ruby/rest/events/v1/schema.rb +229 -218
  200. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  201. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  202. data/lib/twilio-ruby/rest/events/v1/sink.rb +439 -408
  203. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  204. data/lib/twilio-ruby/rest/events/v1/subscription.rb +420 -387
  205. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  206. data/lib/twilio-ruby/rest/events.rb +5 -34
  207. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +451 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  210. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  211. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +331 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +231 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +445 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +360 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +445 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +364 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +400 -398
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +249 -225
  226. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  227. data/lib/twilio-ruby/rest/flex_api/v1.rb +195 -92
  228. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  229. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  230. data/lib/twilio-ruby/rest/flex_api.rb +24 -31
  231. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  232. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  233. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  234. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  235. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  237. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  239. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  240. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -236
  241. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +496 -426
  242. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  243. data/lib/twilio-ruby/rest/insights/v1/conference.rb +506 -502
  244. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  245. data/lib/twilio-ruby/rest/insights/v1/room.rb +494 -489
  246. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  247. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  248. data/lib/twilio-ruby/rest/insights.rb +6 -34
  249. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  250. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +511 -0
  251. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  252. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +383 -0
  253. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +250 -0
  254. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +540 -0
  255. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  256. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  257. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  259. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  261. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  262. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +535 -488
  263. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  264. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  265. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +466 -418
  266. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +862 -779
  267. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  269. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  270. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  271. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  272. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  273. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  274. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +607 -555
  275. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  276. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  277. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  278. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +510 -467
  279. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +765 -689
  280. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  281. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  282. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  283. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  284. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  285. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +342 -253
  286. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  287. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  288. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  289. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  290. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  291. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  292. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  293. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  294. data/lib/twilio-ruby/rest/media.rb +4 -34
  295. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  296. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  298. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +488 -443
  299. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  300. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  301. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  302. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  304. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  305. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  306. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  307. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  308. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  309. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +507 -426
  310. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  311. data/lib/twilio-ruby/rest/messaging/v1/service.rb +741 -763
  312. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  313. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -90
  314. data/lib/twilio-ruby/rest/messaging.rb +28 -35
  315. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  316. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +359 -0
  317. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +352 -0
  318. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  319. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -295
  320. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +375 -0
  321. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +368 -0
  322. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +412 -322
  323. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -53
  324. data/lib/twilio-ruby/rest/microvisor.rb +4 -34
  325. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  327. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  328. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  329. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  330. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  331. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  332. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  333. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  334. data/lib/twilio-ruby/rest/notify/v1/service.rb +628 -622
  335. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  336. data/lib/twilio-ruby/rest/notify.rb +3 -34
  337. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  339. data/lib/twilio-ruby/rest/numbers/v1.rb +49 -0
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  349. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  350. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  351. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  352. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  353. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  354. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +171 -0
  355. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +185 -0
  356. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +262 -0
  357. data/lib/twilio-ruby/rest/oauth/v1/token.rb +179 -0
  358. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +213 -0
  359. data/lib/twilio-ruby/rest/oauth/v1.rb +64 -0
  360. data/lib/twilio-ruby/rest/oauth.rb +33 -0
  361. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  362. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  363. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  364. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  365. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  366. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +495 -459
  367. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  368. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  369. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +449 -446
  370. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  371. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  372. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  373. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  374. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  375. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +430 -398
  376. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  377. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  378. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +443 -399
  379. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  380. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  381. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +420 -398
  382. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  383. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  384. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +420 -398
  385. data/lib/twilio-ruby/rest/preview/sync/service.rb +496 -452
  386. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  387. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  388. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  389. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  390. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  391. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +429 -400
  392. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  393. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  394. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  395. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  396. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  397. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  398. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  399. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +519 -488
  400. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +654 -619
  401. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  402. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  403. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  404. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  405. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  406. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  407. data/lib/twilio-ruby/rest/preview.rb +11 -102
  408. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  409. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  410. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  411. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  412. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  413. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  414. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  415. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  416. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  417. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  418. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  419. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  420. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  421. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  422. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  423. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  424. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  425. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  426. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  427. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  428. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +422 -455
  429. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +523 -547
  430. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  431. data/lib/twilio-ruby/rest/proxy/v1/service.rb +560 -596
  432. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  433. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  434. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  435. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  436. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  437. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  438. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  439. data/lib/twilio-ruby/rest/routes.rb +4 -34
  440. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  441. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  442. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +413 -380
  443. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  444. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  445. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  446. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  447. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  448. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +457 -447
  449. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  450. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  451. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +413 -380
  452. data/lib/twilio-ruby/rest/serverless/v1/service.rb +524 -493
  453. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  454. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  455. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  457. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  458. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  459. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +423 -394
  460. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  461. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  462. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  463. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +471 -449
  464. data/lib/twilio-ruby/rest/studio/v1/flow.rb +381 -355
  465. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  466. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  467. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  468. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  469. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +464 -442
  470. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  471. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  472. data/lib/twilio-ruby/rest/studio/v2/flow.rb +520 -472
  473. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  474. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  475. data/lib/twilio-ruby/rest/studio.rb +3 -41
  476. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  477. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -362
  478. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  479. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -406
  480. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  481. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  482. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +381 -351
  483. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +259 -0
  484. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  485. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  486. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +464 -453
  487. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  488. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  489. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  490. data/lib/twilio-ruby/rest/supersim.rb +16 -34
  491. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  492. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  493. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +457 -423
  494. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  495. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  496. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +471 -445
  497. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  498. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  499. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +471 -444
  500. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  501. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +420 -400
  502. data/lib/twilio-ruby/rest/sync/v1/service.rb +576 -567
  503. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  504. data/lib/twilio-ruby/rest/sync.rb +2 -34
  505. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -736
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +616 -661
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  515. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -566
  516. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  517. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  518. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  519. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  520. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  521. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  522. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +632 -631
  523. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  524. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  525. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  526. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +722 -730
  531. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  532. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  533. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  534. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  535. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  536. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  537. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  538. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  539. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +624 -630
  540. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  541. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  542. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  544. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  545. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  546. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +529 -513
  547. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  548. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  549. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  550. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  551. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  552. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  553. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  554. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  555. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +529 -513
  556. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  557. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  558. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  559. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  560. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  561. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -262
  562. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  563. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +500 -539
  564. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -461
  565. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -289
  566. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +423 -422
  567. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  568. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  569. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +421 -384
  570. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -366
  571. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  572. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -420
  573. data/lib/twilio-ruby/rest/verify/v2/service.rb +767 -780
  574. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -198
  575. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  576. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  577. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  578. data/lib/twilio-ruby/rest/verify.rb +7 -34
  579. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  581. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  582. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  583. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  584. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  585. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  586. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  587. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  588. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  589. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  590. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  591. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  592. data/lib/twilio-ruby/rest/video/v1/room.rb +611 -602
  593. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  594. data/lib/twilio-ruby/rest/video.rb +7 -34
  595. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  596. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  597. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  598. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  599. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +392 -352
  600. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  601. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  602. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +382 -397
  603. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  604. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  605. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  606. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  607. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  608. data/lib/twilio-ruby/rest/voice.rb +7 -34
  609. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  610. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  611. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  612. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  613. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  614. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +640 -647
  615. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  616. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  617. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  618. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  619. data/lib/twilio-ruby/rest.rb +1 -0
  620. data/lib/twilio-ruby/twiml/voice_response.rb +132 -33
  621. data/lib/twilio-ruby/version.rb +1 -1
  622. data/sonar-project.properties +1 -1
  623. data/twilio-ruby.gemspec +1 -1
  624. metadata +118 -38
  625. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  626. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  627. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  628. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  629. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  630. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  631. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  632. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  633. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  634. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  635. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  636. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  637. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  638. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -314
  639. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  640. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +0 -559
  641. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  642. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  643. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  644. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  645. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  646. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  647. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  648. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  649. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  650. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  651. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  652. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  653. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  654. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,517 +1,492 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Video
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Video < Domain
12
- class V1 < Version
13
- class CompositionList < ListResource
14
- ##
15
- # Initialize the CompositionList
16
- # @param [Version] version Version that contains the resource
17
- # @return [CompositionList] CompositionList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Compositions"
24
- end
25
-
26
- ##
27
- # Lists CompositionInstance records from the API as a list.
28
- # Unlike stream(), this operation is eager and will load `limit` records into
29
- # memory before returning.
30
- # @param [composition.Status] status Read only Composition resources with this
31
- # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
32
- # @param [Time] date_created_after Read only Composition resources created on or
33
- # after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] date-time with
34
- # time zone.
35
- # @param [Time] date_created_before Read only Composition resources created before
36
- # this ISO 8601 date-time with time zone.
37
- # @param [String] room_sid Read only Composition resources with this Room SID.
38
- # @param [Integer] limit Upper limit for the number of records to return. stream()
39
- # guarantees to never return more than limit. Default is no limit
40
- # @param [Integer] page_size Number of records to fetch per request, when
41
- # not set will use the default value of 50 records. If no page_size is defined
42
- # but a limit is defined, stream() will attempt to read the limit with the most
43
- # efficient page size, i.e. min(limit, 1000)
44
- # @return [Array] Array of up to limit results
45
- def list(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, limit: nil, page_size: nil)
46
- self.stream(
47
- status: status,
48
- date_created_after: date_created_after,
49
- date_created_before: date_created_before,
50
- room_sid: room_sid,
51
- limit: limit,
52
- page_size: page_size
53
- ).entries
54
- end
55
-
56
- ##
57
- # Streams CompositionInstance records from the API as an Enumerable.
58
- # This operation lazily loads records as efficiently as possible until the limit
59
- # is reached.
60
- # @param [composition.Status] status Read only Composition resources with this
61
- # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
62
- # @param [Time] date_created_after Read only Composition resources created on or
63
- # after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] date-time with
64
- # time zone.
65
- # @param [Time] date_created_before Read only Composition resources created before
66
- # this ISO 8601 date-time with time zone.
67
- # @param [String] room_sid Read only Composition resources with this Room SID.
68
- # @param [Integer] limit Upper limit for the number of records to return. stream()
69
- # guarantees to never return more than limit. Default is no limit.
70
- # @param [Integer] page_size Number of records to fetch per request, when
71
- # not set will use the default value of 50 records. If no page_size is defined
72
- # but a limit is defined, stream() will attempt to read the limit with the most
73
- # efficient page size, i.e. min(limit, 1000)
74
- # @return [Enumerable] Enumerable that will yield up to limit results
75
- def stream(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, limit: nil, page_size: nil)
76
- limits = @version.read_limits(limit, page_size)
77
-
78
- page = self.page(
79
- status: status,
80
- date_created_after: date_created_after,
81
- date_created_before: date_created_before,
82
- room_sid: room_sid,
83
- page_size: limits[:page_size],
84
- )
85
-
86
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
87
- end
88
-
89
- ##
90
- # When passed a block, yields CompositionInstance records from the API.
91
- # This operation lazily loads records as efficiently as possible until the limit
92
- # is reached.
93
- def each
94
- limits = @version.read_limits
95
-
96
- page = self.page(page_size: limits[:page_size], )
97
-
98
- @version.stream(page,
17
+ module REST
18
+ class Video < VideoBase
19
+ class V1 < Version
20
+ class CompositionList < ListResource
21
+ ##
22
+ # Initialize the CompositionList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [CompositionList] CompositionList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/Compositions"
30
+
31
+ end
32
+ ##
33
+ # Create the CompositionInstance
34
+ # @param [String] room_sid The SID of the Group Room with the media tracks to be used as composition sources.
35
+ # @param [Object] video_layout An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
36
+ # @param [Array[String]] audio_sources An array of track names from the same group room to merge into the new composition. Can include zero or more track names. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` includes `student` as well as `studentTeam`. Please, be aware that either video_layout or audio_sources have to be provided to get a valid creation request
37
+ # @param [Array[String]] audio_sources_excluded An array of track names to exclude. The new composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this parameter can include an asterisk as a wild card character, which will match zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
38
+ # @param [String] resolution A string that describes the columns (width) and rows (height) of the generated composed video in pixels. Defaults to `640x480`. The string's format is `{width}x{height}` where: * 16 <= `{width}` <= 1280 * 16 <= `{height}` <= 1280 * `{width}` * `{height}` <= 921,600 Typical values are: * HD = `1280x720` * PAL = `1024x576` * VGA = `640x480` * CIF = `320x240` Note that the `resolution` imposes an aspect ratio to the resulting composition. When the original video tracks are constrained by the aspect ratio, they are scaled to fit. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
39
+ # @param [Format] format
40
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every composition event. If not provided, status callback events will not be dispatched.
41
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
42
+ # @param [Boolean] trim Whether to clip the intervals where there is no active media in the composition. The default is `true`. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
43
+ # @return [CompositionInstance] Created CompositionInstance
44
+ def create(
45
+ room_sid: nil,
46
+ video_layout: :unset,
47
+ audio_sources: :unset,
48
+ audio_sources_excluded: :unset,
49
+ resolution: :unset,
50
+ format: :unset,
51
+ status_callback: :unset,
52
+ status_callback_method: :unset,
53
+ trim: :unset
54
+ )
55
+
56
+ data = Twilio::Values.of({
57
+ 'RoomSid' => room_sid,
58
+ 'VideoLayout' => Twilio.serialize_object(video_layout),
59
+ 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
60
+ 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
61
+ 'Resolution' => resolution,
62
+ 'Format' => format,
63
+ 'StatusCallback' => status_callback,
64
+ 'StatusCallbackMethod' => status_callback_method,
65
+ 'Trim' => trim,
66
+ })
67
+
68
+ payload = @version.create('POST', @uri, data: data)
69
+ CompositionInstance.new(
70
+ @version,
71
+ payload,
72
+ )
73
+ end
74
+
75
+
76
+ ##
77
+ # Lists CompositionInstance records from the API as a list.
78
+ # Unlike stream(), this operation is eager and will load `limit` records into
79
+ # memory before returning.
80
+ # @param [Status] status Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
81
+ # @param [Time] date_created_after Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.
82
+ # @param [Time] date_created_before Read only Composition resources created before this ISO 8601 date-time with time zone.
83
+ # @param [String] room_sid Read only Composition resources with this Room SID.
84
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
85
+ # guarantees to never return more than limit. Default is no limit
86
+ # @param [Integer] page_size Number of records to fetch per request, when
87
+ # not set will use the default value of 50 records. If no page_size is defined
88
+ # but a limit is defined, stream() will attempt to read the limit with the most
89
+ # efficient page size, i.e. min(limit, 1000)
90
+ # @return [Array] Array of up to limit results
91
+ def list(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, limit: nil, page_size: nil)
92
+ self.stream(
93
+ status: status,
94
+ date_created_after: date_created_after,
95
+ date_created_before: date_created_before,
96
+ room_sid: room_sid,
97
+ limit: limit,
98
+ page_size: page_size
99
+ ).entries
100
+ end
101
+
102
+ ##
103
+ # Streams Instance records from the API as an Enumerable.
104
+ # This operation lazily loads records as efficiently as possible until the limit
105
+ # is reached.
106
+ # @param [Status] status Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
107
+ # @param [Time] date_created_after Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.
108
+ # @param [Time] date_created_before Read only Composition resources created before this ISO 8601 date-time with time zone.
109
+ # @param [String] room_sid Read only Composition resources with this Room SID.
110
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
111
+ # guarantees to never return more than limit. Default is no limit
112
+ # @param [Integer] page_size Number of records to fetch per request, when
113
+ # not set will use the default value of 50 records. If no page_size is defined
114
+ # but a limit is defined, stream() will attempt to read the limit with the most
115
+ # efficient page size, i.e. min(limit, 1000)
116
+ # @return [Enumerable] Enumerable that will yield up to limit results
117
+ def stream(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, limit: nil, page_size: nil)
118
+ limits = @version.read_limits(limit, page_size)
119
+
120
+ page = self.page(
121
+ status: status,
122
+ date_created_after: date_created_after,
123
+ date_created_before: date_created_before,
124
+ room_sid: room_sid,
125
+ page_size: limits[:page_size], )
126
+
127
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
128
+ end
129
+
130
+ ##
131
+ # When passed a block, yields CompositionInstance records from the API.
132
+ # This operation lazily loads records as efficiently as possible until the limit
133
+ # is reached.
134
+ def each
135
+ limits = @version.read_limits
136
+
137
+ page = self.page(page_size: limits[:page_size], )
138
+
139
+ @version.stream(page,
99
140
  limit: limits[:limit],
100
141
  page_limit: limits[:page_limit]).each {|x| yield x}
101
- end
102
-
103
- ##
104
- # Retrieve a single page of CompositionInstance records from the API.
105
- # Request is executed immediately.
106
- # @param [composition.Status] status Read only Composition resources with this
107
- # status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
108
- # @param [Time] date_created_after Read only Composition resources created on or
109
- # after this {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601] date-time with
110
- # time zone.
111
- # @param [Time] date_created_before Read only Composition resources created before
112
- # this ISO 8601 date-time with time zone.
113
- # @param [String] room_sid Read only Composition resources with this Room SID.
114
- # @param [String] page_token PageToken provided by the API
115
- # @param [Integer] page_number Page Number, this value is simply for client state
116
- # @param [Integer] page_size Number of records to return, defaults to 50
117
- # @return [Page] Page of CompositionInstance
118
- def page(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
119
- params = Twilio::Values.of({
120
- 'Status' => status,
121
- 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
122
- 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
123
- 'RoomSid' => room_sid,
124
- 'PageToken' => page_token,
125
- 'Page' => page_number,
126
- 'PageSize' => page_size,
127
- })
128
-
129
- response = @version.page('GET', @uri, params: params)
130
-
131
- CompositionPage.new(@version, response, @solution)
132
- end
133
-
134
- ##
135
- # Retrieve a single page of CompositionInstance records from the API.
136
- # Request is executed immediately.
137
- # @param [String] target_url API-generated URL for the requested results page
138
- # @return [Page] Page of CompositionInstance
139
- def get_page(target_url)
140
- response = @version.domain.request(
141
- 'GET',
142
- target_url
143
- )
144
- CompositionPage.new(@version, response, @solution)
145
- end
146
-
147
- ##
148
- # Create the CompositionInstance
149
- # @param [String] room_sid The SID of the Group Room with the media tracks to be
150
- # used as composition sources.
151
- # @param [Hash] video_layout An object that describes the video layout of the
152
- # composition in terms of regions. See {Specifying Video
153
- # Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
154
- # for more info. Please, be aware that either video_layout or audio_sources have
155
- # to be provided to get a valid creation request
156
- # @param [Array[String]] audio_sources An array of track names from the same group
157
- # room to merge into the new composition. Can include zero or more track names.
158
- # The new composition includes all audio sources specified in `audio_sources`
159
- # except for those specified in `audio_sources_excluded`. The track names in this
160
- # parameter can include an asterisk as a wild card character, which will match
161
- # zero or more characters in a track name. For example, `student*` includes
162
- # `student` as well as `studentTeam`. Please, be aware that either video_layout or
163
- # audio_sources have to be provided to get a valid creation request
164
- # @param [Array[String]] audio_sources_excluded An array of track names to
165
- # exclude. The new composition includes all audio sources specified in
166
- # `audio_sources` except for those specified in `audio_sources_excluded`. The
167
- # track names in this parameter can include an asterisk as a wild card character,
168
- # which will match zero or more characters in a track name. For example,
169
- # `student*` excludes `student` as well as `studentTeam`. This parameter can also
170
- # be empty.
171
- # @param [String] resolution A string that describes the columns (width) and rows
172
- # (height) of the generated composed video in pixels. Defaults to `640x480`.
173
- # The string's format is `{width}x{height}` where:
174
- #
175
- # * 16 <= `{width}` <= 1280
176
- # * 16 <= `{height}` <= 1280
177
- # * `{width}` * `{height}` <= 921,600
178
- #
179
- # Typical values are:
180
- #
181
- # * HD = `1280x720`
182
- # * PAL = `1024x576`
183
- # * VGA = `640x480`
184
- # * CIF = `320x240`
185
- #
186
- # Note that the `resolution` imposes an aspect ratio to the resulting composition.
187
- # When the original video tracks are constrained by the aspect ratio, they are
188
- # scaled to fit. See {Specifying Video
189
- # Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
190
- # for more info.
191
- # @param [composition.Format] format The container format of the composition's
192
- # media files. Can be: `mp4` or `webm` and the default is `webm`. If you specify
193
- # `mp4` or `webm`, you must also specify one or more `audio_sources` and/or a
194
- # `video_layout` element that contains a valid `video_sources` list, otherwise an
195
- # error occurs.
196
- # @param [String] status_callback The URL we should call using the
197
- # `status_callback_method` to send status information to your application on every
198
- # composition event. If not provided, status callback events will not be
199
- # dispatched.
200
- # @param [String] status_callback_method The HTTP method we should use to call
201
- # `status_callback`. Can be: `POST` or `GET` and the default is `POST`.
202
- # @param [Boolean] trim Whether to clip the intervals where there is no active
203
- # media in the composition. The default is `true`. Compositions with `trim`
204
- # enabled are shorter when the Room is created and no Participant joins for a
205
- # while as well as if all the Participants leave the room and join later, because
206
- # those gaps will be removed. See {Specifying Video
207
- # Layouts}[https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts]
208
- # for more info.
209
- # @return [CompositionInstance] Created CompositionInstance
210
- def create(room_sid: nil, video_layout: :unset, audio_sources: :unset, audio_sources_excluded: :unset, resolution: :unset, format: :unset, status_callback: :unset, status_callback_method: :unset, trim: :unset)
211
- data = Twilio::Values.of({
212
- 'RoomSid' => room_sid,
213
- 'VideoLayout' => Twilio.serialize_object(video_layout),
214
- 'AudioSources' => Twilio.serialize_list(audio_sources) { |e| e },
215
- 'AudioSourcesExcluded' => Twilio.serialize_list(audio_sources_excluded) { |e| e },
216
- 'Resolution' => resolution,
217
- 'Format' => format,
218
- 'StatusCallback' => status_callback,
219
- 'StatusCallbackMethod' => status_callback_method,
220
- 'Trim' => trim,
221
- })
222
-
223
- payload = @version.create('POST', @uri, data: data)
224
-
225
- CompositionInstance.new(@version, payload, )
226
- end
227
-
228
- ##
229
- # Provide a user friendly representation
230
- def to_s
231
- '#<Twilio.Video.V1.CompositionList>'
232
- end
233
- end
234
-
235
- class CompositionPage < Page
236
- ##
237
- # Initialize the CompositionPage
238
- # @param [Version] version Version that contains the resource
239
- # @param [Response] response Response from the API
240
- # @param [Hash] solution Path solution for the resource
241
- # @return [CompositionPage] CompositionPage
242
- def initialize(version, response, solution)
243
- super(version, response)
244
-
245
- # Path Solution
246
- @solution = solution
247
- end
248
-
249
- ##
250
- # Build an instance of CompositionInstance
251
- # @param [Hash] payload Payload response from the API
252
- # @return [CompositionInstance] CompositionInstance
253
- def get_instance(payload)
254
- CompositionInstance.new(@version, payload, )
255
- end
256
-
257
- ##
258
- # Provide a user friendly representation
259
- def to_s
260
- '<Twilio.Video.V1.CompositionPage>'
261
- end
262
- end
263
-
264
- class CompositionContext < InstanceContext
265
- ##
266
- # Initialize the CompositionContext
267
- # @param [Version] version Version that contains the resource
268
- # @param [String] sid The SID of the Composition resource to fetch.
269
- # @return [CompositionContext] CompositionContext
270
- def initialize(version, sid)
271
- super(version)
272
-
273
- # Path Solution
274
- @solution = {sid: sid, }
275
- @uri = "/Compositions/#{@solution[:sid]}"
276
- end
277
-
278
- ##
279
- # Fetch the CompositionInstance
280
- # @return [CompositionInstance] Fetched CompositionInstance
281
- def fetch
282
- payload = @version.fetch('GET', @uri)
283
-
284
- CompositionInstance.new(@version, payload, sid: @solution[:sid], )
285
- end
286
-
287
- ##
288
- # Delete the CompositionInstance
289
- # @return [Boolean] true if delete succeeds, false otherwise
290
- def delete
291
- @version.delete('DELETE', @uri)
292
- end
293
-
294
- ##
295
- # Provide a user friendly representation
296
- def to_s
297
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
298
- "#<Twilio.Video.V1.CompositionContext #{context}>"
299
- end
300
-
301
- ##
302
- # Provide a detailed, user friendly representation
303
- def inspect
304
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
305
- "#<Twilio.Video.V1.CompositionContext #{context}>"
306
- end
307
- end
142
+ end
143
+
144
+ ##
145
+ # Retrieve a single page of CompositionInstance records from the API.
146
+ # Request is executed immediately.
147
+ # @param [Status] status Read only Composition resources with this status. Can be: `enqueued`, `processing`, `completed`, `deleted`, or `failed`.
148
+ # @param [Time] date_created_after Read only Composition resources created on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time with time zone.
149
+ # @param [Time] date_created_before Read only Composition resources created before this ISO 8601 date-time with time zone.
150
+ # @param [String] room_sid Read only Composition resources with this Room SID.
151
+ # @param [String] page_token PageToken provided by the API
152
+ # @param [Integer] page_number Page Number, this value is simply for client state
153
+ # @param [Integer] page_size Number of records to return, defaults to 50
154
+ # @return [Page] Page of CompositionInstance
155
+ def page(status: :unset, date_created_after: :unset, date_created_before: :unset, room_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
156
+ params = Twilio::Values.of({
157
+
158
+ 'Status' => status,
159
+
160
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
161
+
162
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
163
+
164
+ 'RoomSid' => room_sid,
165
+
166
+ 'PageToken' => page_token,
167
+ 'Page' => page_number,
168
+ 'PageSize' => page_size,
169
+ })
170
+
171
+ response = @version.page('GET', @uri, params: params)
172
+
173
+ CompositionPage.new(@version, response, @solution)
174
+ end
175
+
176
+ ##
177
+ # Retrieve a single page of CompositionInstance records from the API.
178
+ # Request is executed immediately.
179
+ # @param [String] target_url API-generated URL for the requested results page
180
+ # @return [Page] Page of CompositionInstance
181
+ def get_page(target_url)
182
+ response = @version.domain.request(
183
+ 'GET',
184
+ target_url
185
+ )
186
+ CompositionPage.new(@version, response, @solution)
187
+ end
188
+
189
+
190
+
191
+ # Provide a user friendly representation
192
+ def to_s
193
+ '#<Twilio.Video.V1.CompositionList>'
194
+ end
195
+ end
196
+
197
+
198
+ class CompositionContext < InstanceContext
199
+ ##
200
+ # Initialize the CompositionContext
201
+ # @param [Version] version Version that contains the resource
202
+ # @param [String] sid The SID of the Composition resource to fetch.
203
+ # @return [CompositionContext] CompositionContext
204
+ def initialize(version, sid)
205
+ super(version)
206
+
207
+ # Path Solution
208
+ @solution = { sid: sid, }
209
+ @uri = "/Compositions/#{@solution[:sid]}"
210
+
211
+
212
+ end
213
+ ##
214
+ # Delete the CompositionInstance
215
+ # @return [Boolean] True if delete succeeds, false otherwise
216
+ def delete
217
+
218
+ @version.delete('DELETE', @uri)
219
+ end
220
+
221
+ ##
222
+ # Fetch the CompositionInstance
223
+ # @return [CompositionInstance] Fetched CompositionInstance
224
+ def fetch
225
+
226
+ payload = @version.fetch('GET', @uri)
227
+ CompositionInstance.new(
228
+ @version,
229
+ payload,
230
+ sid: @solution[:sid],
231
+ )
232
+ end
233
+
234
+
235
+ ##
236
+ # Provide a user friendly representation
237
+ def to_s
238
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
239
+ "#<Twilio.Video.V1.CompositionContext #{context}>"
240
+ end
241
+
242
+ ##
243
+ # Provide a detailed, user friendly representation
244
+ def inspect
245
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
246
+ "#<Twilio.Video.V1.CompositionContext #{context}>"
247
+ end
248
+ end
249
+
250
+ class CompositionPage < Page
251
+ ##
252
+ # Initialize the CompositionPage
253
+ # @param [Version] version Version that contains the resource
254
+ # @param [Response] response Response from the API
255
+ # @param [Hash] solution Path solution for the resource
256
+ # @return [CompositionPage] CompositionPage
257
+ def initialize(version, response, solution)
258
+ super(version, response)
259
+
260
+ # Path Solution
261
+ @solution = solution
262
+ end
263
+
264
+ ##
265
+ # Build an instance of CompositionInstance
266
+ # @param [Hash] payload Payload response from the API
267
+ # @return [CompositionInstance] CompositionInstance
268
+ def get_instance(payload)
269
+ CompositionInstance.new(@version, payload)
270
+ end
271
+
272
+ ##
273
+ # Provide a user friendly representation
274
+ def to_s
275
+ '<Twilio.Video.V1.CompositionPage>'
276
+ end
277
+ end
278
+ class CompositionInstance < InstanceResource
279
+ ##
280
+ # Initialize the CompositionInstance
281
+ # @param [Version] version Version that contains the resource
282
+ # @param [Hash] payload payload that contains response from Twilio
283
+ # @param [String] account_sid The SID of the
284
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Composition
285
+ # resource.
286
+ # @param [String] sid The SID of the Call resource to fetch.
287
+ # @return [CompositionInstance] CompositionInstance
288
+ def initialize(version, payload , sid: nil)
289
+ super(version)
290
+
291
+ # Marshaled Properties
292
+ @properties = {
293
+ 'account_sid' => payload['account_sid'],
294
+ 'status' => payload['status'],
295
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
296
+ 'date_completed' => Twilio.deserialize_iso8601_datetime(payload['date_completed']),
297
+ 'date_deleted' => Twilio.deserialize_iso8601_datetime(payload['date_deleted']),
298
+ 'sid' => payload['sid'],
299
+ 'room_sid' => payload['room_sid'],
300
+ 'audio_sources' => payload['audio_sources'],
301
+ 'audio_sources_excluded' => payload['audio_sources_excluded'],
302
+ 'video_layout' => payload['video_layout'],
303
+ 'resolution' => payload['resolution'],
304
+ 'trim' => payload['trim'],
305
+ 'format' => payload['format'],
306
+ 'bitrate' => payload['bitrate'] == nil ? payload['bitrate'] : payload['bitrate'].to_i,
307
+ 'size' => payload['size'],
308
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
309
+ 'media_external_location' => payload['media_external_location'],
310
+ 'status_callback' => payload['status_callback'],
311
+ 'status_callback_method' => payload['status_callback_method'],
312
+ 'url' => payload['url'],
313
+ 'links' => payload['links'],
314
+ }
315
+
316
+ # Context
317
+ @instance_context = nil
318
+ @params = { 'sid' => sid || @properties['sid'] , }
319
+ end
320
+
321
+ ##
322
+ # Generate an instance context for the instance, the context is capable of
323
+ # performing various actions. All instance actions are proxied to the context
324
+ # @return [CompositionContext] CallContext for this CallInstance
325
+ def context
326
+ unless @instance_context
327
+ @instance_context = CompositionContext.new(@version , @params['sid'])
328
+ end
329
+ @instance_context
330
+ end
331
+
332
+ ##
333
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Composition resource.
334
+ def account_sid
335
+ @properties['account_sid']
336
+ end
337
+
338
+ ##
339
+ # @return [Status]
340
+ def status
341
+ @properties['status']
342
+ end
343
+
344
+ ##
345
+ # @return [Time] The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
346
+ def date_created
347
+ @properties['date_created']
348
+ end
349
+
350
+ ##
351
+ # @return [Time] The date and time in GMT when the composition's media processing task finished, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
352
+ def date_completed
353
+ @properties['date_completed']
354
+ end
355
+
356
+ ##
357
+ # @return [Time] The date and time in GMT when the composition generated media was deleted, specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
358
+ def date_deleted
359
+ @properties['date_deleted']
360
+ end
361
+
362
+ ##
363
+ # @return [String] The unique string that we created to identify the Composition resource.
364
+ def sid
365
+ @properties['sid']
366
+ end
367
+
368
+ ##
369
+ # @return [String] The SID of the Group Room that generated the audio and video tracks used in the composition. All media sources included in a composition must belong to the same Group Room.
370
+ def room_sid
371
+ @properties['room_sid']
372
+ end
373
+
374
+ ##
375
+ # @return [Array<String>] The array of track names to include in the composition. The composition includes all audio sources specified in `audio_sources` except those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` includes tracks named `student` as well as `studentTeam`.
376
+ def audio_sources
377
+ @properties['audio_sources']
378
+ end
379
+
380
+ ##
381
+ # @return [Array<String>] The array of track names to exclude from the composition. The composition includes all audio sources specified in `audio_sources` except for those specified in `audio_sources_excluded`. The track names in this property can include an asterisk as a wild card character, which matches zero or more characters in a track name. For example, `student*` excludes `student` as well as `studentTeam`. This parameter can also be empty.
382
+ def audio_sources_excluded
383
+ @properties['audio_sources_excluded']
384
+ end
385
+
386
+ ##
387
+ # @return [Hash] An object that describes the video layout of the composition in terms of regions. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
388
+ def video_layout
389
+ @properties['video_layout']
390
+ end
391
+
392
+ ##
393
+ # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height). The string's format is `{width}x{height}`, such as `640x480`.
394
+ def resolution
395
+ @properties['resolution']
396
+ end
397
+
398
+ ##
399
+ # @return [Boolean] Whether to remove intervals with no media, as specified in the POST request that created the composition. Compositions with `trim` enabled are shorter when the Room is created and no Participant joins for a while as well as if all the Participants leave the room and join later, because those gaps will be removed. See [Specifying Video Layouts](https://www.twilio.com/docs/video/api/compositions-resource#specifying-video-layouts) for more info.
400
+ def trim
401
+ @properties['trim']
402
+ end
403
+
404
+ ##
405
+ # @return [Format]
406
+ def format
407
+ @properties['format']
408
+ end
409
+
410
+ ##
411
+ # @return [String] The average bit rate of the composition's media.
412
+ def bitrate
413
+ @properties['bitrate']
414
+ end
415
+
416
+ ##
417
+ # @return [String] The size of the composed media file in bytes.
418
+ def size
419
+ @properties['size']
420
+ end
421
+
422
+ ##
423
+ # @return [String] The duration of the composition's media file in seconds.
424
+ def duration
425
+ @properties['duration']
426
+ end
427
+
428
+ ##
429
+ # @return [String] The URL of the media file associated with the composition when stored externally. See [External S3 Compositions](/docs/video/api/external-s3-compositions) for more details.
430
+ def media_external_location
431
+ @properties['media_external_location']
432
+ end
433
+
434
+ ##
435
+ # @return [String] The URL called using the `status_callback_method` to send status information on every composition event.
436
+ def status_callback
437
+ @properties['status_callback']
438
+ end
439
+
440
+ ##
441
+ # @return [String] The HTTP method used to call `status_callback`. Can be: `POST` or `GET`, defaults to `POST`.
442
+ def status_callback_method
443
+ @properties['status_callback_method']
444
+ end
445
+
446
+ ##
447
+ # @return [String] The absolute URL of the resource.
448
+ def url
449
+ @properties['url']
450
+ end
451
+
452
+ ##
453
+ # @return [Hash] The URL of the media file associated with the composition.
454
+ def links
455
+ @properties['links']
456
+ end
457
+
458
+ ##
459
+ # Delete the CompositionInstance
460
+ # @return [Boolean] True if delete succeeds, false otherwise
461
+ def delete
462
+
463
+ context.delete
464
+ end
465
+
466
+ ##
467
+ # Fetch the CompositionInstance
468
+ # @return [CompositionInstance] Fetched CompositionInstance
469
+ def fetch
470
+
471
+ context.fetch
472
+ end
473
+
474
+ ##
475
+ # Provide a user friendly representation
476
+ def to_s
477
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
478
+ "<Twilio.Video.V1.CompositionInstance #{values}>"
479
+ end
480
+
481
+ ##
482
+ # Provide a detailed, user friendly representation
483
+ def inspect
484
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
485
+ "<Twilio.Video.V1.CompositionInstance #{values}>"
486
+ end
487
+ end
308
488
 
309
- class CompositionInstance < InstanceResource
310
- ##
311
- # Initialize the CompositionInstance
312
- # @param [Version] version Version that contains the resource
313
- # @param [Hash] payload payload that contains response from Twilio
314
- # @param [String] sid The SID of the Composition resource to fetch.
315
- # @return [CompositionInstance] CompositionInstance
316
- def initialize(version, payload, sid: nil)
317
- super(version)
318
-
319
- # Marshaled Properties
320
- @properties = {
321
- 'account_sid' => payload['account_sid'],
322
- 'status' => payload['status'],
323
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
324
- 'date_completed' => Twilio.deserialize_iso8601_datetime(payload['date_completed']),
325
- 'date_deleted' => Twilio.deserialize_iso8601_datetime(payload['date_deleted']),
326
- 'sid' => payload['sid'],
327
- 'room_sid' => payload['room_sid'],
328
- 'audio_sources' => payload['audio_sources'],
329
- 'audio_sources_excluded' => payload['audio_sources_excluded'],
330
- 'video_layout' => payload['video_layout'],
331
- 'resolution' => payload['resolution'],
332
- 'trim' => payload['trim'],
333
- 'format' => payload['format'],
334
- 'bitrate' => payload['bitrate'].to_i,
335
- 'size' => payload['size'].to_i,
336
- 'duration' => payload['duration'].to_i,
337
- 'media_external_location' => payload['media_external_location'],
338
- 'status_callback' => payload['status_callback'],
339
- 'status_callback_method' => payload['status_callback_method'],
340
- 'url' => payload['url'],
341
- 'links' => payload['links'],
342
- }
343
-
344
- # Context
345
- @instance_context = nil
346
- @params = {'sid' => sid || @properties['sid'], }
347
- end
348
-
349
- ##
350
- # Generate an instance context for the instance, the context is capable of
351
- # performing various actions. All instance actions are proxied to the context
352
- # @return [CompositionContext] CompositionContext for this CompositionInstance
353
- def context
354
- unless @instance_context
355
- @instance_context = CompositionContext.new(@version, @params['sid'], )
356
489
  end
357
- @instance_context
358
- end
359
-
360
- ##
361
- # @return [String] The SID of the Account that created the resource
362
- def account_sid
363
- @properties['account_sid']
364
- end
365
-
366
- ##
367
- # @return [composition.Status] The status of the composition
368
- def status
369
- @properties['status']
370
- end
371
-
372
- ##
373
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
374
- def date_created
375
- @properties['date_created']
376
- end
377
-
378
- ##
379
- # @return [Time] Date when the media processing task finished
380
- def date_completed
381
- @properties['date_completed']
382
- end
383
-
384
- ##
385
- # @return [Time] The ISO 8601 date and time in GMT when the composition generated media was deleted
386
- def date_deleted
387
- @properties['date_deleted']
388
- end
389
-
390
- ##
391
- # @return [String] The unique string that identifies the resource
392
- def sid
393
- @properties['sid']
394
- end
395
-
396
- ##
397
- # @return [String] The SID of the Group Room that generated the audio and video tracks used in the composition
398
- def room_sid
399
- @properties['room_sid']
400
- end
401
-
402
- ##
403
- # @return [Array[String]] The array of track names to include in the composition
404
- def audio_sources
405
- @properties['audio_sources']
406
- end
407
-
408
- ##
409
- # @return [Array[String]] The array of track names to exclude from the composition
410
- def audio_sources_excluded
411
- @properties['audio_sources_excluded']
412
- end
413
-
414
- ##
415
- # @return [Hash] An object that describes the video layout of the composition
416
- def video_layout
417
- @properties['video_layout']
418
- end
419
-
420
- ##
421
- # @return [String] The dimensions of the video image in pixels expressed as columns (width) and rows (height)
422
- def resolution
423
- @properties['resolution']
424
- end
425
-
426
- ##
427
- # @return [Boolean] Whether to remove intervals with no media
428
- def trim
429
- @properties['trim']
430
- end
431
-
432
- ##
433
- # @return [composition.Format] The container format of the composition's media files as specified in the POST request that created the Composition resource
434
- def format
435
- @properties['format']
436
- end
437
-
438
- ##
439
- # @return [String] The average bit rate of the composition's media
440
- def bitrate
441
- @properties['bitrate']
442
- end
443
-
444
- ##
445
- # @return [String] The size of the composed media file in bytes
446
- def size
447
- @properties['size']
448
- end
449
-
450
- ##
451
- # @return [String] The duration of the composition's media file in seconds
452
- def duration
453
- @properties['duration']
454
- end
455
-
456
- ##
457
- # @return [String] The URL of the media file associated with the composition when stored externally
458
- def media_external_location
459
- @properties['media_external_location']
460
- end
461
-
462
- ##
463
- # @return [String] The URL called to send status information on every composition event.
464
- def status_callback
465
- @properties['status_callback']
466
- end
467
-
468
- ##
469
- # @return [String] The HTTP method used to call `status_callback`
470
- def status_callback_method
471
- @properties['status_callback_method']
472
- end
473
-
474
- ##
475
- # @return [String] The absolute URL of the resource
476
- def url
477
- @properties['url']
478
- end
479
-
480
- ##
481
- # @return [String] The URL of the media file associated with the composition
482
- def links
483
- @properties['links']
484
- end
485
-
486
- ##
487
- # Fetch the CompositionInstance
488
- # @return [CompositionInstance] Fetched CompositionInstance
489
- def fetch
490
- context.fetch
491
- end
492
-
493
- ##
494
- # Delete the CompositionInstance
495
- # @return [Boolean] true if delete succeeds, false otherwise
496
- def delete
497
- context.delete
498
- end
499
-
500
- ##
501
- # Provide a user friendly representation
502
- def to_s
503
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
504
- "<Twilio.Video.V1.CompositionInstance #{values}>"
505
- end
506
-
507
- ##
508
- # Provide a detailed, user friendly representation
509
- def inspect
510
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
511
- "<Twilio.Video.V1.CompositionInstance #{values}>"
512
- end
513
490
  end
514
- end
515
491
  end
516
- end
517
- end
492
+ end