twilio-ruby 5.72.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,612 +1,621 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
7
+ # Twilio - Video
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Video < Domain
12
- class V1 < Version
13
- class RoomList < ListResource
14
- ##
15
- # Initialize the RoomList
16
- # @param [Version] version Version that contains the resource
17
- # @return [RoomList] RoomList
18
- def initialize(version)
19
- super(version)
20
-
21
- # Path Solution
22
- @solution = {}
23
- @uri = "/Rooms"
24
- end
25
-
26
- ##
27
- # Create the RoomInstance
28
- # @param [Boolean] enable_turn Deprecated, now always considered to be true.
29
- # @param [room.RoomType] type The type of room. Can be: `go`, `peer-to-peer`,
30
- # `group-small`, or `group`. The default value is `group`.
31
- # @param [String] unique_name An application-defined string that uniquely
32
- # identifies the resource. It can be used as a `room_sid` in place of the
33
- # resource's `sid` in the URL to address the resource, assuming it does not
34
- # contain any {reserved
35
- # characters}[https://tools.ietf.org/html/rfc3986#section-2.2] that would need to
36
- # be URL encoded. This value is unique for `in-progress` rooms. SDK clients can
37
- # use this name to connect to the room. REST API clients can use this name in
38
- # place of the Room SID to interact with the room as long as the room is
39
- # `in-progress`.
40
- # @param [String] status_callback The URL we should call using the
41
- # `status_callback_method` to send status information to your application on every
42
- # room event. See {Status
43
- # Callbacks}[https://www.twilio.com/docs/video/api/status-callbacks] for more
44
- # info.
45
- # @param [String] status_callback_method The HTTP method we should use to call
46
- # `status_callback`. Can be `POST` or `GET`.
47
- # @param [String] max_participants The maximum number of concurrent Participants
48
- # allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small
49
- # Group rooms can have up to 4 Participants. Group rooms can have up to 50
50
- # Participants.
51
- # @param [Boolean] record_participants_on_connect Whether to start recording when
52
- # Participants connect. ***This feature is not available in `peer-to-peer`
53
- # rooms.***
54
- # @param [Array[room.VideoCodec]] video_codecs An array of the video codecs that
55
- # are supported when publishing a track in the room. Can be: `VP8` and `H264`.
56
- # ***This feature is not available in `peer-to-peer` rooms***
57
- # @param [String] media_region The region for the media server in Group Rooms.
58
- # Can be: one of the {available Media
59
- # Regions}[https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers].
60
- # ***This feature is not available in `peer-to-peer` rooms.***
61
- # @param [Hash] recording_rules A collection of Recording Rules that describe how
62
- # to include or exclude matching tracks for recording
63
- # @param [Boolean] audio_only When set to true, indicates that the participants in
64
- # the room will only publish audio. No video tracks will be allowed. Group rooms
65
- # only.
66
- # @param [String] max_participant_duration The maximum number of seconds a
67
- # Participant can be connected to the room. The maximum possible value is 86400
68
- # seconds (24 hours). The default is 14400 seconds (4 hours).
69
- # @param [String] empty_room_timeout Configures how long (in minutes) a room will
70
- # remain active after last participant leaves. Valid values range from 1 to 60
71
- # minutes (no fractions).
72
- # @param [String] unused_room_timeout Configures how long (in minutes) a room will
73
- # remain active if no one joins. Valid values range from 1 to 60 minutes (no
74
- # fractions).
75
- # @param [Boolean] large_room When set to true, indicated that this is the large
76
- # room.
77
- # @return [RoomInstance] Created RoomInstance
78
- def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset, recording_rules: :unset, audio_only: :unset, max_participant_duration: :unset, empty_room_timeout: :unset, unused_room_timeout: :unset, large_room: :unset)
79
- data = Twilio::Values.of({
80
- 'EnableTurn' => enable_turn,
81
- 'Type' => type,
82
- 'UniqueName' => unique_name,
83
- 'StatusCallback' => status_callback,
84
- 'StatusCallbackMethod' => status_callback_method,
85
- 'MaxParticipants' => max_participants,
86
- 'RecordParticipantsOnConnect' => record_participants_on_connect,
87
- 'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
88
- 'MediaRegion' => media_region,
89
- 'RecordingRules' => Twilio.serialize_object(recording_rules),
90
- 'AudioOnly' => audio_only,
91
- 'MaxParticipantDuration' => max_participant_duration,
92
- 'EmptyRoomTimeout' => empty_room_timeout,
93
- 'UnusedRoomTimeout' => unused_room_timeout,
94
- 'LargeRoom' => large_room,
95
- })
96
-
97
- payload = @version.create('POST', @uri, data: data)
98
-
99
- RoomInstance.new(@version, payload, )
100
- end
101
-
102
- ##
103
- # Lists RoomInstance records from the API as a list.
104
- # Unlike stream(), this operation is eager and will load `limit` records into
105
- # memory before returning.
106
- # @param [room.RoomStatus] status Read only the rooms with this status. Can be:
107
- # `in-progress` (default) or `completed`
108
- # @param [String] unique_name Read only rooms with the this `unique_name`.
109
- # @param [Time] date_created_after Read only rooms that started on or after this
110
- # date, given as `YYYY-MM-DD`.
111
- # @param [Time] date_created_before Read only rooms that started before this date,
112
- # given as `YYYY-MM-DD`.
113
- # @param [Integer] limit Upper limit for the number of records to return. stream()
114
- # guarantees to never return more than limit. Default is no limit
115
- # @param [Integer] page_size Number of records to fetch per request, when
116
- # not set will use the default value of 50 records. If no page_size is defined
117
- # but a limit is defined, stream() will attempt to read the limit with the most
118
- # efficient page size, i.e. min(limit, 1000)
119
- # @return [Array] Array of up to limit results
120
- def list(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
121
- self.stream(
122
- status: status,
123
- unique_name: unique_name,
124
- date_created_after: date_created_after,
125
- date_created_before: date_created_before,
126
- limit: limit,
127
- page_size: page_size
128
- ).entries
129
- end
130
-
131
- ##
132
- # Streams RoomInstance records from the API as an Enumerable.
133
- # This operation lazily loads records as efficiently as possible until the limit
134
- # is reached.
135
- # @param [room.RoomStatus] status Read only the rooms with this status. Can be:
136
- # `in-progress` (default) or `completed`
137
- # @param [String] unique_name Read only rooms with the this `unique_name`.
138
- # @param [Time] date_created_after Read only rooms that started on or after this
139
- # date, given as `YYYY-MM-DD`.
140
- # @param [Time] date_created_before Read only rooms that started before this date,
141
- # given as `YYYY-MM-DD`.
142
- # @param [Integer] limit Upper limit for the number of records to return. stream()
143
- # guarantees to never return more than limit. Default is no limit.
144
- # @param [Integer] page_size Number of records to fetch per request, when
145
- # not set will use the default value of 50 records. If no page_size is defined
146
- # but a limit is defined, stream() will attempt to read the limit with the most
147
- # efficient page size, i.e. min(limit, 1000)
148
- # @return [Enumerable] Enumerable that will yield up to limit results
149
- def stream(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
150
- limits = @version.read_limits(limit, page_size)
151
-
152
- page = self.page(
153
- status: status,
154
- unique_name: unique_name,
155
- date_created_after: date_created_after,
156
- date_created_before: date_created_before,
157
- page_size: limits[:page_size],
158
- )
159
-
160
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
161
- end
162
-
163
- ##
164
- # When passed a block, yields RoomInstance records from the API.
165
- # This operation lazily loads records as efficiently as possible until the limit
166
- # is reached.
167
- def each
168
- limits = @version.read_limits
169
-
170
- page = self.page(page_size: limits[:page_size], )
171
-
172
- @version.stream(page,
17
+ module REST
18
+ class Video < VideoBase
19
+ class V1 < Version
20
+ class RoomList < ListResource
21
+ ##
22
+ # Initialize the RoomList
23
+ # @param [Version] version Version that contains the resource
24
+ # @return [RoomList] RoomList
25
+ def initialize(version)
26
+ super(version)
27
+ # Path Solution
28
+ @solution = { }
29
+ @uri = "/Rooms"
30
+
31
+ end
32
+ ##
33
+ # Create the RoomInstance
34
+ # @param [Boolean] enable_turn Deprecated, now always considered to be true.
35
+ # @param [RoomType] type
36
+ # @param [String] unique_name An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.
37
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info.
38
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be `POST` or `GET`.
39
+ # @param [String] max_participants The maximum number of concurrent Participants allowed in the room. Peer-to-peer rooms can have up to 10 Participants. Small Group rooms can have up to 4 Participants. Group rooms can have up to 50 Participants.
40
+ # @param [Boolean] record_participants_on_connect Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***
41
+ # @param [Array[VideoCodec]] video_codecs An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***
42
+ # @param [String] media_region The region for the media server in Group Rooms. Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers). ***This feature is not available in `peer-to-peer` rooms.***
43
+ # @param [Object] recording_rules A collection of Recording Rules that describe how to include or exclude matching tracks for recording
44
+ # @param [Boolean] audio_only When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.
45
+ # @param [String] max_participant_duration The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
46
+ # @param [String] empty_room_timeout Configures how long (in minutes) a room will remain active after last participant leaves. Valid values range from 1 to 60 minutes (no fractions).
47
+ # @param [String] unused_room_timeout Configures how long (in minutes) a room will remain active if no one joins. Valid values range from 1 to 60 minutes (no fractions).
48
+ # @param [Boolean] large_room When set to true, indicated that this is the large room.
49
+ # @return [RoomInstance] Created RoomInstance
50
+ def create(
51
+ enable_turn: :unset,
52
+ type: :unset,
53
+ unique_name: :unset,
54
+ status_callback: :unset,
55
+ status_callback_method: :unset,
56
+ max_participants: :unset,
57
+ record_participants_on_connect: :unset,
58
+ video_codecs: :unset,
59
+ media_region: :unset,
60
+ recording_rules: :unset,
61
+ audio_only: :unset,
62
+ max_participant_duration: :unset,
63
+ empty_room_timeout: :unset,
64
+ unused_room_timeout: :unset,
65
+ large_room: :unset
66
+ )
67
+
68
+ data = Twilio::Values.of({
69
+ 'EnableTurn' => enable_turn,
70
+ 'Type' => type,
71
+ 'UniqueName' => unique_name,
72
+ 'StatusCallback' => status_callback,
73
+ 'StatusCallbackMethod' => status_callback_method,
74
+ 'MaxParticipants' => max_participants,
75
+ 'RecordParticipantsOnConnect' => record_participants_on_connect,
76
+ 'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
77
+ 'MediaRegion' => media_region,
78
+ 'RecordingRules' => Twilio.serialize_object(recording_rules),
79
+ 'AudioOnly' => audio_only,
80
+ 'MaxParticipantDuration' => max_participant_duration,
81
+ 'EmptyRoomTimeout' => empty_room_timeout,
82
+ 'UnusedRoomTimeout' => unused_room_timeout,
83
+ 'LargeRoom' => large_room,
84
+ })
85
+
86
+ payload = @version.create('POST', @uri, data: data)
87
+ RoomInstance.new(
88
+ @version,
89
+ payload,
90
+ )
91
+ end
92
+
93
+
94
+ ##
95
+ # Lists RoomInstance records from the API as a list.
96
+ # Unlike stream(), this operation is eager and will load `limit` records into
97
+ # memory before returning.
98
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
99
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
100
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
101
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
102
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
103
+ # guarantees to never return more than limit. Default is no limit
104
+ # @param [Integer] page_size Number of records to fetch per request, when
105
+ # not set will use the default value of 50 records. If no page_size is defined
106
+ # but a limit is defined, stream() will attempt to read the limit with the most
107
+ # efficient page size, i.e. min(limit, 1000)
108
+ # @return [Array] Array of up to limit results
109
+ def list(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
110
+ self.stream(
111
+ status: status,
112
+ unique_name: unique_name,
113
+ date_created_after: date_created_after,
114
+ date_created_before: date_created_before,
115
+ limit: limit,
116
+ page_size: page_size
117
+ ).entries
118
+ end
119
+
120
+ ##
121
+ # Streams Instance records from the API as an Enumerable.
122
+ # This operation lazily loads records as efficiently as possible until the limit
123
+ # is reached.
124
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
125
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
126
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
127
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
128
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
129
+ # guarantees to never return more than limit. Default is no limit
130
+ # @param [Integer] page_size Number of records to fetch per request, when
131
+ # not set will use the default value of 50 records. If no page_size is defined
132
+ # but a limit is defined, stream() will attempt to read the limit with the most
133
+ # efficient page size, i.e. min(limit, 1000)
134
+ # @return [Enumerable] Enumerable that will yield up to limit results
135
+ def stream(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
136
+ limits = @version.read_limits(limit, page_size)
137
+
138
+ page = self.page(
139
+ status: status,
140
+ unique_name: unique_name,
141
+ date_created_after: date_created_after,
142
+ date_created_before: date_created_before,
143
+ page_size: limits[:page_size], )
144
+
145
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
146
+ end
147
+
148
+ ##
149
+ # When passed a block, yields RoomInstance records from the API.
150
+ # This operation lazily loads records as efficiently as possible until the limit
151
+ # is reached.
152
+ def each
153
+ limits = @version.read_limits
154
+
155
+ page = self.page(page_size: limits[:page_size], )
156
+
157
+ @version.stream(page,
173
158
  limit: limits[:limit],
174
159
  page_limit: limits[:page_limit]).each {|x| yield x}
175
- end
176
-
177
- ##
178
- # Retrieve a single page of RoomInstance records from the API.
179
- # Request is executed immediately.
180
- # @param [room.RoomStatus] status Read only the rooms with this status. Can be:
181
- # `in-progress` (default) or `completed`
182
- # @param [String] unique_name Read only rooms with the this `unique_name`.
183
- # @param [Time] date_created_after Read only rooms that started on or after this
184
- # date, given as `YYYY-MM-DD`.
185
- # @param [Time] date_created_before Read only rooms that started before this date,
186
- # given as `YYYY-MM-DD`.
187
- # @param [String] page_token PageToken provided by the API
188
- # @param [Integer] page_number Page Number, this value is simply for client state
189
- # @param [Integer] page_size Number of records to return, defaults to 50
190
- # @return [Page] Page of RoomInstance
191
- def page(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
192
- params = Twilio::Values.of({
193
- 'Status' => status,
194
- 'UniqueName' => unique_name,
195
- 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
196
- 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
197
- 'PageToken' => page_token,
198
- 'Page' => page_number,
199
- 'PageSize' => page_size,
200
- })
201
-
202
- response = @version.page('GET', @uri, params: params)
203
-
204
- RoomPage.new(@version, response, @solution)
205
- end
206
-
207
- ##
208
- # Retrieve a single page of RoomInstance records from the API.
209
- # Request is executed immediately.
210
- # @param [String] target_url API-generated URL for the requested results page
211
- # @return [Page] Page of RoomInstance
212
- def get_page(target_url)
213
- response = @version.domain.request(
214
- 'GET',
215
- target_url
216
- )
217
- RoomPage.new(@version, response, @solution)
218
- end
219
-
220
- ##
221
- # Provide a user friendly representation
222
- def to_s
223
- '#<Twilio.Video.V1.RoomList>'
224
- end
225
- end
226
-
227
- class RoomPage < Page
228
- ##
229
- # Initialize the RoomPage
230
- # @param [Version] version Version that contains the resource
231
- # @param [Response] response Response from the API
232
- # @param [Hash] solution Path solution for the resource
233
- # @return [RoomPage] RoomPage
234
- def initialize(version, response, solution)
235
- super(version, response)
236
-
237
- # Path Solution
238
- @solution = solution
239
- end
240
-
241
- ##
242
- # Build an instance of RoomInstance
243
- # @param [Hash] payload Payload response from the API
244
- # @return [RoomInstance] RoomInstance
245
- def get_instance(payload)
246
- RoomInstance.new(@version, payload, )
247
- end
248
-
249
- ##
250
- # Provide a user friendly representation
251
- def to_s
252
- '<Twilio.Video.V1.RoomPage>'
253
- end
254
- end
255
-
256
- class RoomContext < InstanceContext
257
- ##
258
- # Initialize the RoomContext
259
- # @param [Version] version Version that contains the resource
260
- # @param [String] sid The SID of the Room resource to fetch.
261
- # @return [RoomContext] RoomContext
262
- def initialize(version, sid)
263
- super(version)
264
-
265
- # Path Solution
266
- @solution = {sid: sid, }
267
- @uri = "/Rooms/#{@solution[:sid]}"
268
-
269
- # Dependents
270
- @recordings = nil
271
- @participants = nil
272
- @recording_rules = nil
273
- end
274
-
275
- ##
276
- # Fetch the RoomInstance
277
- # @return [RoomInstance] Fetched RoomInstance
278
- def fetch
279
- payload = @version.fetch('GET', @uri)
280
-
281
- RoomInstance.new(@version, payload, sid: @solution[:sid], )
282
- end
283
-
284
- ##
285
- # Update the RoomInstance
286
- # @param [room.RoomStatus] status The new status of the resource. Set to
287
- # `completed` to end the room.
288
- # @return [RoomInstance] Updated RoomInstance
289
- def update(status: nil)
290
- data = Twilio::Values.of({'Status' => status, })
291
-
292
- payload = @version.update('POST', @uri, data: data)
293
-
294
- RoomInstance.new(@version, payload, sid: @solution[:sid], )
295
- end
296
-
297
- ##
298
- # Access the recordings
299
- # @return [RoomRecordingList]
300
- # @return [RoomRecordingContext] if sid was passed.
301
- def recordings(sid=:unset)
302
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
303
-
304
- if sid != :unset
305
- return RoomRecordingContext.new(@version, @solution[:sid], sid, )
306
- end
307
-
308
- unless @recordings
309
- @recordings = RoomRecordingList.new(@version, room_sid: @solution[:sid], )
310
- end
311
-
312
- @recordings
313
- end
314
-
315
- ##
316
- # Access the participants
317
- # @return [ParticipantList]
318
- # @return [ParticipantContext] if sid was passed.
319
- def participants(sid=:unset)
320
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
321
-
322
- if sid != :unset
323
- return ParticipantContext.new(@version, @solution[:sid], sid, )
324
- end
325
-
326
- unless @participants
327
- @participants = ParticipantList.new(@version, room_sid: @solution[:sid], )
328
- end
329
-
330
- @participants
331
- end
332
-
333
- ##
334
- # Access the recording_rules
335
- # @return [RecordingRulesList]
336
- # @return [RecordingRulesContext]
337
- def recording_rules
338
- unless @recording_rules
339
- @recording_rules = RecordingRulesList.new(@version, room_sid: @solution[:sid], )
340
- end
341
-
342
- @recording_rules
343
- end
344
-
345
- ##
346
- # Provide a user friendly representation
347
- def to_s
348
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
349
- "#<Twilio.Video.V1.RoomContext #{context}>"
350
- end
351
-
352
- ##
353
- # Provide a detailed, user friendly representation
354
- def inspect
355
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
356
- "#<Twilio.Video.V1.RoomContext #{context}>"
357
- end
358
- end
160
+ end
161
+
162
+ ##
163
+ # Retrieve a single page of RoomInstance records from the API.
164
+ # Request is executed immediately.
165
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
166
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
167
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
168
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
169
+ # @param [String] page_token PageToken provided by the API
170
+ # @param [Integer] page_number Page Number, this value is simply for client state
171
+ # @param [Integer] page_size Number of records to return, defaults to 50
172
+ # @return [Page] Page of RoomInstance
173
+ def page(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
174
+ params = Twilio::Values.of({
175
+
176
+ 'Status' => status,
177
+
178
+ 'UniqueName' => unique_name,
179
+
180
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
181
+
182
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
183
+
184
+ 'PageToken' => page_token,
185
+ 'Page' => page_number,
186
+ 'PageSize' => page_size,
187
+ })
188
+
189
+ response = @version.page('GET', @uri, params: params)
190
+
191
+ RoomPage.new(@version, response, @solution)
192
+ end
193
+
194
+ ##
195
+ # Retrieve a single page of RoomInstance records from the API.
196
+ # Request is executed immediately.
197
+ # @param [String] target_url API-generated URL for the requested results page
198
+ # @return [Page] Page of RoomInstance
199
+ def get_page(target_url)
200
+ response = @version.domain.request(
201
+ 'GET',
202
+ target_url
203
+ )
204
+ RoomPage.new(@version, response, @solution)
205
+ end
206
+
207
+
208
+
209
+ # Provide a user friendly representation
210
+ def to_s
211
+ '#<Twilio.Video.V1.RoomList>'
212
+ end
213
+ end
214
+
215
+
216
+ class RoomContext < InstanceContext
217
+ ##
218
+ # Initialize the RoomContext
219
+ # @param [Version] version Version that contains the resource
220
+ # @param [String] sid The SID of the Room resource to update.
221
+ # @return [RoomContext] RoomContext
222
+ def initialize(version, sid)
223
+ super(version)
224
+
225
+ # Path Solution
226
+ @solution = { sid: sid, }
227
+ @uri = "/Rooms/#{@solution[:sid]}"
228
+
229
+ # Dependents
230
+ @recording_rules = nil
231
+ @participants = nil
232
+ @recordings = nil
233
+ end
234
+ ##
235
+ # Fetch the RoomInstance
236
+ # @return [RoomInstance] Fetched RoomInstance
237
+ def fetch
238
+
239
+ payload = @version.fetch('GET', @uri)
240
+ RoomInstance.new(
241
+ @version,
242
+ payload,
243
+ sid: @solution[:sid],
244
+ )
245
+ end
246
+
247
+ ##
248
+ # Update the RoomInstance
249
+ # @param [RoomStatus] status
250
+ # @return [RoomInstance] Updated RoomInstance
251
+ def update(
252
+ status: nil
253
+ )
254
+
255
+ data = Twilio::Values.of({
256
+ 'Status' => status,
257
+ })
258
+
259
+ payload = @version.update('POST', @uri, data: data)
260
+ RoomInstance.new(
261
+ @version,
262
+ payload,
263
+ sid: @solution[:sid],
264
+ )
265
+ end
266
+
267
+ ##
268
+ # Access the recording_rules
269
+ # @return [RecordingRulesList]
270
+ # @return [RecordingRulesContext]
271
+ def recording_rules
272
+ unless @recording_rules
273
+ @recording_rules = RecordingRulesList.new(
274
+ @version, room_sid: @solution[:sid], )
275
+ end
276
+ @recording_rules
277
+ end
278
+ ##
279
+ # Access the participants
280
+ # @return [ParticipantList]
281
+ # @return [ParticipantContext] if sid was passed.
282
+ def participants(sid=:unset)
283
+
284
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
285
+
286
+ if sid != :unset
287
+ return ParticipantContext.new(@version, @solution[:sid],sid )
288
+ end
289
+
290
+ unless @participants
291
+ @participants = ParticipantList.new(
292
+ @version, room_sid: @solution[:sid], )
293
+ end
294
+
295
+ @participants
296
+ end
297
+ ##
298
+ # Access the recordings
299
+ # @return [RoomRecordingList]
300
+ # @return [RoomRecordingContext] if sid was passed.
301
+ def recordings(sid=:unset)
302
+
303
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
304
+
305
+ if sid != :unset
306
+ return RoomRecordingContext.new(@version, @solution[:sid],sid )
307
+ end
308
+
309
+ unless @recordings
310
+ @recordings = RoomRecordingList.new(
311
+ @version, room_sid: @solution[:sid], )
312
+ end
313
+
314
+ @recordings
315
+ end
316
+
317
+ ##
318
+ # Provide a user friendly representation
319
+ def to_s
320
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
321
+ "#<Twilio.Video.V1.RoomContext #{context}>"
322
+ end
323
+
324
+ ##
325
+ # Provide a detailed, user friendly representation
326
+ def inspect
327
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
328
+ "#<Twilio.Video.V1.RoomContext #{context}>"
329
+ end
330
+ end
331
+
332
+ class RoomPage < Page
333
+ ##
334
+ # Initialize the RoomPage
335
+ # @param [Version] version Version that contains the resource
336
+ # @param [Response] response Response from the API
337
+ # @param [Hash] solution Path solution for the resource
338
+ # @return [RoomPage] RoomPage
339
+ def initialize(version, response, solution)
340
+ super(version, response)
341
+
342
+ # Path Solution
343
+ @solution = solution
344
+ end
345
+
346
+ ##
347
+ # Build an instance of RoomInstance
348
+ # @param [Hash] payload Payload response from the API
349
+ # @return [RoomInstance] RoomInstance
350
+ def get_instance(payload)
351
+ RoomInstance.new(@version, payload)
352
+ end
353
+
354
+ ##
355
+ # Provide a user friendly representation
356
+ def to_s
357
+ '<Twilio.Video.V1.RoomPage>'
358
+ end
359
+ end
360
+ class RoomInstance < InstanceResource
361
+ ##
362
+ # Initialize the RoomInstance
363
+ # @param [Version] version Version that contains the resource
364
+ # @param [Hash] payload payload that contains response from Twilio
365
+ # @param [String] account_sid The SID of the
366
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Room
367
+ # resource.
368
+ # @param [String] sid The SID of the Call resource to fetch.
369
+ # @return [RoomInstance] RoomInstance
370
+ def initialize(version, payload , sid: nil)
371
+ super(version)
372
+
373
+ # Marshaled Properties
374
+ @properties = {
375
+ 'sid' => payload['sid'],
376
+ 'status' => payload['status'],
377
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
378
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
379
+ 'account_sid' => payload['account_sid'],
380
+ 'enable_turn' => payload['enable_turn'],
381
+ 'unique_name' => payload['unique_name'],
382
+ 'status_callback' => payload['status_callback'],
383
+ 'status_callback_method' => payload['status_callback_method'],
384
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
385
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
386
+ 'type' => payload['type'],
387
+ 'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
388
+ 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['max_participant_duration'] : payload['max_participant_duration'].to_i,
389
+ 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
390
+ 'record_participants_on_connect' => payload['record_participants_on_connect'],
391
+ 'video_codecs' => payload['video_codecs'],
392
+ 'media_region' => payload['media_region'],
393
+ 'audio_only' => payload['audio_only'],
394
+ 'empty_room_timeout' => payload['empty_room_timeout'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
395
+ 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i,
396
+ 'large_room' => payload['large_room'],
397
+ 'url' => payload['url'],
398
+ 'links' => payload['links'],
399
+ }
400
+
401
+ # Context
402
+ @instance_context = nil
403
+ @params = { 'sid' => sid || @properties['sid'] , }
404
+ end
405
+
406
+ ##
407
+ # Generate an instance context for the instance, the context is capable of
408
+ # performing various actions. All instance actions are proxied to the context
409
+ # @return [RoomContext] CallContext for this CallInstance
410
+ def context
411
+ unless @instance_context
412
+ @instance_context = RoomContext.new(@version , @params['sid'])
413
+ end
414
+ @instance_context
415
+ end
416
+
417
+ ##
418
+ # @return [String] The unique string that we created to identify the Room resource.
419
+ def sid
420
+ @properties['sid']
421
+ end
422
+
423
+ ##
424
+ # @return [RoomStatus]
425
+ def status
426
+ @properties['status']
427
+ end
428
+
429
+ ##
430
+ # @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.
431
+ def date_created
432
+ @properties['date_created']
433
+ end
434
+
435
+ ##
436
+ # @return [Time] The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
437
+ def date_updated
438
+ @properties['date_updated']
439
+ end
440
+
441
+ ##
442
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Room resource.
443
+ def account_sid
444
+ @properties['account_sid']
445
+ end
446
+
447
+ ##
448
+ # @return [Boolean] Deprecated, now always considered to be true.
449
+ def enable_turn
450
+ @properties['enable_turn']
451
+ end
452
+
453
+ ##
454
+ # @return [String] An application-defined string that uniquely identifies the resource. It can be used as a `room_sid` in place of the resource's `sid` in the URL to address the resource, assuming it does not contain any [reserved characters](https://tools.ietf.org/html/rfc3986#section-2.2) that would need to be URL encoded. This value is unique for `in-progress` rooms. SDK clients can use this name to connect to the room. REST API clients can use this name in place of the Room SID to interact with the room as long as the room is `in-progress`.
455
+ def unique_name
456
+ @properties['unique_name']
457
+ end
458
+
459
+ ##
460
+ # @return [String] The URL we call using the `status_callback_method` to send status information to your application on every room event. See [Status Callbacks](https://www.twilio.com/docs/video/api/status-callbacks) for more info.
461
+ def status_callback
462
+ @properties['status_callback']
463
+ end
464
+
465
+ ##
466
+ # @return [String] The HTTP method we use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
467
+ def status_callback_method
468
+ @properties['status_callback_method']
469
+ end
470
+
471
+ ##
472
+ # @return [Time] The UTC end time of the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
473
+ def end_time
474
+ @properties['end_time']
475
+ end
476
+
477
+ ##
478
+ # @return [String] The duration of the room in seconds.
479
+ def duration
480
+ @properties['duration']
481
+ end
482
+
483
+ ##
484
+ # @return [RoomType]
485
+ def type
486
+ @properties['type']
487
+ end
488
+
489
+ ##
490
+ # @return [String] The maximum number of concurrent Participants allowed in the room.
491
+ def max_participants
492
+ @properties['max_participants']
493
+ end
494
+
495
+ ##
496
+ # @return [String] The maximum number of seconds a Participant can be connected to the room. The maximum possible value is 86400 seconds (24 hours). The default is 14400 seconds (4 hours).
497
+ def max_participant_duration
498
+ @properties['max_participant_duration']
499
+ end
500
+
501
+ ##
502
+ # @return [String] The maximum number of published audio, video, and data tracks all participants combined are allowed to publish in the room at the same time. Check [Programmable Video Limits](https://www.twilio.com/docs/video/programmable-video-limits) for more details. If it is set to 0 it means unconstrained.
503
+ def max_concurrent_published_tracks
504
+ @properties['max_concurrent_published_tracks']
505
+ end
506
+
507
+ ##
508
+ # @return [Boolean] Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***
509
+ def record_participants_on_connect
510
+ @properties['record_participants_on_connect']
511
+ end
512
+
513
+ ##
514
+ # @return [Array<VideoCodec>] An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`. ***This feature is not available in `peer-to-peer` rooms***
515
+ def video_codecs
516
+ @properties['video_codecs']
517
+ end
518
+
519
+ ##
520
+ # @return [String] The region for the media server in Group Rooms. Can be: one of the [available Media Regions](https://www.twilio.com/docs/video/ip-address-whitelisting#media-servers). ***This feature is not available in `peer-to-peer` rooms.***
521
+ def media_region
522
+ @properties['media_region']
523
+ end
524
+
525
+ ##
526
+ # @return [Boolean] When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed. Group rooms only.
527
+ def audio_only
528
+ @properties['audio_only']
529
+ end
530
+
531
+ ##
532
+ # @return [String] Specifies how long (in minutes) a room will remain active after last participant leaves. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
533
+ def empty_room_timeout
534
+ @properties['empty_room_timeout']
535
+ end
536
+
537
+ ##
538
+ # @return [String] Specifies how long (in minutes) a room will remain active if no one joins. Can be configured when creating a room via REST API. For Ad-Hoc rooms this value cannot be changed.
539
+ def unused_room_timeout
540
+ @properties['unused_room_timeout']
541
+ end
542
+
543
+ ##
544
+ # @return [Boolean] Indicates if this is a large room.
545
+ def large_room
546
+ @properties['large_room']
547
+ end
548
+
549
+ ##
550
+ # @return [String] The absolute URL of the resource.
551
+ def url
552
+ @properties['url']
553
+ end
554
+
555
+ ##
556
+ # @return [Hash] The URLs of related resources.
557
+ def links
558
+ @properties['links']
559
+ end
560
+
561
+ ##
562
+ # Fetch the RoomInstance
563
+ # @return [RoomInstance] Fetched RoomInstance
564
+ def fetch
565
+
566
+ context.fetch
567
+ end
568
+
569
+ ##
570
+ # Update the RoomInstance
571
+ # @param [RoomStatus] status
572
+ # @return [RoomInstance] Updated RoomInstance
573
+ def update(
574
+ status: nil
575
+ )
576
+
577
+ context.update(
578
+ status: status,
579
+ )
580
+ end
581
+
582
+ ##
583
+ # Access the recording_rules
584
+ # @return [recording_rules] recording_rules
585
+ def recording_rules
586
+ context.recording_rules
587
+ end
588
+
589
+ ##
590
+ # Access the participants
591
+ # @return [participants] participants
592
+ def participants
593
+ context.participants
594
+ end
595
+
596
+ ##
597
+ # Access the recordings
598
+ # @return [recordings] recordings
599
+ def recordings
600
+ context.recordings
601
+ end
602
+
603
+ ##
604
+ # Provide a user friendly representation
605
+ def to_s
606
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
607
+ "<Twilio.Video.V1.RoomInstance #{values}>"
608
+ end
609
+
610
+ ##
611
+ # Provide a detailed, user friendly representation
612
+ def inspect
613
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
614
+ "<Twilio.Video.V1.RoomInstance #{values}>"
615
+ end
616
+ end
359
617
 
360
- class RoomInstance < InstanceResource
361
- ##
362
- # Initialize the RoomInstance
363
- # @param [Version] version Version that contains the resource
364
- # @param [Hash] payload payload that contains response from Twilio
365
- # @param [String] sid The SID of the Room resource to fetch.
366
- # @return [RoomInstance] RoomInstance
367
- def initialize(version, payload, sid: nil)
368
- super(version)
369
-
370
- # Marshaled Properties
371
- @properties = {
372
- 'sid' => payload['sid'],
373
- 'status' => payload['status'],
374
- 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
375
- 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
376
- 'account_sid' => payload['account_sid'],
377
- 'enable_turn' => payload['enable_turn'],
378
- 'unique_name' => payload['unique_name'],
379
- 'status_callback' => payload['status_callback'],
380
- 'status_callback_method' => payload['status_callback_method'],
381
- 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
382
- 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
383
- 'type' => payload['type'],
384
- 'max_participants' => payload['max_participants'].to_i,
385
- 'max_participant_duration' => payload['max_participant_duration'].to_i,
386
- 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
387
- 'record_participants_on_connect' => payload['record_participants_on_connect'],
388
- 'video_codecs' => payload['video_codecs'],
389
- 'media_region' => payload['media_region'],
390
- 'audio_only' => payload['audio_only'],
391
- 'empty_room_timeout' => payload['empty_room_timeout'].to_i,
392
- 'unused_room_timeout' => payload['unused_room_timeout'].to_i,
393
- 'large_room' => payload['large_room'],
394
- 'url' => payload['url'],
395
- 'links' => payload['links'],
396
- }
397
-
398
- # Context
399
- @instance_context = nil
400
- @params = {'sid' => sid || @properties['sid'], }
401
- end
402
-
403
- ##
404
- # Generate an instance context for the instance, the context is capable of
405
- # performing various actions. All instance actions are proxied to the context
406
- # @return [RoomContext] RoomContext for this RoomInstance
407
- def context
408
- unless @instance_context
409
- @instance_context = RoomContext.new(@version, @params['sid'], )
410
618
  end
411
- @instance_context
412
- end
413
-
414
- ##
415
- # @return [String] The unique string that identifies the resource
416
- def sid
417
- @properties['sid']
418
- end
419
-
420
- ##
421
- # @return [room.RoomStatus] The status of the room
422
- def status
423
- @properties['status']
424
- end
425
-
426
- ##
427
- # @return [Time] The ISO 8601 date and time in GMT when the resource was created
428
- def date_created
429
- @properties['date_created']
430
- end
431
-
432
- ##
433
- # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
434
- def date_updated
435
- @properties['date_updated']
436
- end
437
-
438
- ##
439
- # @return [String] The SID of the Account that created the resource
440
- def account_sid
441
- @properties['account_sid']
442
- end
443
-
444
- ##
445
- # @return [Boolean] Enable Twilio's Network Traversal TURN service
446
- def enable_turn
447
- @properties['enable_turn']
448
- end
449
-
450
- ##
451
- # @return [String] An application-defined string that uniquely identifies the resource
452
- def unique_name
453
- @properties['unique_name']
454
- end
455
-
456
- ##
457
- # @return [String] The URL to send status information to your application
458
- def status_callback
459
- @properties['status_callback']
460
- end
461
-
462
- ##
463
- # @return [String] The HTTP method we use to call status_callback
464
- def status_callback_method
465
- @properties['status_callback_method']
466
- end
467
-
468
- ##
469
- # @return [Time] The UTC end time of the room in UTC ISO 8601 format
470
- def end_time
471
- @properties['end_time']
472
- end
473
-
474
- ##
475
- # @return [String] The duration of the room in seconds
476
- def duration
477
- @properties['duration']
478
- end
479
-
480
- ##
481
- # @return [room.RoomType] The type of room
482
- def type
483
- @properties['type']
484
- end
485
-
486
- ##
487
- # @return [String] The maximum number of concurrent Participants allowed in the room
488
- def max_participants
489
- @properties['max_participants']
490
- end
491
-
492
- ##
493
- # @return [String] The maximum number of seconds a Participant can be connected to the room
494
- def max_participant_duration
495
- @properties['max_participant_duration']
496
- end
497
-
498
- ##
499
- # @return [String] The maximum number of published tracks allowed in the room at the same time
500
- def max_concurrent_published_tracks
501
- @properties['max_concurrent_published_tracks']
502
- end
503
-
504
- ##
505
- # @return [Boolean] Whether to start recording when Participants connect
506
- def record_participants_on_connect
507
- @properties['record_participants_on_connect']
508
- end
509
-
510
- ##
511
- # @return [Array[room.VideoCodec]] An array of the video codecs that are supported when publishing a track in the room
512
- def video_codecs
513
- @properties['video_codecs']
514
- end
515
-
516
- ##
517
- # @return [String] The region for the media server in Group Rooms
518
- def media_region
519
- @properties['media_region']
520
- end
521
-
522
- ##
523
- # @return [Boolean] Indicates whether the room will only contain audio track participants for group rooms.
524
- def audio_only
525
- @properties['audio_only']
526
- end
527
-
528
- ##
529
- # @return [String] The time a room will remain active after last participant leaves.
530
- def empty_room_timeout
531
- @properties['empty_room_timeout']
532
- end
533
-
534
- ##
535
- # @return [String] The time a room will remain active when no one joins.
536
- def unused_room_timeout
537
- @properties['unused_room_timeout']
538
- end
539
-
540
- ##
541
- # @return [Boolean] Indicates if this is a large room.
542
- def large_room
543
- @properties['large_room']
544
- end
545
-
546
- ##
547
- # @return [String] The absolute URL of the resource
548
- def url
549
- @properties['url']
550
- end
551
-
552
- ##
553
- # @return [String] The URLs of related resources
554
- def links
555
- @properties['links']
556
- end
557
-
558
- ##
559
- # Fetch the RoomInstance
560
- # @return [RoomInstance] Fetched RoomInstance
561
- def fetch
562
- context.fetch
563
- end
564
-
565
- ##
566
- # Update the RoomInstance
567
- # @param [room.RoomStatus] status The new status of the resource. Set to
568
- # `completed` to end the room.
569
- # @return [RoomInstance] Updated RoomInstance
570
- def update(status: nil)
571
- context.update(status: status, )
572
- end
573
-
574
- ##
575
- # Access the recordings
576
- # @return [recordings] recordings
577
- def recordings
578
- context.recordings
579
- end
580
-
581
- ##
582
- # Access the participants
583
- # @return [participants] participants
584
- def participants
585
- context.participants
586
- end
587
-
588
- ##
589
- # Access the recording_rules
590
- # @return [recording_rules] recording_rules
591
- def recording_rules
592
- context.recording_rules
593
- end
594
-
595
- ##
596
- # Provide a user friendly representation
597
- def to_s
598
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
599
- "<Twilio.Video.V1.RoomInstance #{values}>"
600
- end
601
-
602
- ##
603
- # Provide a detailed, user friendly representation
604
- def inspect
605
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
606
- "<Twilio.Video.V1.RoomInstance #{values}>"
607
- end
608
619
  end
609
- end
610
620
  end
611
- end
612
- end
621
+ end