twilio-ruby 5.77.0 → 6.0.0.pre.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +10 -0
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +31 -94
  5. data/CONTRIBUTING.md +7 -1
  6. data/Makefile +3 -0
  7. data/README.md +51 -132
  8. data/UPGRADE.md +7 -0
  9. data/cluster_spec.rb +77 -0
  10. data/lib/twilio-ruby/base/client_base.rb +124 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  12. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +372 -332
  13. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +372 -332
  14. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  15. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  16. data/lib/twilio-ruby/rest/accounts/v1.rb +45 -42
  17. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  18. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  19. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +617 -605
  22. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +328 -320
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +413 -0
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +413 -0
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +413 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +413 -0
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +413 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +413 -0
  29. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +413 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +468 -0
  31. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +405 -417
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +498 -511
  38. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -641
  39. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +839 -641
  40. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +156 -153
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +228 -240
  42. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +997 -1050
  43. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +650 -756
  44. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +455 -458
  45. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +506 -493
  46. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +427 -407
  47. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +322 -351
  48. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +404 -418
  49. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +541 -554
  50. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +541 -553
  51. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +541 -553
  52. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  53. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +336 -302
  54. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  55. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +344 -350
  56. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +627 -641
  57. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  58. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  59. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +405 -399
  60. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +371 -358
  61. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +341 -338
  62. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +431 -390
  63. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +359 -380
  64. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +374 -385
  65. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +365 -372
  66. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +522 -513
  67. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +420 -408
  68. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +336 -306
  69. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +376 -368
  70. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +404 -373
  71. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +347 -0
  72. 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
  73. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  74. 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
  75. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  77. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +340 -339
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +340 -338
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +663 -645
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +413 -421
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +404 -374
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  83. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  84. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +365 -350
  85. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +319 -339
  86. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +319 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +319 -339
  88. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +319 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +319 -339
  90. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +319 -339
  91. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +319 -339
  92. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +319 -339
  93. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +386 -416
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +489 -484
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  96. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  97. data/lib/twilio-ruby/rest/api/v2010/account.rb +1061 -943
  98. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  99. data/lib/twilio-ruby/rest/api.rb +25 -34
  100. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  101. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +234 -213
  102. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +210 -207
  103. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +380 -388
  104. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +433 -411
  105. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +403 -385
  106. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +471 -462
  107. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +234 -211
  108. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +363 -375
  109. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +427 -445
  110. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +242 -244
  111. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +215 -226
  112. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +527 -500
  113. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +427 -413
  114. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +692 -640
  115. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +201 -188
  116. data/lib/twilio-ruby/rest/autopilot/v1.rb +48 -45
  117. data/lib/twilio-ruby/rest/autopilot.rb +3 -34
  118. data/lib/twilio-ruby/rest/autopilot_base.rb +38 -0
  119. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +300 -279
  120. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +299 -279
  121. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  122. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +253 -235
  123. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  124. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  125. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  126. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  127. data/lib/twilio-ruby/rest/chat/v1/credential.rb +420 -403
  128. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +375 -391
  129. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +423 -440
  130. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +440 -437
  131. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +547 -515
  132. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +397 -367
  133. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  134. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +471 -440
  135. data/lib/twilio-ruby/rest/chat/v1/service.rb +871 -894
  136. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  137. data/lib/twilio-ruby/rest/chat/v2/credential.rb +420 -401
  138. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +372 -370
  139. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +375 -386
  140. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +487 -527
  141. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +515 -533
  142. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +441 -467
  143. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +623 -605
  144. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +397 -369
  145. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +365 -381
  146. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +407 -419
  147. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +518 -491
  148. data/lib/twilio-ruby/rest/chat/v2/service.rb +777 -778
  149. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  150. data/lib/twilio-ruby/rest/chat/v3/channel.rb +289 -267
  151. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  152. data/lib/twilio-ruby/rest/chat.rb +4 -48
  153. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  154. data/lib/twilio-ruby/rest/client.rb +314 -574
  155. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +201 -188
  156. data/lib/twilio-ruby/rest/content/v1/content.rb +354 -336
  157. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  158. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  159. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  160. data/lib/twilio-ruby/rest/content.rb +2 -46
  161. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  162. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +464 -444
  163. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  164. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  165. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +335 -344
  166. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +534 -510
  167. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +499 -495
  168. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +426 -403
  169. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +594 -590
  170. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +426 -409
  171. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +307 -304
  172. data/lib/twilio-ruby/rest/conversations/v1/role.rb +385 -356
  173. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +365 -373
  174. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  175. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  176. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  177. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +342 -371
  178. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +542 -550
  179. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +508 -530
  180. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +435 -438
  181. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +609 -626
  182. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +313 -317
  183. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +397 -380
  184. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +447 -455
  185. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +489 -474
  186. data/lib/twilio-ruby/rest/conversations/v1/service.rb +493 -447
  187. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +446 -435
  188. data/lib/twilio-ruby/rest/conversations/v1/user.rb +476 -441
  189. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  190. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  191. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  192. data/lib/twilio-ruby/rest/events/v1/event_type.rb +306 -288
  193. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  194. data/lib/twilio-ruby/rest/events/v1/schema.rb +232 -218
  195. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  196. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  197. data/lib/twilio-ruby/rest/events/v1/sink.rb +447 -408
  198. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +368 -339
  199. data/lib/twilio-ruby/rest/events/v1/subscription.rb +423 -387
  200. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  201. data/lib/twilio-ruby/rest/events.rb +5 -34
  202. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +447 -387
  204. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +366 -330
  205. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +489 -496
  206. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -570
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +329 -306
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +223 -208
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  210. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  211. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  212. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +427 -403
  213. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  214. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +135 -124
  216. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  217. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +245 -229
  218. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +329 -319
  219. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +409 -398
  220. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +252 -225
  221. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +379 -331
  222. data/lib/twilio-ruby/rest/flex_api/v1.rb +205 -215
  223. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +140 -127
  224. data/lib/twilio-ruby/rest/flex_api/v2.rb +33 -28
  225. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  226. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  227. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  228. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  229. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  230. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  231. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +312 -315
  232. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +271 -255
  234. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +244 -225
  235. data/lib/twilio-ruby/rest/insights/v1/call.rb +268 -236
  236. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +461 -439
  237. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +485 -467
  238. data/lib/twilio-ruby/rest/insights/v1/conference.rb +509 -502
  239. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  240. data/lib/twilio-ruby/rest/insights/v1/room.rb +497 -489
  241. data/lib/twilio-ruby/rest/insights/v1/setting.rb +246 -207
  242. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  243. data/lib/twilio-ruby/rest/insights.rb +6 -34
  244. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  245. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +420 -364
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +375 -359
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +423 -397
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +440 -409
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +547 -488
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +397 -347
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +471 -418
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +871 -779
  254. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  255. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +420 -364
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +372 -343
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +375 -359
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +487 -451
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +515 -479
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +441 -411
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +623 -555
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +397 -347
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +365 -351
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +398 -384
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +518 -467
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +777 -689
  267. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  268. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  269. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +349 -335
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  274. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  275. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +413 -387
  277. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -389
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  279. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +425 -393
  280. data/lib/twilio-ruby/rest/media/v1.rb +72 -69
  281. data/lib/twilio-ruby/rest/media.rb +4 -34
  282. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +360 -346
  284. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +472 -466
  285. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +272 -232
  288. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +223 -218
  289. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  290. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +206 -210
  291. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +352 -335
  292. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +359 -341
  293. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +359 -336
  294. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +500 -521
  295. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  296. data/lib/twilio-ruby/rest/messaging/v1/service.rb +757 -763
  297. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +720 -713
  298. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  299. data/lib/twilio-ruby/rest/messaging/v1.rb +172 -165
  300. data/lib/twilio-ruby/rest/messaging.rb +9 -52
  301. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +349 -307
  303. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +342 -300
  304. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +201 -185
  305. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +340 -320
  306. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +368 -335
  307. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +361 -328
  308. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +418 -383
  309. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  310. data/lib/twilio-ruby/rest/microvisor.rb +3 -50
  311. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  312. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +402 -395
  313. data/lib/twilio-ruby/rest/monitor/v1/event.rb +388 -390
  314. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  315. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  316. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/notify/v1/credential.rb +422 -408
  318. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +440 -452
  319. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  320. data/lib/twilio-ruby/rest/notify/v1/service.rb +635 -622
  321. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  322. data/lib/twilio-ruby/rest/notify.rb +3 -34
  323. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  324. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +279 -261
  325. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +325 -298
  326. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +334 -309
  327. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  328. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +627 -607
  329. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +392 -351
  330. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +291 -266
  331. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +326 -307
  332. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +413 -371
  333. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +291 -266
  334. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  335. data/lib/twilio-ruby/rest/numbers/v2.rb +33 -28
  336. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  337. data/lib/twilio-ruby/rest/numbers_base.rb +38 -0
  338. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +165 -147
  339. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +177 -154
  340. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +254 -234
  341. data/lib/twilio-ruby/rest/oauth/v1/token.rb +173 -151
  342. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +205 -185
  343. data/lib/twilio-ruby/rest/oauth/v1.rb +57 -56
  344. data/lib/twilio-ruby/rest/oauth.rb +5 -40
  345. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  346. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +412 -375
  347. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +395 -358
  348. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +451 -418
  349. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +409 -369
  350. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +507 -459
  351. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  352. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +376 -396
  353. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +453 -446
  354. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +616 -625
  355. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  356. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  357. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +329 -309
  358. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +343 -330
  359. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +433 -398
  360. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  361. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +379 -374
  362. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +447 -399
  363. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +438 -407
  364. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +379 -374
  365. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +428 -398
  366. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +441 -404
  367. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +379 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +428 -398
  369. data/lib/twilio-ruby/rest/preview/sync/service.rb +505 -452
  370. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  371. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +234 -205
  372. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +234 -205
  373. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +210 -199
  374. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +380 -375
  375. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +433 -400
  376. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +403 -373
  377. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +460 -430
  378. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +234 -205
  379. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +363 -362
  380. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +427 -417
  381. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +242 -230
  382. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +215 -214
  383. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +527 -488
  384. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +669 -619
  385. data/lib/twilio-ruby/rest/preview/understand.rb +42 -38
  386. data/lib/twilio-ruby/rest/preview/wireless/command.rb +392 -364
  387. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +449 -398
  388. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  389. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +580 -523
  390. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  391. data/lib/twilio-ruby/rest/preview.rb +11 -69
  392. data/lib/twilio-ruby/rest/preview_base.rb +63 -0
  393. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +298 -275
  394. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  395. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +291 -268
  396. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  397. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +298 -275
  398. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  399. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  400. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  401. data/lib/twilio-ruby/rest/pricing/v2/country.rb +290 -270
  402. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  403. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +298 -275
  404. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  405. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  406. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  407. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  408. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  409. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +420 -403
  410. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +409 -418
  411. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +431 -449
  412. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +427 -442
  413. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +531 -506
  414. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +400 -370
  415. data/lib/twilio-ruby/rest/proxy/v1/service.rb +569 -596
  416. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  417. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  418. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  419. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +260 -227
  420. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +260 -223
  421. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +260 -227
  422. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  423. data/lib/twilio-ruby/rest/routes.rb +4 -34
  424. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  425. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  426. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +417 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  428. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +408 -384
  429. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +337 -338
  430. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +365 -383
  431. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +404 -396
  432. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +469 -447
  433. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  434. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  435. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +417 -380
  436. data/lib/twilio-ruby/rest/serverless/v1/service.rb +536 -493
  437. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  438. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  439. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  440. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  441. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  442. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +362 -355
  443. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +427 -394
  444. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  445. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  446. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +362 -361
  447. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +475 -449
  448. data/lib/twilio-ruby/rest/studio/v1/flow.rb +387 -355
  449. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  450. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  451. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  452. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +362 -361
  453. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +468 -442
  454. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +342 -320
  455. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  456. data/lib/twilio-ruby/rest/studio/v2/flow.rb +526 -472
  457. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  458. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  459. data/lib/twilio-ruby/rest/studio.rb +3 -41
  460. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +397 -382
  462. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +474 -483
  463. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +403 -409
  464. data/lib/twilio-ruby/rest/supersim/v1/network.rb +306 -297
  465. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +338 -332
  466. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +384 -351
  467. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +249 -237
  468. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  469. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  470. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +472 -453
  471. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +362 -361
  472. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +314 -344
  473. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  474. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  475. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  476. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +377 -371
  477. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +461 -423
  478. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +470 -490
  479. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +377 -370
  480. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  481. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +473 -495
  482. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +377 -368
  483. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  484. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  485. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +425 -400
  486. data/lib/twilio-ruby/rest/sync/v1/service.rb +588 -567
  487. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  488. data/lib/twilio-ruby/rest/sync.rb +2 -34
  489. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +408 -395
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +454 -464
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +702 -749
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +620 -661
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +410 -382
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -369
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +246 -258
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +571 -572
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +683 -732
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +390 -388
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  506. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +640 -637
  507. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -375
  508. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  509. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  510. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +525 -510
  511. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -356
  512. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  513. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  514. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +743 -730
  515. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  516. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  517. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +343 -320
  519. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +343 -317
  520. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +441 -419
  521. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +476 -451
  522. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  523. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +636 -630
  524. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  525. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  526. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +360 -352
  528. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +336 -323
  529. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +334 -321
  530. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +538 -513
  531. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +384 -346
  532. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +283 -261
  533. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +276 -252
  534. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +398 -359
  535. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +283 -261
  536. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +360 -352
  537. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +336 -323
  538. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +334 -321
  539. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +538 -513
  540. data/lib/twilio-ruby/rest/trusthub/v1.rb +132 -139
  541. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  542. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  543. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  544. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +223 -207
  545. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +272 -254
  546. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -192
  547. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +506 -531
  548. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +448 -453
  549. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -283
  550. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +436 -414
  551. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +380 -363
  552. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +402 -388
  553. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +425 -384
  554. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +374 -372
  555. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -205
  556. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +448 -412
  557. data/lib/twilio-ruby/rest/verify/v2/service.rb +789 -780
  558. data/lib/twilio-ruby/rest/verify/v2/template.rb +223 -205
  559. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +381 -387
  560. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +239 -226
  561. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  562. data/lib/twilio-ruby/rest/verify.rb +7 -34
  563. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  564. data/lib/twilio-ruby/rest/video/v1/composition.rb +482 -507
  565. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +530 -647
  566. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  567. data/lib/twilio-ruby/rest/video/v1/recording.rb +432 -426
  568. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  569. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  570. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +332 -0
  571. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  572. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +339 -0
  573. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +516 -0
  574. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  575. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  576. data/lib/twilio-ruby/rest/video/v1/room.rb +621 -602
  577. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  578. data/lib/twilio-ruby/rest/video.rb +7 -34
  579. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  580. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +160 -176
  581. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +502 -486
  582. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -434
  583. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +395 -352
  584. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  585. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  586. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +386 -397
  587. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  588. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  589. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +378 -339
  590. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +361 -319
  591. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  592. data/lib/twilio-ruby/rest/voice.rb +7 -34
  593. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  594. data/lib/twilio-ruby/rest/wireless/v1/command.rb +413 -406
  595. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +464 -436
  596. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  597. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +243 -243
  598. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +648 -647
  599. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +230 -221
  600. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  601. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  602. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  603. data/lib/twilio-ruby/rest.rb +1 -0
  604. data/lib/twilio-ruby/version.rb +1 -1
  605. data/twilio-ruby.gemspec +1 -1
  606. metadata +71 -38
  607. data/advanced-examples/custom-http-client.md +0 -170
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  620. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  621. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  622. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +0 -134
  623. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  624. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  625. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +0 -111
  626. data/lib/twilio-ruby/rest/numbers/v1.rb +0 -35
  627. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  628. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  629. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  630. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  631. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  632. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  633. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  634. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,612 +1,631 @@
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,
275
+ room_sid: @solution[:sid]
276
+
277
+ )
278
+ end
279
+
280
+ @recording_rules
281
+ end
282
+ ##
283
+ # Access the participants
284
+ # @return [ParticipantList]
285
+ # @return [ParticipantContext] if sid was passed.
286
+ def participants(sid=:unset)
287
+
288
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
289
+
290
+ if sid != :unset
291
+ return ParticipantContext.new(@version, @solution[:sid],sid )
292
+ end
293
+
294
+ unless @participants
295
+ @participants = ParticipantList.new(
296
+ @version,
297
+ room_sid: @solution[:sid]
298
+
299
+ )
300
+ end
301
+
302
+ @participants
303
+ end
304
+ ##
305
+ # Access the recordings
306
+ # @return [RoomRecordingList]
307
+ # @return [RoomRecordingContext] if sid was passed.
308
+ def recordings(sid=:unset)
309
+
310
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
311
+
312
+ if sid != :unset
313
+ return RoomRecordingContext.new(@version, @solution[:sid],sid )
314
+ end
315
+
316
+ unless @recordings
317
+ @recordings = RoomRecordingList.new(
318
+ @version,
319
+ room_sid: @solution[:sid]
320
+
321
+ )
322
+ end
323
+
324
+ @recordings
325
+ end
326
+
327
+ ##
328
+ # Provide a user friendly representation
329
+ def to_s
330
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
331
+ "#<Twilio.Video.V1.RoomContext #{context}>"
332
+ end
333
+
334
+ ##
335
+ # Provide a detailed, user friendly representation
336
+ def inspect
337
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
338
+ "#<Twilio.Video.V1.RoomContext #{context}>"
339
+ end
340
+ end
341
+
342
+ class RoomPage < Page
343
+ ##
344
+ # Initialize the RoomPage
345
+ # @param [Version] version Version that contains the resource
346
+ # @param [Response] response Response from the API
347
+ # @param [Hash] solution Path solution for the resource
348
+ # @return [RoomPage] RoomPage
349
+ def initialize(version, response, solution)
350
+ super(version, response)
351
+
352
+ # Path Solution
353
+ @solution = solution
354
+ end
355
+
356
+ ##
357
+ # Build an instance of RoomInstance
358
+ # @param [Hash] payload Payload response from the API
359
+ # @return [RoomInstance] RoomInstance
360
+ def get_instance(payload)
361
+ RoomInstance.new(@version, payload)
362
+ end
363
+
364
+ ##
365
+ # Provide a user friendly representation
366
+ def to_s
367
+ '<Twilio.Video.V1.RoomPage>'
368
+ end
369
+ end
370
+ class RoomInstance < InstanceResource
371
+ ##
372
+ # Initialize the RoomInstance
373
+ # @param [Version] version Version that contains the resource
374
+ # @param [Hash] payload payload that contains response from Twilio
375
+ # @param [String] account_sid The SID of the
376
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Room
377
+ # resource.
378
+ # @param [String] sid The SID of the Call resource to fetch.
379
+ # @return [RoomInstance] RoomInstance
380
+ def initialize(version, payload , sid: nil)
381
+ super(version)
382
+
383
+ # Marshaled Properties
384
+ @properties = {
385
+ 'sid' => payload['sid'],
386
+ 'status' => payload['status'],
387
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
388
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
389
+ 'account_sid' => payload['account_sid'],
390
+ 'enable_turn' => payload['enable_turn'],
391
+ 'unique_name' => payload['unique_name'],
392
+ 'status_callback' => payload['status_callback'],
393
+ 'status_callback_method' => payload['status_callback_method'],
394
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
395
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
396
+ 'type' => payload['type'],
397
+ 'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
398
+ 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['max_participant_duration'] : payload['max_participant_duration'].to_i,
399
+ 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
400
+ 'record_participants_on_connect' => payload['record_participants_on_connect'],
401
+ 'video_codecs' => payload['video_codecs'],
402
+ 'media_region' => payload['media_region'],
403
+ 'audio_only' => payload['audio_only'],
404
+ 'empty_room_timeout' => payload['empty_room_timeout'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
405
+ 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i,
406
+ 'large_room' => payload['large_room'],
407
+ 'url' => payload['url'],
408
+ 'links' => payload['links'],
409
+ }
410
+
411
+ # Context
412
+ @instance_context = nil
413
+ @params = { 'sid' => sid || @properties['sid'] , }
414
+ end
415
+
416
+ ##
417
+ # Generate an instance context for the instance, the context is capable of
418
+ # performing various actions. All instance actions are proxied to the context
419
+ # @return [RoomContext] CallContext for this CallInstance
420
+ def context
421
+ unless @instance_context
422
+ @instance_context = RoomContext.new(@version , @params['sid'])
423
+ end
424
+ @instance_context
425
+ end
426
+
427
+ ##
428
+ # @return [String] The unique string that we created to identify the Room resource.
429
+ def sid
430
+ @properties['sid']
431
+ end
432
+
433
+ ##
434
+ # @return [RoomStatus]
435
+ def status
436
+ @properties['status']
437
+ end
438
+
439
+ ##
440
+ # @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.
441
+ def date_created
442
+ @properties['date_created']
443
+ end
444
+
445
+ ##
446
+ # @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.
447
+ def date_updated
448
+ @properties['date_updated']
449
+ end
450
+
451
+ ##
452
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Room resource.
453
+ def account_sid
454
+ @properties['account_sid']
455
+ end
456
+
457
+ ##
458
+ # @return [Boolean] Deprecated, now always considered to be true.
459
+ def enable_turn
460
+ @properties['enable_turn']
461
+ end
462
+
463
+ ##
464
+ # @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`.
465
+ def unique_name
466
+ @properties['unique_name']
467
+ end
468
+
469
+ ##
470
+ # @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.
471
+ def status_callback
472
+ @properties['status_callback']
473
+ end
474
+
475
+ ##
476
+ # @return [String] The HTTP method we use to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
477
+ def status_callback_method
478
+ @properties['status_callback_method']
479
+ end
480
+
481
+ ##
482
+ # @return [Time] The UTC end time of the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
483
+ def end_time
484
+ @properties['end_time']
485
+ end
486
+
487
+ ##
488
+ # @return [String] The duration of the room in seconds.
489
+ def duration
490
+ @properties['duration']
491
+ end
492
+
493
+ ##
494
+ # @return [RoomType]
495
+ def type
496
+ @properties['type']
497
+ end
498
+
499
+ ##
500
+ # @return [String] The maximum number of concurrent Participants allowed in the room.
501
+ def max_participants
502
+ @properties['max_participants']
503
+ end
504
+
505
+ ##
506
+ # @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).
507
+ def max_participant_duration
508
+ @properties['max_participant_duration']
509
+ end
510
+
511
+ ##
512
+ # @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.
513
+ def max_concurrent_published_tracks
514
+ @properties['max_concurrent_published_tracks']
515
+ end
516
+
517
+ ##
518
+ # @return [Boolean] Whether to start recording when Participants connect. ***This feature is not available in `peer-to-peer` rooms.***
519
+ def record_participants_on_connect
520
+ @properties['record_participants_on_connect']
521
+ end
522
+
523
+ ##
524
+ # @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***
525
+ def video_codecs
526
+ @properties['video_codecs']
527
+ end
528
+
529
+ ##
530
+ # @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.***
531
+ def media_region
532
+ @properties['media_region']
533
+ end
534
+
535
+ ##
536
+ # @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.
537
+ def audio_only
538
+ @properties['audio_only']
539
+ end
540
+
541
+ ##
542
+ # @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.
543
+ def empty_room_timeout
544
+ @properties['empty_room_timeout']
545
+ end
546
+
547
+ ##
548
+ # @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.
549
+ def unused_room_timeout
550
+ @properties['unused_room_timeout']
551
+ end
552
+
553
+ ##
554
+ # @return [Boolean] Indicates if this is a large room.
555
+ def large_room
556
+ @properties['large_room']
557
+ end
558
+
559
+ ##
560
+ # @return [String] The absolute URL of the resource.
561
+ def url
562
+ @properties['url']
563
+ end
564
+
565
+ ##
566
+ # @return [Hash] The URLs of related resources.
567
+ def links
568
+ @properties['links']
569
+ end
570
+
571
+ ##
572
+ # Fetch the RoomInstance
573
+ # @return [RoomInstance] Fetched RoomInstance
574
+ def fetch
575
+
576
+ context.fetch
577
+ end
578
+
579
+ ##
580
+ # Update the RoomInstance
581
+ # @param [RoomStatus] status
582
+ # @return [RoomInstance] Updated RoomInstance
583
+ def update(
584
+ status: nil
585
+ )
586
+
587
+ context.update(
588
+ status: status,
589
+ )
590
+ end
591
+
592
+ ##
593
+ # Access the recording_rules
594
+ # @return [recording_rules] recording_rules
595
+ def recording_rules
596
+ context.recording_rules
597
+ end
598
+
599
+ ##
600
+ # Access the participants
601
+ # @return [participants] participants
602
+ def participants
603
+ context.participants
604
+ end
605
+
606
+ ##
607
+ # Access the recordings
608
+ # @return [recordings] recordings
609
+ def recordings
610
+ context.recordings
611
+ end
612
+
613
+ ##
614
+ # Provide a user friendly representation
615
+ def to_s
616
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
617
+ "<Twilio.Video.V1.RoomInstance #{values}>"
618
+ end
619
+
620
+ ##
621
+ # Provide a detailed, user friendly representation
622
+ def inspect
623
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
624
+ "<Twilio.Video.V1.RoomInstance #{values}>"
625
+ end
626
+ end
359
627
 
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'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
385
- 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['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'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
392
- 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['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
628
  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
629
  end
609
- end
610
630
  end
611
- end
612
- end
631
+ end