twilio-ruby 5.74.0 → 7.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.yml +69 -0
  4. data/.github/workflows/test-and-deploy.yml +20 -2
  5. data/.gitignore +4 -0
  6. data/.rubocop.yml +1 -0
  7. data/CHANGES.md +1367 -0
  8. data/CONTRIBUTING.md +11 -9
  9. data/Dockerfile +2 -1
  10. data/Gemfile +5 -0
  11. data/LICENSE +1 -1
  12. data/Makefile +6 -0
  13. data/README.md +138 -40
  14. data/UPGRADE.md +21 -0
  15. data/advanced-examples/custom-http-client.md +170 -0
  16. data/cluster/cluster_oauth_spec.rb +19 -0
  17. data/cluster/cluster_orgs_spec.rb +40 -0
  18. data/cluster/cluster_spec.rb +75 -0
  19. data/examples/public_oauth.rb +13 -0
  20. data/lib/twilio-ruby/auth_strategy/auth_strategy.rb +19 -0
  21. data/lib/twilio-ruby/auth_strategy/no_auth_strategy.rb +17 -0
  22. data/lib/twilio-ruby/auth_strategy/token_auth_strategy.rb +39 -0
  23. data/lib/twilio-ruby/base/client_base.rb +131 -0
  24. data/lib/twilio-ruby/credential/auth_type.rb +17 -0
  25. data/lib/twilio-ruby/credential/client_credential_provider.rb +28 -0
  26. data/lib/twilio-ruby/credential/credential_provider.rb +11 -0
  27. data/lib/twilio-ruby/credential/orgs_credential_provider.rb +30 -0
  28. data/lib/twilio-ruby/framework/request.rb +8 -1
  29. data/lib/twilio-ruby/framework/rest/api_v1_version.rb +22 -0
  30. data/lib/twilio-ruby/framework/rest/domain.rb +0 -1
  31. data/lib/twilio-ruby/framework/rest/error.rb +27 -12
  32. data/lib/twilio-ruby/framework/rest/page.rb +1 -0
  33. data/lib/twilio-ruby/framework/rest/page_metadata.rb +83 -0
  34. data/lib/twilio-ruby/framework/rest/resource.rb +16 -0
  35. data/lib/twilio-ruby/framework/rest/token_page.rb +73 -0
  36. data/lib/twilio-ruby/framework/rest/version.rb +91 -4
  37. data/lib/twilio-ruby/http/client_token_manager.rb +31 -0
  38. data/lib/twilio-ruby/http/http_client.rb +22 -5
  39. data/lib/twilio-ruby/http/org_token_manager.rb +31 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +338 -176
  42. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +231 -0
  43. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +231 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +644 -332
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +644 -332
  46. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +185 -114
  47. data/lib/twilio-ruby/rest/accounts/v1/messaging_geopermissions.rb +285 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +336 -0
  49. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +378 -190
  50. data/lib/twilio-ruby/rest/accounts/v1.rb +69 -42
  51. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  52. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +459 -365
  54. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +886 -530
  55. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +977 -586
  56. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +482 -320
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +519 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +519 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +519 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +519 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +519 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +519 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +519 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +601 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +231 -118
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +289 -192
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +578 -417
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +556 -364
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +791 -511
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +1658 -663
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +1658 -663
  72. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +541 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +260 -151
  74. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +409 -240
  75. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1368 -1050
  76. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1124 -756
  77. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +694 -458
  78. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +719 -493
  79. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +679 -407
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +483 -344
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +627 -416
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +737 -554
  83. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +737 -553
  84. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +737 -553
  85. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1261 -903
  86. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +567 -302
  87. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +268 -164
  88. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +540 -350
  89. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +970 -641
  90. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +246 -125
  91. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +246 -125
  92. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +577 -399
  93. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +604 -358
  94. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +553 -338
  95. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +702 -390
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +343 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +572 -378
  98. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +560 -383
  99. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +558 -372
  100. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +718 -513
  101. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +644 -408
  102. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +567 -306
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +642 -359
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +667 -371
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +579 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +579 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +204 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +579 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +190 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +158 -103
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +564 -331
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +564 -330
  113. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +987 -641
  114. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +694 -418
  115. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +667 -372
  116. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +205 -150
  117. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +258 -139
  118. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +557 -350
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +407 -335
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +407 -335
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +407 -335
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +407 -335
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +407 -335
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +407 -335
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +407 -335
  126. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +407 -335
  127. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +478 -416
  128. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +785 -484
  129. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +176 -104
  130. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +278 -150
  131. data/lib/twilio-ruby/rest/api/v2010/account.rb +1229 -943
  132. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  133. data/lib/twilio-ruby/rest/api.rb +25 -34
  134. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  135. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +550 -0
  136. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +550 -0
  137. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +423 -0
  138. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +296 -0
  139. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +918 -0
  140. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +317 -0
  141. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +349 -0
  142. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +862 -0
  143. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +356 -0
  144. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +352 -0
  145. data/lib/twilio-ruby/rest/assistants/v1/session.rb +493 -0
  146. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +838 -0
  147. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  148. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  149. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +468 -279
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +440 -279
  152. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +438 -248
  153. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +389 -235
  154. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +430 -216
  155. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  156. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  157. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  158. data/lib/twilio-ruby/rest/chat/v1/credential.rb +719 -403
  159. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +613 -391
  160. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +704 -440
  161. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +722 -437
  162. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +822 -515
  163. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +672 -367
  164. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +331 -237
  165. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +750 -440
  166. data/lib/twilio-ruby/rest/chat/v1/service.rb +1287 -894
  167. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  168. data/lib/twilio-ruby/rest/chat/v2/credential.rb +719 -401
  169. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +570 -370
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +613 -386
  171. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +799 -527
  172. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +825 -533
  173. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +746 -467
  174. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +916 -605
  175. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +672 -369
  176. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +561 -381
  177. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +648 -419
  178. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +796 -491
  179. data/lib/twilio-ruby/rest/chat/v2/service.rb +1121 -778
  180. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  181. data/lib/twilio-ruby/rest/chat/v3/channel.rb +444 -267
  182. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  183. data/lib/twilio-ruby/rest/chat.rb +4 -48
  184. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  185. data/lib/twilio-ruby/rest/client.rb +338 -584
  186. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +280 -0
  187. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +327 -173
  188. data/lib/twilio-ruby/rest/content/v1/content.rb +1909 -334
  189. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +340 -0
  190. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +354 -0
  191. data/lib/twilio-ruby/rest/content/v1.rb +54 -38
  192. data/lib/twilio-ruby/rest/content/v2/content.rb +425 -0
  193. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +418 -0
  194. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  195. data/lib/twilio-ruby/rest/content.rb +2 -34
  196. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +798 -444
  198. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +445 -227
  199. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +467 -252
  200. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +504 -344
  201. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +852 -495
  202. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +817 -495
  203. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +725 -403
  204. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +957 -552
  205. data/lib/twilio-ruby/rest/conversations/v1/conversation_with_participants.rb +392 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +728 -409
  207. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +397 -304
  208. data/lib/twilio-ruby/rest/conversations/v1/role.rb +657 -356
  209. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +563 -373
  210. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +540 -312
  211. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +459 -258
  212. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +497 -279
  213. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +504 -363
  214. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +860 -533
  215. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +829 -530
  216. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +737 -438
  217. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +972 -588
  218. data/lib/twilio-ruby/rest/conversations/v1/service/conversation_with_participants.rb +399 -0
  219. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +403 -317
  220. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +672 -380
  221. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +686 -455
  222. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +773 -474
  223. data/lib/twilio-ruby/rest/conversations/v1/service.rb +724 -447
  224. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +683 -435
  225. data/lib/twilio-ruby/rest/conversations/v1/user.rb +758 -441
  226. data/lib/twilio-ruby/rest/conversations/v1.rb +135 -136
  227. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  228. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  229. data/lib/twilio-ruby/rest/events/v1/event_type.rb +486 -288
  230. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +468 -0
  231. data/lib/twilio-ruby/rest/events/v1/schema.rb +366 -214
  232. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +209 -100
  233. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +222 -103
  234. data/lib/twilio-ruby/rest/events/v1/sink.rb +711 -408
  235. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +638 -339
  236. data/lib/twilio-ruby/rest/events/v1/subscription.rb +685 -387
  237. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  238. data/lib/twilio-ruby/rest/events.rb +5 -34
  239. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +687 -146
  241. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +621 -330
  242. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +722 -496
  243. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +382 -0
  244. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +928 -570
  245. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +475 -0
  246. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +321 -0
  247. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +735 -0
  248. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +598 -0
  249. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +710 -0
  250. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +457 -0
  251. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +359 -0
  252. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +251 -0
  253. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +237 -0
  254. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +338 -0
  255. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +370 -227
  256. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +560 -319
  257. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_transfer.rb +547 -0
  258. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +637 -398
  259. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +529 -225
  260. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +621 -0
  261. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +700 -0
  262. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +390 -0
  263. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +564 -0
  264. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +599 -0
  265. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +376 -0
  266. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +539 -0
  267. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +400 -0
  268. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +327 -0
  269. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +663 -331
  270. data/lib/twilio-ruby/rest/flex_api/v1.rb +319 -113
  271. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +515 -0
  272. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +258 -125
  273. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  274. data/lib/twilio-ruby/rest/flex_api.rb +9 -47
  275. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  276. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +453 -248
  277. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  278. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  279. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  280. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +471 -0
  281. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +320 -0
  282. data/lib/twilio-ruby/rest/iam/v1/new_api_key.rb +284 -0
  283. data/lib/twilio-ruby/rest/iam/v1/o_auth_app.rb +646 -0
  284. data/lib/twilio-ruby/rest/iam/v1/token.rb +301 -0
  285. data/lib/twilio-ruby/rest/iam/v1.rb +82 -0
  286. data/lib/twilio-ruby/rest/iam.rb +6 -0
  287. data/lib/twilio-ruby/rest/iam_base.rb +33 -0
  288. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +509 -315
  289. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +499 -0
  290. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +360 -255
  291. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +333 -224
  292. data/lib/twilio-ruby/rest/insights/v1/call.rb +403 -236
  293. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +718 -433
  294. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +665 -467
  295. data/lib/twilio-ruby/rest/insights/v1/conference.rb +683 -502
  296. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +545 -371
  297. data/lib/twilio-ruby/rest/insights/v1/room.rb +668 -489
  298. data/lib/twilio-ruby/rest/insights/v1/setting.rb +435 -205
  299. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  300. data/lib/twilio-ruby/rest/insights.rb +6 -34
  301. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  302. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +720 -0
  303. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +525 -0
  304. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +380 -0
  305. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +337 -0
  306. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +523 -0
  307. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +525 -0
  308. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +844 -0
  309. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_operator_results.rb +359 -0
  310. data/lib/twilio-ruby/rest/intelligence/v2/transcript/encrypted_sentences.rb +359 -0
  311. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +373 -0
  312. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +570 -0
  313. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +354 -0
  314. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +815 -0
  315. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  316. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  317. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  318. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +719 -364
  319. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +613 -359
  320. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +704 -397
  321. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +722 -409
  322. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +822 -488
  323. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +672 -347
  324. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +331 -231
  325. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +750 -418
  326. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1287 -779
  327. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  328. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +719 -364
  329. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +570 -343
  330. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +613 -359
  331. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +799 -451
  332. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +825 -479
  333. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +746 -411
  334. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +916 -555
  335. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +672 -347
  336. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +561 -351
  337. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +637 -384
  338. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +796 -467
  339. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1121 -689
  340. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  341. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  342. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  343. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/chunk.rb +317 -0
  344. data/lib/twilio-ruby/rest/knowledge/v1/knowledge/knowledge_status.rb +349 -0
  345. data/lib/twilio-ruby/rest/knowledge/v1/knowledge.rb +856 -0
  346. data/lib/twilio-ruby/rest/knowledge/v1.rb +49 -0
  347. data/lib/twilio-ruby/rest/knowledge.rb +6 -0
  348. data/lib/twilio-ruby/rest/knowledge_base.rb +38 -0
  349. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +399 -237
  350. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  351. data/lib/twilio-ruby/rest/lookups/v2/bucket.rb +500 -0
  352. data/lib/twilio-ruby/rest/lookups/v2/lookup_override.rb +603 -0
  353. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +570 -328
  354. data/lib/twilio-ruby/rest/lookups/v2/query.rb +351 -0
  355. data/lib/twilio-ruby/rest/lookups/v2/rate_limit.rb +229 -0
  356. data/lib/twilio-ruby/rest/lookups/v2.rb +128 -38
  357. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  358. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  359. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +475 -0
  360. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +501 -0
  361. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +555 -0
  362. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +252 -0
  363. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +735 -0
  364. data/lib/twilio-ruby/rest/marketplace/v1/module_data.rb +342 -0
  365. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +511 -0
  366. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +235 -0
  367. data/lib/twilio-ruby/rest/marketplace/v1.rb +91 -0
  368. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  369. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +231 -0
  371. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +568 -346
  372. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +758 -443
  373. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +337 -0
  374. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +483 -0
  375. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +469 -259
  376. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +379 -0
  377. data/lib/twilio-ruby/rest/messaging/v1/domain_validate_dn.rb +344 -0
  378. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +263 -142
  379. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +380 -0
  380. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +337 -0
  381. data/lib/twilio-ruby/rest/messaging/v1/request_managed_cert.rb +379 -0
  382. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +580 -335
  383. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +594 -0
  384. data/lib/twilio-ruby/rest/messaging/v1/service/destination_alpha_sender.rb +608 -0
  385. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +587 -341
  386. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +587 -336
  387. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +937 -521
  388. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +222 -115
  389. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1149 -763
  390. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +1517 -549
  391. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +209 -103
  392. data/lib/twilio-ruby/rest/messaging/v1.rb +217 -124
  393. data/lib/twilio-ruby/rest/messaging/v2/channels_sender.rb +1002 -0
  394. data/lib/twilio-ruby/rest/messaging/v2/domain_certs.rb +386 -0
  395. data/lib/twilio-ruby/rest/messaging/v2/typing_indicator.rb +237 -0
  396. data/lib/twilio-ruby/rest/messaging/v2.rb +70 -0
  397. data/lib/twilio-ruby/rest/messaging.rb +10 -35
  398. data/lib/twilio-ruby/rest/messaging_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +572 -395
  400. data/lib/twilio-ruby/rest/monitor/v1/event.rb +561 -390
  401. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  402. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  403. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/notify/v1/credential.rb +719 -408
  405. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +694 -452
  406. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +466 -362
  407. data/lib/twilio-ruby/rest/notify/v1/service.rb +971 -622
  408. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  409. data/lib/twilio-ruby/rest/notify.rb +3 -34
  410. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  411. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +411 -0
  412. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +221 -0
  413. data/lib/twilio-ruby/rest/numbers/v1/porting_all_port_in.rb +367 -0
  414. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +616 -0
  415. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +485 -0
  416. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +405 -0
  417. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +242 -0
  418. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +301 -0
  419. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +395 -0
  420. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +252 -0
  421. data/lib/twilio-ruby/rest/numbers/v1.rb +161 -0
  422. data/lib/twilio-ruby/rest/numbers/v2/application.rb +562 -0
  423. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +440 -0
  424. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +649 -0
  425. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +442 -0
  426. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +430 -0
  427. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +915 -0
  428. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +405 -261
  429. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +524 -298
  430. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +564 -309
  431. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +294 -179
  432. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +923 -607
  433. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +667 -351
  434. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +458 -266
  435. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +521 -307
  436. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +695 -371
  437. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +458 -266
  438. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +241 -181
  439. data/lib/twilio-ruby/rest/numbers/v2.rb +108 -28
  440. data/lib/twilio-ruby/rest/numbers/v3/hosted_number_order.rb +484 -0
  441. data/lib/twilio-ruby/rest/numbers/v3.rb +40 -0
  442. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  443. data/lib/twilio-ruby/rest/numbers_base.rb +48 -0
  444. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +253 -0
  445. data/lib/twilio-ruby/rest/oauth/v1/token.rb +293 -149
  446. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  447. data/lib/twilio-ruby/rest/oauth/v2/authorize.rb +253 -0
  448. data/lib/twilio-ruby/rest/oauth/v2/token.rb +311 -0
  449. data/lib/twilio-ruby/rest/oauth/v2.rb +46 -0
  450. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  451. data/lib/twilio-ruby/rest/oauth_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +469 -396
  453. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +724 -446
  454. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +960 -625
  455. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  456. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +468 -298
  457. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +491 -309
  458. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +548 -330
  459. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +706 -398
  460. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  461. data/lib/twilio-ruby/rest/preview/wireless/command.rb +616 -364
  462. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +743 -398
  463. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +382 -205
  464. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +833 -523
  465. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  466. data/lib/twilio-ruby/rest/preview.rb +10 -87
  467. data/lib/twilio-ruby/rest/preview_base.rb +48 -0
  468. data/lib/twilio-ruby/rest/preview_iam/v1/authorize.rb +253 -0
  469. data/lib/twilio-ruby/rest/preview_iam/v1/token.rb +301 -0
  470. data/lib/twilio-ruby/rest/preview_iam/v1.rb +46 -0
  471. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/account.rb +468 -0
  472. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/role_assignment.rb +559 -0
  473. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +768 -0
  474. data/lib/twilio-ruby/rest/preview_iam/versionless/organization.rb +413 -0
  475. data/lib/twilio-ruby/rest/preview_iam/versionless.rb +49 -0
  476. data/lib/twilio-ruby/rest/preview_iam.rb +9 -0
  477. data/lib/twilio-ruby/rest/preview_iam_base.rb +38 -0
  478. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +465 -275
  479. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +172 -120
  480. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +458 -268
  481. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +172 -120
  482. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +465 -275
  483. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +345 -179
  484. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +185 -135
  485. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  486. data/lib/twilio-ruby/rest/pricing/v2/country.rb +457 -270
  487. data/lib/twilio-ruby/rest/pricing/v2/number.rb +379 -215
  488. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +465 -275
  489. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +367 -200
  490. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +185 -138
  491. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  492. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  493. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  494. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +693 -403
  495. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +600 -418
  496. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +640 -447
  497. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +659 -440
  498. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +811 -506
  499. data/lib/twilio-ruby/rest/proxy/v1/service.rb +839 -596
  500. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  501. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  502. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  503. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +444 -227
  504. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +444 -223
  505. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +444 -227
  506. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  507. data/lib/twilio-ruby/rest/routes.rb +4 -34
  508. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +483 -323
  510. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +680 -380
  511. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +350 -208
  512. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +645 -384
  513. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +549 -338
  514. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +535 -383
  515. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +680 -396
  516. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +688 -447
  517. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +342 -210
  518. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +510 -353
  519. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +680 -380
  520. data/lib/twilio-ruby/rest/serverless/v1/service.rb +803 -493
  521. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  522. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  523. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  524. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +350 -199
  525. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +342 -194
  526. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +545 -355
  527. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +659 -394
  528. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +350 -200
  529. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +342 -197
  530. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +545 -361
  531. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +748 -449
  532. data/lib/twilio-ruby/rest/studio/v1/flow.rb +572 -355
  533. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  534. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +350 -200
  535. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +342 -197
  536. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +545 -361
  537. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +741 -442
  538. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +510 -320
  539. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +413 -0
  540. data/lib/twilio-ruby/rest/studio/v2/flow.rb +804 -472
  541. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +241 -109
  542. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  543. data/lib/twilio-ruby/rest/studio.rb +3 -41
  544. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  545. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +611 -362
  546. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +757 -483
  547. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +624 -406
  548. data/lib/twilio-ruby/rest/supersim/v1/network.rb +474 -297
  549. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +566 -332
  550. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +624 -351
  551. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +339 -237
  552. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +311 -204
  553. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +275 -174
  554. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +725 -453
  555. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +576 -361
  556. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +410 -344
  557. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  558. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  559. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  560. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +616 -371
  561. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +736 -423
  562. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +766 -490
  563. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +616 -370
  564. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +749 -445
  565. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +772 -495
  566. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +616 -368
  567. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +749 -444
  568. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +242 -132
  569. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +692 -400
  570. data/lib/twilio-ruby/rest/sync/v1/service.rb +878 -567
  571. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  572. data/lib/twilio-ruby/rest/sync.rb +2 -34
  573. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  574. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +682 -395
  575. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +633 -464
  576. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1079 -749
  577. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +985 -661
  578. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +688 -382
  579. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +258 -0
  580. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +522 -370
  581. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +430 -276
  582. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +410 -254
  583. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +358 -276
  584. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +882 -572
  585. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1053 -732
  586. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +602 -388
  587. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +394 -239
  588. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +440 -266
  589. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +364 -193
  590. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +418 -234
  591. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +927 -637
  592. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +522 -376
  593. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +395 -241
  594. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +410 -262
  595. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +822 -510
  596. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +514 -356
  597. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +379 -205
  598. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +387 -219
  599. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1022 -730
  600. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  601. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  602. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  603. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +573 -320
  604. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +573 -317
  605. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +734 -419
  606. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +706 -451
  607. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +391 -174
  608. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +939 -630
  609. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  610. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  611. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  612. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +440 -0
  613. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +656 -0
  614. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +474 -0
  615. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +595 -352
  616. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +574 -323
  617. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +540 -321
  618. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +823 -513
  619. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +659 -346
  620. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +450 -261
  621. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +443 -252
  622. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +673 -359
  623. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +450 -261
  624. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +595 -352
  625. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +574 -323
  626. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +540 -321
  627. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +823 -513
  628. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  629. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  630. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  631. data/lib/twilio-ruby/rest/verify/v2/form.rb +334 -181
  632. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +423 -205
  633. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +463 -254
  634. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +402 -0
  635. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +275 -172
  636. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +768 -530
  637. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +705 -453
  638. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +386 -271
  639. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +653 -414
  640. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +652 -363
  641. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +478 -0
  642. data/lib/twilio-ruby/rest/verify/v2/service/new_factor.rb +387 -0
  643. data/lib/twilio-ruby/rest/verify/v2/service/new_verify_factor.rb +357 -0
  644. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +680 -388
  645. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +693 -384
  646. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +655 -366
  647. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +320 -187
  648. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +741 -412
  649. data/lib/twilio-ruby/rest/verify/v2/service.rb +1360 -780
  650. data/lib/twilio-ruby/rest/verify/v2/template.rb +310 -203
  651. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +556 -387
  652. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +400 -224
  653. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  654. data/lib/twilio-ruby/rest/verify.rb +7 -34
  655. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  656. data/lib/twilio-ruby/rest/video/v1/composition.rb +738 -507
  657. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +854 -647
  658. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +475 -261
  659. data/lib/twilio-ruby/rest/video/v1/recording.rb +631 -426
  660. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +475 -261
  661. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +403 -0
  662. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +501 -0
  663. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +316 -0
  664. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +508 -0
  665. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +714 -0
  666. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +303 -0
  667. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +624 -0
  668. data/lib/twilio-ruby/rest/video/v1/room/transcriptions.rb +648 -0
  669. data/lib/twilio-ruby/rest/video/v1/room.rb +938 -602
  670. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  671. data/lib/twilio-ruby/rest/video.rb +7 -34
  672. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  673. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +292 -174
  674. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +822 -486
  675. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +734 -434
  676. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +658 -352
  677. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +236 -121
  678. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +282 -181
  679. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +553 -397
  680. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +377 -173
  681. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +187 -122
  682. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +650 -339
  683. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +630 -319
  684. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  685. data/lib/twilio-ruby/rest/voice.rb +7 -34
  686. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  687. data/lib/twilio-ruby/rest/wireless/v1/command.rb +663 -406
  688. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +769 -436
  689. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +387 -284
  690. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +317 -226
  691. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +925 -647
  692. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +319 -219
  693. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  694. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  695. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  696. data/lib/twilio-ruby/rest.rb +1 -0
  697. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  698. data/lib/twilio-ruby/twiml/voice_response.rb +481 -26
  699. data/lib/twilio-ruby/version.rb +1 -1
  700. data/sonar-project.properties +1 -1
  701. data/twilio-ruby.gemspec +3 -2
  702. metadata +238 -105
  703. data/conf/cacert.pem +0 -3376
  704. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  705. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  706. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  707. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  708. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  709. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  710. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  711. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  712. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  713. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  714. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  715. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  716. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  717. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  718. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  719. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  720. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  721. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  722. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  723. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  724. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  725. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  726. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  727. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  728. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  729. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  730. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  731. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  732. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  733. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  734. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  735. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  736. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  737. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  738. data/lib/twilio-ruby/rest/flex_api/v1/good_data.rb +0 -190
  739. data/lib/twilio-ruby/rest/flex_api/v1/user_roles.rb +0 -166
  740. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  741. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  742. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  743. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  744. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  745. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  746. data/lib/twilio-ruby/rest/media.rb +0 -65
  747. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  748. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  749. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +0 -305
  750. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +0 -339
  751. data/lib/twilio-ruby/rest/microvisor/v1.rb +0 -60
  752. data/lib/twilio-ruby/rest/microvisor.rb +0 -54
  753. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  754. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  755. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  756. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  757. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  758. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  759. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  760. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  761. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  762. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  763. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +0 -385
  764. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +0 -406
  765. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +0 -418
  766. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +0 -385
  767. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +0 -405
  768. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +0 -415
  769. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +0 -385
  770. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +0 -405
  771. data/lib/twilio-ruby/rest/preview/sync/service.rb +0 -462
  772. data/lib/twilio-ruby/rest/preview/sync.rb +0 -44
  773. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  774. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  775. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  776. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  777. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  778. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  779. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  780. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  781. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  782. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  783. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  784. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  785. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  786. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  787. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  788. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +0 -377
  789. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  790. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  791. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  792. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  793. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  794. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  795. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  796. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,612 +1,948 @@
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
+ ##
23
+ # Initialize the RoomList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [RoomList] RoomList
26
+ def initialize(version)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { }
31
+ @uri = "/Rooms"
32
+
33
+ end
34
+ ##
35
+ # Create the RoomInstance
36
+ # @param [Boolean] enable_turn Deprecated, now always considered to be true.
37
+ # @param [RoomType] type
38
+ # @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`.
39
+ # @param [String] status_callback The URL Twilio 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.
40
+ # @param [String] status_callback_method The HTTP method Twilio should use to call `status_callback`. Can be `POST` or `GET`.
41
+ # @param [String] max_participants The maximum number of concurrent Participants allowed in the room. The maximum allowed value is 50.
42
+ # @param [Boolean] record_participants_on_connect Whether to start recording when Participants connect.
43
+ # @param [Boolean] transcribe_participants_on_connect Whether to start transcriptions when Participants connect. If TranscriptionsConfiguration is not provided, default settings will be used.
44
+ # @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`.
45
+ # @param [String] media_region The region for the Room's media server. Can be one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#group-rooms-media-servers).
46
+ # @param [Object] recording_rules A collection of Recording Rules that describe how to include or exclude matching tracks for recording
47
+ # @param [Object] transcriptions_configuration A collection of properties that describe transcription behaviour. If TranscribeParticipantsOnConnect is set to true and TranscriptionsConfiguration is not provided, default settings will be used.
48
+ # @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.
49
+ # @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).
50
+ # @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).
51
+ # @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).
52
+ # @param [Boolean] large_room When set to true, indicated that this is the large room.
53
+ # @return [RoomInstance] Created RoomInstance
54
+ def create(
55
+ enable_turn: :unset,
56
+ type: :unset,
57
+ unique_name: :unset,
58
+ status_callback: :unset,
59
+ status_callback_method: :unset,
60
+ max_participants: :unset,
61
+ record_participants_on_connect: :unset,
62
+ transcribe_participants_on_connect: :unset,
63
+ video_codecs: :unset,
64
+ media_region: :unset,
65
+ recording_rules: :unset,
66
+ transcriptions_configuration: :unset,
67
+ audio_only: :unset,
68
+ max_participant_duration: :unset,
69
+ empty_room_timeout: :unset,
70
+ unused_room_timeout: :unset,
71
+ large_room: :unset
72
+ )
73
+
74
+ data = Twilio::Values.of({
75
+ 'EnableTurn' => enable_turn,
76
+ 'Type' => type,
77
+ 'UniqueName' => unique_name,
78
+ 'StatusCallback' => status_callback,
79
+ 'StatusCallbackMethod' => status_callback_method,
80
+ 'MaxParticipants' => max_participants,
81
+ 'RecordParticipantsOnConnect' => record_participants_on_connect,
82
+ 'TranscribeParticipantsOnConnect' => transcribe_participants_on_connect,
83
+ 'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
84
+ 'MediaRegion' => media_region,
85
+ 'RecordingRules' => Twilio.serialize_object(recording_rules),
86
+ 'TranscriptionsConfiguration' => Twilio.serialize_object(transcriptions_configuration),
87
+ 'AudioOnly' => audio_only,
88
+ 'MaxParticipantDuration' => max_participant_duration,
89
+ 'EmptyRoomTimeout' => empty_room_timeout,
90
+ 'UnusedRoomTimeout' => unused_room_timeout,
91
+ 'LargeRoom' => large_room,
92
+ })
93
+
94
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
95
+
96
+
97
+
98
+
99
+
100
+ payload = @version.create('POST', @uri, data: data, headers: headers)
101
+ RoomInstance.new(
102
+ @version,
103
+ payload,
104
+ )
105
+ end
106
+
107
+ ##
108
+ # Create the RoomInstanceMetadata
109
+ # @param [Boolean] enable_turn Deprecated, now always considered to be true.
110
+ # @param [RoomType] type
111
+ # @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`.
112
+ # @param [String] status_callback The URL Twilio 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.
113
+ # @param [String] status_callback_method The HTTP method Twilio should use to call `status_callback`. Can be `POST` or `GET`.
114
+ # @param [String] max_participants The maximum number of concurrent Participants allowed in the room. The maximum allowed value is 50.
115
+ # @param [Boolean] record_participants_on_connect Whether to start recording when Participants connect.
116
+ # @param [Boolean] transcribe_participants_on_connect Whether to start transcriptions when Participants connect. If TranscriptionsConfiguration is not provided, default settings will be used.
117
+ # @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`.
118
+ # @param [String] media_region The region for the Room's media server. Can be one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#group-rooms-media-servers).
119
+ # @param [Object] recording_rules A collection of Recording Rules that describe how to include or exclude matching tracks for recording
120
+ # @param [Object] transcriptions_configuration A collection of properties that describe transcription behaviour. If TranscribeParticipantsOnConnect is set to true and TranscriptionsConfiguration is not provided, default settings will be used.
121
+ # @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.
122
+ # @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).
123
+ # @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).
124
+ # @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).
125
+ # @param [Boolean] large_room When set to true, indicated that this is the large room.
126
+ # @return [RoomInstance] Created RoomInstance
127
+ def create_with_metadata(
128
+ enable_turn: :unset,
129
+ type: :unset,
130
+ unique_name: :unset,
131
+ status_callback: :unset,
132
+ status_callback_method: :unset,
133
+ max_participants: :unset,
134
+ record_participants_on_connect: :unset,
135
+ transcribe_participants_on_connect: :unset,
136
+ video_codecs: :unset,
137
+ media_region: :unset,
138
+ recording_rules: :unset,
139
+ transcriptions_configuration: :unset,
140
+ audio_only: :unset,
141
+ max_participant_duration: :unset,
142
+ empty_room_timeout: :unset,
143
+ unused_room_timeout: :unset,
144
+ large_room: :unset
145
+ )
146
+
147
+ data = Twilio::Values.of({
148
+ 'EnableTurn' => enable_turn,
149
+ 'Type' => type,
150
+ 'UniqueName' => unique_name,
151
+ 'StatusCallback' => status_callback,
152
+ 'StatusCallbackMethod' => status_callback_method,
153
+ 'MaxParticipants' => max_participants,
154
+ 'RecordParticipantsOnConnect' => record_participants_on_connect,
155
+ 'TranscribeParticipantsOnConnect' => transcribe_participants_on_connect,
156
+ 'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
157
+ 'MediaRegion' => media_region,
158
+ 'RecordingRules' => Twilio.serialize_object(recording_rules),
159
+ 'TranscriptionsConfiguration' => Twilio.serialize_object(transcriptions_configuration),
160
+ 'AudioOnly' => audio_only,
161
+ 'MaxParticipantDuration' => max_participant_duration,
162
+ 'EmptyRoomTimeout' => empty_room_timeout,
163
+ 'UnusedRoomTimeout' => unused_room_timeout,
164
+ 'LargeRoom' => large_room,
165
+ })
166
+
167
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
168
+
169
+
170
+
171
+
172
+
173
+ response = @version.create_with_metadata('POST', @uri, data: data, headers: headers)
174
+ room_instance = RoomInstance.new(
175
+ @version,
176
+ response.body,
177
+ )
178
+ RoomInstanceMetadata.new(
179
+ @version,
180
+ room_instance,
181
+ response.headers,
182
+ response.status_code
183
+ )
184
+ end
185
+
186
+
187
+ ##
188
+ # Lists RoomInstance records from the API as a list.
189
+ # Unlike stream(), this operation is eager and will load `limit` records into
190
+ # memory before returning.
191
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
192
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
193
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
194
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
195
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
196
+ # guarantees to never return more than limit. Default is no limit
197
+ # @param [Integer] page_size Number of records to fetch per request, when
198
+ # not set will use the default value of 50 records. If no page_size is defined
199
+ # but a limit is defined, stream() will attempt to read the limit with the most
200
+ # efficient page size, i.e. min(limit, 1000)
201
+ # @return [Array] Array of up to limit results
202
+ def list(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
203
+ self.stream(
204
+ status: status,
205
+ unique_name: unique_name,
206
+ date_created_after: date_created_after,
207
+ date_created_before: date_created_before,
208
+ limit: limit,
209
+ page_size: page_size
210
+ ).entries
211
+ end
212
+
213
+ ##
214
+ # Streams Instance records from the API as an Enumerable.
215
+ # This operation lazily loads records as efficiently as possible until the limit
216
+ # is reached.
217
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
218
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
219
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
220
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
221
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
222
+ # guarantees to never return more than limit. Default is no limit
223
+ # @param [Integer] page_size Number of records to fetch per request, when
224
+ # not set will use the default value of 50 records. If no page_size is defined
225
+ # but a limit is defined, stream() will attempt to read the limit with the most
226
+ # efficient page size, i.e. min(limit, 1000)
227
+ # @return [Enumerable] Enumerable that will yield up to limit results
228
+ def stream(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
229
+ limits = @version.read_limits(limit, page_size)
230
+
231
+ page = self.page(
232
+ status: status,
233
+ unique_name: unique_name,
234
+ date_created_after: date_created_after,
235
+ date_created_before: date_created_before,
236
+ page_size: limits[:page_size], )
237
+
238
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
239
+ end
240
+
241
+ ##
242
+ # Lists RoomPageMetadata records from the API as a list.
243
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
244
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
245
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
246
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
247
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
248
+ # guarantees to never return more than limit. Default is no limit
249
+ # @param [Integer] page_size Number of records to fetch per request, when
250
+ # not set will use the default value of 50 records. If no page_size is defined
251
+ # but a limit is defined, stream() will attempt to read the limit with the most
252
+ # efficient page size, i.e. min(limit, 1000)
253
+ # @return [Array] Array of up to limit results
254
+ def list_with_metadata(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, limit: nil, page_size: nil)
255
+ limits = @version.read_limits(limit, page_size)
256
+ params = Twilio::Values.of({
257
+ 'Status' => status,
258
+ 'UniqueName' => unique_name,
259
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
260
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
261
+
262
+ 'PageSize' => limits[:page_size],
263
+ });
264
+ headers = Twilio::Values.of({})
265
+
266
+ response = @version.page('GET', @uri, params: params, headers: headers)
267
+
268
+ RoomPageMetadata.new(@version, response, @solution, limits[:limit])
269
+ end
270
+
271
+ ##
272
+ # When passed a block, yields RoomInstance records from the API.
273
+ # This operation lazily loads records as efficiently as possible until the limit
274
+ # is reached.
275
+ def each
276
+ limits = @version.read_limits
277
+
278
+ page = self.page(page_size: limits[:page_size], )
279
+
280
+ @version.stream(page,
173
281
  limit: limits[:limit],
174
282
  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
283
+ end
284
+
285
+ ##
286
+ # Retrieve a single page of RoomInstance records from the API.
287
+ # Request is executed immediately.
288
+ # @param [RoomStatus] status Read only the rooms with this status. Can be: `in-progress` (default) or `completed`
289
+ # @param [String] unique_name Read only rooms with the this `unique_name`.
290
+ # @param [Time] date_created_after Read only rooms that started on or after this date, given as `YYYY-MM-DD`.
291
+ # @param [Time] date_created_before Read only rooms that started before this date, given as `YYYY-MM-DD`.
292
+ # @param [String] page_token PageToken provided by the API
293
+ # @param [Integer] page_number Page Number, this value is simply for client state
294
+ # @param [Integer] page_size Number of records to return, defaults to 50
295
+ # @return [Page] Page of RoomInstance
296
+ def page(status: :unset, unique_name: :unset, date_created_after: :unset, date_created_before: :unset, page_token: :unset, page_number: :unset,page_size: :unset)
297
+ params = Twilio::Values.of({
298
+ 'Status' => status,
299
+ 'UniqueName' => unique_name,
300
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
301
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
302
+ 'PageToken' => page_token,
303
+ 'Page' => page_number,
304
+ 'PageSize' => page_size,
305
+ })
306
+ headers = Twilio::Values.of({})
307
+
308
+
309
+
310
+ response = @version.page('GET', @uri, params: params, headers: headers)
311
+
312
+ RoomPage.new(@version, response, @solution)
313
+ end
314
+
315
+ ##
316
+ # Retrieve a single page of RoomInstance records from the API.
317
+ # Request is executed immediately.
318
+ # @param [String] target_url API-generated URL for the requested results page
319
+ # @return [Page] Page of RoomInstance
320
+ def get_page(target_url)
321
+ response = @version.domain.request(
322
+ 'GET',
323
+ target_url
324
+ )
325
+ RoomPage.new(@version, response, @solution)
326
+ end
327
+
328
+
329
+
330
+ # Provide a user friendly representation
331
+ def to_s
332
+ '#<Twilio.Video.V1.RoomList>'
333
+ end
334
+ end
335
+
336
+
337
+ class RoomContext < InstanceContext
338
+ ##
339
+ # Initialize the RoomContext
340
+ # @param [Version] version Version that contains the resource
341
+ # @param [String] sid The SID of the Room resource to update.
342
+ # @return [RoomContext] RoomContext
343
+ def initialize(version, sid)
344
+ super(version)
345
+
346
+
347
+ # Path Solution
348
+ @solution = { sid: sid, }
349
+ @uri = "/Rooms/#{@solution[:sid]}"
350
+
351
+ # Dependents
352
+ @recording_rules = nil
353
+ @participants = nil
354
+ @transcriptions = nil
355
+ @recordings = nil
356
+ end
357
+ ##
358
+ # Fetch the RoomInstance
359
+ # @return [RoomInstance] Fetched RoomInstance
360
+ def fetch
361
+
362
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
363
+
364
+
365
+
366
+
367
+
368
+ payload = @version.fetch('GET', @uri, headers: headers)
369
+ RoomInstance.new(
370
+ @version,
371
+ payload,
372
+ sid: @solution[:sid],
373
+ )
374
+ end
375
+
376
+ ##
377
+ # Fetch the RoomInstanceMetadata
378
+ # @return [RoomInstance] Fetched RoomInstance
379
+ def fetch_with_metadata
380
+
381
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
382
+
383
+
384
+
385
+
386
+
387
+ response = @version.fetch_with_metadata('GET', @uri, headers: headers)
388
+ room_instance = RoomInstance.new(
389
+ @version,
390
+ response.body,
391
+ sid: @solution[:sid],
392
+ )
393
+ RoomInstanceMetadata.new(
394
+ @version,
395
+ room_instance,
396
+ response.headers,
397
+ response.status_code
398
+ )
399
+ end
400
+
401
+ ##
402
+ # Update the RoomInstance
403
+ # @param [RoomStatus] status
404
+ # @return [RoomInstance] Updated RoomInstance
405
+ def update(
406
+ status: nil
407
+ )
408
+
409
+ data = Twilio::Values.of({
410
+ 'Status' => status,
411
+ })
412
+
413
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
414
+
415
+
416
+
417
+
418
+
419
+ payload = @version.update('POST', @uri, data: data, headers: headers)
420
+ RoomInstance.new(
421
+ @version,
422
+ payload,
423
+ sid: @solution[:sid],
424
+ )
425
+ end
426
+
427
+ ##
428
+ # Update the RoomInstanceMetadata
429
+ # @param [RoomStatus] status
430
+ # @return [RoomInstance] Updated RoomInstance
431
+ def update_with_metadata(
432
+ status: nil
433
+ )
434
+
435
+ data = Twilio::Values.of({
436
+ 'Status' => status,
437
+ })
438
+
439
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
440
+
441
+
442
+
443
+
444
+
445
+ response = @version.update_with_metadata('POST', @uri, data: data, headers: headers)
446
+ room_instance = RoomInstance.new(
447
+ @version,
448
+ response.body,
449
+ sid: @solution[:sid],
450
+ )
451
+ RoomInstanceMetadata.new(
452
+ @version,
453
+ room_instance,
454
+ response.headers,
455
+ response.status_code
456
+ )
457
+ end
458
+
459
+ ##
460
+ # Access the recording_rules
461
+ # @return [RecordingRulesList]
462
+ # @return [RecordingRulesContext]
463
+ def recording_rules
464
+ unless @recording_rules
465
+ @recording_rules = RecordingRulesList.new(
466
+ @version, room_sid: @solution[:sid], )
467
+ end
468
+ @recording_rules
469
+ end
470
+ ##
471
+ # Access the participants
472
+ # @return [ParticipantList]
473
+ # @return [ParticipantContext] if sid was passed.
474
+ def participants(sid=:unset)
475
+
476
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
477
+
478
+ if sid != :unset
479
+ return ParticipantContext.new(@version, @solution[:sid],sid )
480
+ end
481
+
482
+ unless @participants
483
+ @participants = ParticipantList.new(
484
+ @version, room_sid: @solution[:sid], )
485
+ end
486
+
487
+ @participants
488
+ end
489
+ ##
490
+ # Access the transcriptions
491
+ # @return [TranscriptionsList]
492
+ # @return [TranscriptionsContext] if sid was passed.
493
+ def transcriptions(ttid=:unset)
494
+
495
+ raise ArgumentError, 'ttid cannot be nil' if ttid.nil?
496
+
497
+ if ttid != :unset
498
+ return TranscriptionsContext.new(@version, @solution[:sid],ttid )
499
+ end
500
+
501
+ unless @transcriptions
502
+ @transcriptions = TranscriptionsList.new(
503
+ @version, room_sid: @solution[:sid], )
504
+ end
505
+
506
+ @transcriptions
507
+ end
508
+ ##
509
+ # Access the recordings
510
+ # @return [RoomRecordingList]
511
+ # @return [RoomRecordingContext] if sid was passed.
512
+ def recordings(sid=:unset)
513
+
514
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
515
+
516
+ if sid != :unset
517
+ return RoomRecordingContext.new(@version, @solution[:sid],sid )
518
+ end
519
+
520
+ unless @recordings
521
+ @recordings = RoomRecordingList.new(
522
+ @version, room_sid: @solution[:sid], )
523
+ end
524
+
525
+ @recordings
526
+ end
527
+
528
+ ##
529
+ # Provide a user friendly representation
530
+ def to_s
531
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
532
+ "#<Twilio.Video.V1.RoomContext #{context}>"
533
+ end
534
+
535
+ ##
536
+ # Provide a detailed, user friendly representation
537
+ def inspect
538
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
539
+ "#<Twilio.Video.V1.RoomContext #{context}>"
540
+ end
541
+ end
542
+
543
+ class RoomInstanceMetadata < InstanceResourceMetadata
544
+ ##
545
+ # Initializes a new RoomInstanceMetadata.
546
+ # @param [Version] version Version that contains the resource
547
+ # @param [}RoomInstance] room_instance The instance associated with the metadata.
548
+ # @param [Hash] headers Header object with response headers.
549
+ # @param [Integer] status_code The HTTP status code of the response.
550
+ # @return [RoomInstanceMetadata] The initialized instance with metadata.
551
+ def initialize(version, room_instance, headers, status_code)
552
+ super(version, headers, status_code)
553
+ @room_instance = room_instance
554
+ end
555
+
556
+ def room
557
+ @room_instance
558
+ end
559
+
560
+ def headers
561
+ @headers
562
+ end
563
+
564
+ def status_code
565
+ @status_code
566
+ end
567
+
568
+ def to_s
569
+ "<Twilio.Api.V2010.RoomInstanceMetadata status=#{@status_code}>"
570
+ end
571
+ end
572
+
573
+ class RoomListResponse < InstanceListResource
574
+ # @param [Array<RoomInstance>] instance
575
+ # @param [Hash{String => Object}] headers
576
+ # @param [Integer] status_code
577
+ def initialize(version, payload, key)
578
+ @room_instance = payload.body[key].map do |data|
579
+ RoomInstance.new(version, data)
580
+ end
581
+ @headers = payload.headers
582
+ @status_code = payload.status_code
583
+ end
584
+
585
+ def room_instance
586
+ @instance
587
+ end
588
+ end
589
+
590
+ class RoomPage < Page
591
+ ##
592
+ # Initialize the RoomPage
593
+ # @param [Version] version Version that contains the resource
594
+ # @param [Response] response Response from the API
595
+ # @param [Hash] solution Path solution for the resource
596
+ # @return [RoomPage] RoomPage
597
+ def initialize(version, response, solution)
598
+ super(version, response)
599
+
600
+
601
+ # Path Solution
602
+ @solution = solution
603
+ end
604
+
605
+ ##
606
+ # Build an instance of RoomInstance
607
+ # @param [Hash] payload Payload response from the API
608
+ # @return [RoomInstance] RoomInstance
609
+ def get_instance(payload)
610
+ RoomInstance.new(@version, payload)
611
+ end
612
+
613
+ ##
614
+ # Provide a user friendly representation
615
+ def to_s
616
+ '<Twilio.Video.V1.RoomPage>'
617
+ end
618
+ end
619
+
620
+ class RoomPageMetadata < PageMetadata
621
+ attr_reader :room_page
622
+
623
+ def initialize(version, response, solution, limit)
624
+ super(version, response)
625
+ @room_page = []
626
+ @limit = limit
627
+ key = get_key(response.body)
628
+ records = 0
629
+ while( limit != :unset && records < limit )
630
+ @room_page << RoomListResponse.new(version, @payload, key, limit - records)
631
+ @payload = self.next_page
632
+ break unless @payload
633
+ records += @payload.body[key].size
634
+ end
635
+ # Path Solution
636
+ @solution = solution
637
+ end
638
+
639
+ def each
640
+ @room_page.each do |record|
641
+ yield record
642
+ end
643
+ end
644
+
645
+ def to_s
646
+ '<Twilio::REST::Video::V1PageMetadata>';
647
+ end
648
+ end
649
+ class RoomListResponse < InstanceListResource
650
+
651
+ # @param [Array<RoomInstance>] instance
652
+ # @param [Hash{String => Object}] headers
653
+ # @param [Integer] status_code
654
+ def initialize(version, payload, key, limit = :unset)
655
+ data_list = payload.body[key]
656
+ if limit != :unset
657
+ data_list = data_list[0, limit]
658
+ end
659
+ @room = data_list.map do |data|
660
+ RoomInstance.new(version, data)
661
+ end
662
+ @headers = payload.headers
663
+ @status_code = payload.status_code
664
+ end
665
+
666
+ def room
667
+ @room
668
+ end
669
+
670
+ def headers
671
+ @headers
672
+ end
673
+
674
+ def status_code
675
+ @status_code
676
+ end
677
+ end
678
+
679
+ class RoomInstance < InstanceResource
680
+ ##
681
+ # Initialize the RoomInstance
682
+ # @param [Version] version Version that contains the resource
683
+ # @param [Hash] payload payload that contains response from Twilio
684
+ # @param [String] account_sid The SID of the
685
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Room
686
+ # resource.
687
+ # @param [String] sid The SID of the Call resource to fetch.
688
+ # @return [RoomInstance] RoomInstance
689
+ def initialize(version, payload , sid: nil)
690
+ super(version)
691
+
692
+
693
+ # Marshaled Properties
694
+ @properties = {
695
+ 'sid' => payload['sid'],
696
+ 'status' => payload['status'],
697
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
698
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
699
+ 'account_sid' => payload['account_sid'],
700
+ 'enable_turn' => payload['enable_turn'],
701
+ 'unique_name' => payload['unique_name'],
702
+ 'status_callback' => payload['status_callback'],
703
+ 'status_callback_method' => payload['status_callback_method'],
704
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
705
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
706
+ 'type' => payload['type'],
707
+ 'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
708
+ 'max_participant_duration' => payload['max_participant_duration'] == nil ? payload['max_participant_duration'] : payload['max_participant_duration'].to_i,
709
+ 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
710
+ 'record_participants_on_connect' => payload['record_participants_on_connect'],
711
+ 'video_codecs' => payload['video_codecs'],
712
+ 'media_region' => payload['media_region'],
713
+ 'audio_only' => payload['audio_only'],
714
+ 'empty_room_timeout' => payload['empty_room_timeout'] == nil ? payload['empty_room_timeout'] : payload['empty_room_timeout'].to_i,
715
+ 'unused_room_timeout' => payload['unused_room_timeout'] == nil ? payload['unused_room_timeout'] : payload['unused_room_timeout'].to_i,
716
+ 'large_room' => payload['large_room'],
717
+ 'url' => payload['url'],
718
+ 'links' => payload['links'],
719
+ }
720
+
721
+ # Context
722
+ @instance_context = nil
723
+ @params = { 'sid' => sid || @properties['sid'] , }
724
+ end
725
+
726
+ ##
727
+ # Generate an instance context for the instance, the context is capable of
728
+ # performing various actions. All instance actions are proxied to the context
729
+ # @return [RoomContext] CallContext for this CallInstance
730
+ def context
731
+ unless @instance_context
732
+ @instance_context = RoomContext.new(@version , @params['sid'])
733
+ end
734
+ @instance_context
735
+ end
736
+
737
+ ##
738
+ # @return [String] The unique string that Twilio created to identify the Room resource.
739
+ def sid
740
+ @properties['sid']
741
+ end
742
+
743
+ ##
744
+ # @return [RoomStatus]
745
+ def status
746
+ @properties['status']
747
+ end
748
+
749
+ ##
750
+ # @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.
751
+ def date_created
752
+ @properties['date_created']
753
+ end
754
+
755
+ ##
756
+ # @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.
757
+ def date_updated
758
+ @properties['date_updated']
759
+ end
760
+
761
+ ##
762
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Room resource.
763
+ def account_sid
764
+ @properties['account_sid']
765
+ end
766
+
767
+ ##
768
+ # @return [Boolean] Deprecated, now always considered to be true.
769
+ def enable_turn
770
+ @properties['enable_turn']
771
+ end
772
+
773
+ ##
774
+ # @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`.
775
+ def unique_name
776
+ @properties['unique_name']
777
+ end
778
+
779
+ ##
780
+ # @return [String] The URL Twilio calls 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.
781
+ def status_callback
782
+ @properties['status_callback']
783
+ end
784
+
785
+ ##
786
+ # @return [String] The HTTP method Twilio uses to call `status_callback`. Can be `POST` or `GET` and defaults to `POST`.
787
+ def status_callback_method
788
+ @properties['status_callback_method']
789
+ end
790
+
791
+ ##
792
+ # @return [Time] The UTC end time of the room in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#UTC) format.
793
+ def end_time
794
+ @properties['end_time']
795
+ end
796
+
797
+ ##
798
+ # @return [String] The duration of the room in seconds.
799
+ def duration
800
+ @properties['duration']
801
+ end
802
+
803
+ ##
804
+ # @return [RoomType]
805
+ def type
806
+ @properties['type']
807
+ end
808
+
809
+ ##
810
+ # @return [String] The maximum number of concurrent Participants allowed in the room.
811
+ def max_participants
812
+ @properties['max_participants']
813
+ end
814
+
815
+ ##
816
+ # @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).
817
+ def max_participant_duration
818
+ @properties['max_participant_duration']
819
+ end
820
+
821
+ ##
822
+ # @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.
823
+ def max_concurrent_published_tracks
824
+ @properties['max_concurrent_published_tracks']
825
+ end
826
+
827
+ ##
828
+ # @return [Boolean] Whether to start recording when Participants connect.
829
+ def record_participants_on_connect
830
+ @properties['record_participants_on_connect']
831
+ end
832
+
833
+ ##
834
+ # @return [Array<VideoCodec>] An array of the video codecs that are supported when publishing a track in the room. Can be: `VP8` and `H264`.
835
+ def video_codecs
836
+ @properties['video_codecs']
837
+ end
838
+
839
+ ##
840
+ # @return [String] The region for the Room's media server. Can be one of the [available Media Regions](https://www.twilio.com/docs/video/ip-addresses#media-servers).
841
+ def media_region
842
+ @properties['media_region']
843
+ end
844
+
845
+ ##
846
+ # @return [Boolean] When set to true, indicates that the participants in the room will only publish audio. No video tracks will be allowed.
847
+ def audio_only
848
+ @properties['audio_only']
849
+ end
850
+
851
+ ##
852
+ # @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.
853
+ def empty_room_timeout
854
+ @properties['empty_room_timeout']
855
+ end
856
+
857
+ ##
858
+ # @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.
859
+ def unused_room_timeout
860
+ @properties['unused_room_timeout']
861
+ end
862
+
863
+ ##
864
+ # @return [Boolean] Indicates if this is a large room.
865
+ def large_room
866
+ @properties['large_room']
867
+ end
868
+
869
+ ##
870
+ # @return [String] The absolute URL of the resource.
871
+ def url
872
+ @properties['url']
873
+ end
874
+
875
+ ##
876
+ # @return [Hash] The URLs of related resources.
877
+ def links
878
+ @properties['links']
879
+ end
880
+
881
+ ##
882
+ # Fetch the RoomInstance
883
+ # @return [RoomInstance] Fetched RoomInstance
884
+ def fetch
885
+
886
+ context.fetch
887
+ end
888
+
889
+ ##
890
+ # Update the RoomInstance
891
+ # @param [RoomStatus] status
892
+ # @return [RoomInstance] Updated RoomInstance
893
+ def update(
894
+ status: nil
895
+ )
896
+
897
+ context.update(
898
+ status: status,
899
+ )
900
+ end
901
+
902
+ ##
903
+ # Access the recording_rules
904
+ # @return [recording_rules] recording_rules
905
+ def recording_rules
906
+ context.recording_rules
907
+ end
908
+
909
+ ##
910
+ # Access the participants
911
+ # @return [participants] participants
912
+ def participants
913
+ context.participants
914
+ end
915
+
916
+ ##
917
+ # Access the transcriptions
918
+ # @return [transcriptions] transcriptions
919
+ def transcriptions
920
+ context.transcriptions
921
+ end
922
+
923
+ ##
924
+ # Access the recordings
925
+ # @return [recordings] recordings
926
+ def recordings
927
+ context.recordings
928
+ end
929
+
930
+ ##
931
+ # Provide a user friendly representation
932
+ def to_s
933
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
934
+ "<Twilio.Video.V1.RoomInstance #{values}>"
935
+ end
936
+
937
+ ##
938
+ # Provide a detailed, user friendly representation
939
+ def inspect
940
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
941
+ "<Twilio.Video.V1.RoomInstance #{values}>"
942
+ end
943
+ end
359
944
 
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
945
  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
946
  end
609
- end
610
947
  end
611
- end
612
- end
948
+ end