twilio-ruby 3.11.5 → 5.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (673) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +1 -0
  3. data/.github/workflows/pr-lint.yml +15 -0
  4. data/.github/workflows/test-and-deploy.yml +129 -0
  5. data/.gitignore +12 -2
  6. data/.rubocop.yml +59 -0
  7. data/.rubocop_todo.yml +261 -0
  8. data/AUTHORS.md +21 -0
  9. data/CHANGES.md +3045 -0
  10. data/CODE_OF_CONDUCT.md +73 -0
  11. data/CONTRIBUTING.md +161 -0
  12. data/Dockerfile +9 -0
  13. data/Gemfile +2 -2
  14. data/ISSUE_TEMPLATE.md +30 -0
  15. data/LICENSE +13 -11
  16. data/Makefile +26 -5
  17. data/PULL_REQUEST_TEMPLATE.md +31 -0
  18. data/README.md +171 -90
  19. data/Rakefile +8 -10
  20. data/UPGRADE.md +30 -0
  21. data/VERSIONS.md +35 -0
  22. data/examples/examples.rb +62 -49
  23. data/examples/{print-call-log.rb → print_call_log.rb} +7 -7
  24. data/githooks/pre-commit +1 -0
  25. data/lib/rack/twilio_webhook_authentication.rb +72 -0
  26. data/lib/twilio-ruby/framework/request.rb +41 -0
  27. data/lib/twilio-ruby/framework/response.rb +18 -0
  28. data/lib/twilio-ruby/framework/rest/domain.rb +36 -0
  29. data/lib/twilio-ruby/framework/rest/error.rb +51 -0
  30. data/lib/twilio-ruby/framework/rest/helper.rb +11 -0
  31. data/lib/twilio-ruby/framework/rest/obsolete_client.rb +12 -0
  32. data/lib/twilio-ruby/framework/rest/page.rb +103 -0
  33. data/lib/twilio-ruby/framework/rest/resource.rb +23 -0
  34. data/lib/twilio-ruby/framework/rest/version.rb +153 -0
  35. data/lib/twilio-ruby/framework/serialize.rb +81 -0
  36. data/lib/twilio-ruby/framework/twilio_response.rb +19 -0
  37. data/lib/twilio-ruby/framework/values.rb +9 -0
  38. data/lib/twilio-ruby/http/http_client.rb +79 -0
  39. data/lib/twilio-ruby/http.rb +5 -0
  40. data/lib/twilio-ruby/jwt/access_token.rb +285 -0
  41. data/lib/twilio-ruby/jwt/client_capability.rb +102 -0
  42. data/lib/twilio-ruby/jwt/jwt.rb +59 -0
  43. data/lib/twilio-ruby/jwt/task_router.rb +172 -0
  44. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  45. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +339 -0
  46. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +339 -0
  47. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -0
  48. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  49. data/lib/twilio-ruby/rest/accounts/v1.rb +49 -0
  50. data/lib/twilio-ruby/rest/accounts.rb +50 -9
  51. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +372 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +521 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +593 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +327 -0
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +500 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +500 -0
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
  60. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +500 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +464 -0
  63. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +301 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +314 -0
  67. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +428 -0
  68. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  69. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +522 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  71. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +998 -0
  73. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +728 -0
  74. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  75. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +500 -0
  76. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +414 -0
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +367 -0
  78. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +431 -0
  79. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +561 -0
  80. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +560 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +560 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +910 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +309 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +173 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +361 -0
  86. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +632 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +145 -0
  88. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +145 -0
  89. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +406 -0
  90. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +365 -0
  91. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +349 -0
  92. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +397 -0
  93. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +387 -0
  94. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +398 -0
  95. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +383 -0
  96. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +520 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +415 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +313 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +387 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +386 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +356 -0
  108. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +355 -0
  109. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +660 -0
  110. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +432 -0
  111. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +387 -0
  112. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +157 -0
  113. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +161 -0
  114. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +357 -0
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +351 -0
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +351 -0
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +351 -0
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +351 -0
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +351 -0
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +351 -0
  121. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +351 -0
  122. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +351 -0
  123. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +423 -0
  124. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +495 -0
  125. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +120 -0
  126. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +168 -0
  127. data/lib/twilio-ruby/rest/api/v2010/account.rb +953 -0
  128. data/lib/twilio-ruby/rest/api/v2010.rb +154 -0
  129. data/lib/twilio-ruby/rest/api.rb +247 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +418 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  141. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  142. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  143. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  144. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  145. data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
  146. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  148. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  149. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  150. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  151. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  152. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  153. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  154. data/lib/twilio-ruby/rest/chat/v1/credential.rb +413 -0
  155. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +402 -0
  156. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +451 -0
  157. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +448 -0
  158. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +522 -0
  159. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +374 -0
  160. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +246 -0
  161. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +447 -0
  162. data/lib/twilio-ruby/rest/chat/v1/service.rb +904 -0
  163. data/lib/twilio-ruby/rest/chat/v1.rb +62 -0
  164. data/lib/twilio-ruby/rest/chat/v2/credential.rb +411 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +377 -0
  166. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +397 -0
  167. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +538 -0
  168. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +544 -0
  169. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
  170. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -0
  171. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +376 -0
  172. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +392 -0
  173. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +430 -0
  174. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +498 -0
  175. data/lib/twilio-ruby/rest/chat/v2/service.rb +788 -0
  176. data/lib/twilio-ruby/rest/chat/v2.rb +60 -0
  177. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  178. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  179. data/lib/twilio-ruby/rest/chat.rb +79 -0
  180. data/lib/twilio-ruby/rest/client.rb +572 -214
  181. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +323 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +286 -0
  196. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  197. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  199. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  200. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  201. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  202. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  203. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  204. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  205. data/lib/twilio-ruby/rest/conversations/v1/service.rb +457 -0
  206. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  207. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  208. data/lib/twilio-ruby/rest/conversations/v1.rb +143 -0
  209. data/lib/twilio-ruby/rest/conversations.rb +104 -0
  210. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  211. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  212. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  213. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  214. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  215. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  216. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  217. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  218. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  219. data/lib/twilio-ruby/rest/events.rb +72 -0
  220. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  221. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +490 -0
  222. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +580 -0
  223. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  224. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  226. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +233 -0
  227. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  228. data/lib/twilio-ruby/rest/flex_api/v1.rb +99 -0
  229. data/lib/twilio-ruby/rest/flex_api.rb +80 -0
  230. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  231. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  232. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  233. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  234. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  235. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  236. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +314 -0
  237. data/lib/twilio-ruby/rest/insights/v1/call.rb +244 -0
  238. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  239. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  240. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  241. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  242. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  243. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  244. data/lib/twilio-ruby/rest/insights/v1.rb +90 -0
  245. data/lib/twilio-ruby/rest/insights.rb +74 -0
  246. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +374 -0
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +370 -0
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +408 -0
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +420 -0
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +495 -0
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +354 -0
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +240 -0
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +425 -0
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +789 -0
  255. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +60 -0
  256. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +374 -0
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +350 -0
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +370 -0
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +462 -0
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +490 -0
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +562 -0
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +354 -0
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +362 -0
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +395 -0
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +474 -0
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +699 -0
  268. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +60 -0
  269. data/lib/twilio-ruby/rest/ip_messaging.rb +61 -0
  270. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +247 -0
  271. data/lib/twilio-ruby/rest/lookups/v1.rb +46 -0
  272. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +261 -0
  273. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  274. data/lib/twilio-ruby/rest/lookups.rb +55 -0
  275. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  276. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  277. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  278. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  279. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  280. data/lib/twilio-ruby/rest/media.rb +58 -7
  281. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  282. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +453 -0
  283. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  284. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +342 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +348 -0
  287. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +343 -0
  288. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/service.rb +773 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  292. data/lib/twilio-ruby/rest/messaging/v1.rb +81 -0
  293. data/lib/twilio-ruby/rest/messaging.rb +73 -0
  294. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +305 -0
  295. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +332 -0
  296. data/lib/twilio-ruby/rest/microvisor/v1.rb +60 -0
  297. data/lib/twilio-ruby/rest/microvisor.rb +54 -0
  298. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +405 -0
  299. data/lib/twilio-ruby/rest/monitor/v1/event.rb +400 -0
  300. data/lib/twilio-ruby/rest/monitor/v1.rb +60 -0
  301. data/lib/twilio-ruby/rest/monitor.rb +56 -0
  302. data/lib/twilio-ruby/rest/notify/v1/credential.rb +418 -0
  303. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +459 -0
  304. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +369 -0
  305. data/lib/twilio-ruby/rest/notify/v1/service.rb +632 -0
  306. data/lib/twilio-ruby/rest/notify/v1.rb +62 -0
  307. data/lib/twilio-ruby/rest/notify.rb +56 -0
  308. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  309. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  310. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  311. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  312. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +614 -0
  313. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +358 -0
  314. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  315. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  316. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +378 -0
  317. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  318. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  319. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  320. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  321. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +382 -0
  322. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +365 -0
  323. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +425 -0
  324. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +376 -0
  325. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +469 -0
  326. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +45 -0
  327. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
  328. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +456 -0
  329. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +635 -0
  330. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +62 -0
  331. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +305 -0
  332. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +319 -0
  333. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +337 -0
  334. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +408 -0
  335. data/lib/twilio-ruby/rest/preview/marketplace.rb +60 -0
  336. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +385 -0
  337. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +406 -0
  338. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +418 -0
  339. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +385 -0
  340. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +405 -0
  341. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +415 -0
  342. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +385 -0
  343. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +405 -0
  344. data/lib/twilio-ruby/rest/preview/sync/service.rb +462 -0
  345. data/lib/twilio-ruby/rest/preview/sync.rb +44 -0
  346. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  347. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  348. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  349. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  350. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  351. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  352. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  353. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  354. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  355. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +386 -0
  356. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +407 -0
  357. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +380 -0
  358. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +437 -0
  359. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  360. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +373 -0
  361. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +428 -0
  362. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  363. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  364. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  365. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  366. data/lib/twilio-ruby/rest/preview/understand.rb +45 -0
  367. data/lib/twilio-ruby/rest/preview/wireless/command.rb +374 -0
  368. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +408 -0
  369. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -0
  370. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +533 -0
  371. data/lib/twilio-ruby/rest/preview/wireless.rb +76 -0
  372. data/lib/twilio-ruby/rest/preview.rb +193 -0
  373. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +282 -0
  374. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +127 -0
  375. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +275 -0
  376. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +127 -0
  377. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +282 -0
  378. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +204 -0
  379. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +143 -0
  380. data/lib/twilio-ruby/rest/pricing/v1.rb +49 -0
  381. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  382. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  383. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  384. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  385. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  386. data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
  387. data/lib/twilio-ruby/rest/pricing.rb +82 -0
  388. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +410 -0
  389. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +429 -0
  390. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +458 -0
  391. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +468 -0
  392. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +554 -0
  393. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +377 -0
  394. data/lib/twilio-ruby/rest/proxy/v1/service.rb +606 -0
  395. data/lib/twilio-ruby/rest/proxy/v1.rb +45 -0
  396. data/lib/twilio-ruby/rest/proxy.rb +47 -0
  397. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  398. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  399. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  400. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  401. data/lib/twilio-ruby/rest/routes.rb +62 -0
  402. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  403. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  404. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  405. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  406. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  407. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  408. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  409. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  410. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  411. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  412. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  413. data/lib/twilio-ruby/rest/serverless/v1/service.rb +503 -0
  414. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  415. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  416. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  417. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  418. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +366 -0
  419. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +401 -0
  420. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  421. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  422. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  423. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  424. data/lib/twilio-ruby/rest/studio/v1/flow.rb +365 -0
  425. data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
  426. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  427. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  428. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  429. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  430. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +327 -0
  431. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  432. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  433. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  434. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  435. data/lib/twilio-ruby/rest/studio.rb +60 -0
  436. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +372 -0
  437. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +493 -0
  438. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +416 -0
  439. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  440. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  441. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  442. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  443. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  444. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +463 -0
  445. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  446. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +352 -0
  447. data/lib/twilio-ruby/rest/supersim/v1.rb +147 -0
  448. data/lib/twilio-ruby/rest/supersim.rb +106 -0
  449. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +382 -0
  450. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +430 -0
  451. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +501 -0
  452. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +381 -0
  453. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +452 -0
  454. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +506 -0
  455. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +379 -0
  456. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +451 -0
  457. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -0
  458. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +407 -0
  459. data/lib/twilio-ruby/rest/sync/v1/service.rb +577 -0
  460. data/lib/twilio-ruby/rest/sync/v1.rb +44 -0
  461. data/lib/twilio-ruby/rest/sync.rb +47 -0
  462. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +402 -0
  463. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +471 -0
  464. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +747 -0
  465. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +668 -0
  466. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +389 -0
  467. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +381 -0
  468. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +287 -0
  469. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +265 -0
  470. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +285 -0
  471. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +573 -0
  472. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +743 -0
  473. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +399 -0
  474. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +250 -0
  475. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +277 -0
  476. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +204 -0
  477. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +245 -0
  478. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +638 -0
  479. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +387 -0
  480. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +252 -0
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +273 -0
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +517 -0
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +363 -0
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -0
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -0
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +740 -0
  487. data/lib/twilio-ruby/rest/taskrouter/v1.rb +44 -0
  488. data/lib/twilio-ruby/rest/taskrouter.rb +47 -0
  489. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +327 -0
  490. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +324 -0
  491. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +426 -0
  492. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +458 -0
  493. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  494. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +640 -0
  495. data/lib/twilio-ruby/rest/trunking/v1.rb +45 -0
  496. data/lib/twilio-ruby/rest/trunking.rb +47 -0
  497. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  498. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  499. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  500. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  501. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  502. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  503. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  504. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  505. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  506. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  507. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  508. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  509. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  510. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  511. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  512. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  513. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +269 -0
  514. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  515. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +551 -0
  516. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +472 -0
  517. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +309 -0
  518. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -0
  519. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  520. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  521. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  522. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +373 -0
  523. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +212 -0
  524. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  525. data/lib/twilio-ruby/rest/verify/v2/service.rb +790 -0
  526. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  527. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  528. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  529. data/lib/twilio-ruby/rest/verify/v2.rb +92 -0
  530. data/lib/twilio-ruby/rest/verify.rb +77 -0
  531. data/lib/twilio-ruby/rest/video/v1/composition.rb +517 -0
  532. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
  533. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  534. data/lib/twilio-ruby/rest/video/v1/recording.rb +436 -0
  535. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  536. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +413 -0
  537. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +335 -0
  538. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  539. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  540. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +483 -0
  541. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  542. data/lib/twilio-ruby/rest/video/v1/room.rb +612 -0
  543. data/lib/twilio-ruby/rest/video/v1.rb +106 -0
  544. data/lib/twilio-ruby/rest/video.rb +86 -0
  545. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  546. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  547. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  548. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  549. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  550. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  551. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  552. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  553. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
  554. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  555. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  556. data/lib/twilio-ruby/rest/voice/v1.rb +124 -0
  557. data/lib/twilio-ruby/rest/voice.rb +88 -0
  558. data/lib/twilio-ruby/rest/wireless/v1/command.rb +416 -0
  559. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +446 -0
  560. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +291 -0
  561. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +250 -0
  562. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +657 -0
  563. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  564. data/lib/twilio-ruby/rest/wireless/v1.rb +83 -0
  565. data/lib/twilio-ruby/rest/wireless.rb +71 -0
  566. data/lib/twilio-ruby/rest.rb +13 -0
  567. data/lib/twilio-ruby/security/request_validator.rb +150 -0
  568. data/lib/twilio-ruby/twiml/fax_response.rb +45 -0
  569. data/lib/twilio-ruby/twiml/messaging_response.rb +107 -0
  570. data/lib/twilio-ruby/twiml/twiml.rb +126 -0
  571. data/lib/twilio-ruby/twiml/voice_response.rb +1849 -0
  572. data/lib/twilio-ruby/util/configuration.rb +33 -0
  573. data/lib/twilio-ruby/util.rb +5 -1
  574. data/lib/twilio-ruby/version.rb +1 -1
  575. data/lib/twilio-ruby.rb +39 -50
  576. data/sonar-project.properties +13 -0
  577. data/twilio-ruby.gemspec +34 -26
  578. metadata +674 -141
  579. data/.travis.yml +0 -13
  580. data/CHANGES +0 -47
  581. data/docs/Makefile +0 -130
  582. data/docs/_themes/LICENSE +0 -45
  583. data/docs/_themes/README.rst +0 -25
  584. data/docs/_themes/flask_theme_support.py +0 -86
  585. data/docs/_themes/kr/layout.html +0 -32
  586. data/docs/_themes/kr/relations.html +0 -19
  587. data/docs/_themes/kr/static/flasky.css_t +0 -469
  588. data/docs/_themes/kr/static/small_flask.css +0 -70
  589. data/docs/_themes/kr/theme.conf +0 -7
  590. data/docs/_themes/kr_small/layout.html +0 -22
  591. data/docs/_themes/kr_small/static/flasky.css_t +0 -287
  592. data/docs/_themes/kr_small/theme.conf +0 -10
  593. data/docs/changelog.rst +0 -1
  594. data/docs/conf.py +0 -266
  595. data/docs/faq.rst +0 -42
  596. data/docs/getting-started.rst +0 -91
  597. data/docs/index.rst +0 -109
  598. data/docs/make.bat +0 -170
  599. data/docs/src/pip-delete-this-directory.txt +0 -5
  600. data/docs/usage/accounts.rst +0 -89
  601. data/docs/usage/applications.rst +0 -108
  602. data/docs/usage/basics.rst +0 -102
  603. data/docs/usage/caller-ids.rst +0 -45
  604. data/docs/usage/conferences.rst +0 -108
  605. data/docs/usage/errors.rst +0 -29
  606. data/docs/usage/messages.rst +0 -109
  607. data/docs/usage/notifications.rst +0 -70
  608. data/docs/usage/phone-calls.rst +0 -166
  609. data/docs/usage/phone-numbers.rst +0 -174
  610. data/docs/usage/queues.rst +0 -112
  611. data/docs/usage/recordings.rst +0 -96
  612. data/docs/usage/sip.rst +0 -103
  613. data/docs/usage/token-generation.rst +0 -81
  614. data/docs/usage/transcriptions.rst +0 -31
  615. data/docs/usage/twiml.rst +0 -69
  616. data/docs/usage/validation.rst +0 -71
  617. data/lib/twilio-ruby/rest/applications.rb +0 -6
  618. data/lib/twilio-ruby/rest/authorized_connect_apps.rb +0 -6
  619. data/lib/twilio-ruby/rest/available_phone_numbers/country.rb +0 -10
  620. data/lib/twilio-ruby/rest/available_phone_numbers/local.rb +0 -11
  621. data/lib/twilio-ruby/rest/available_phone_numbers/mobile.rb +0 -11
  622. data/lib/twilio-ruby/rest/available_phone_numbers/toll_free.rb +0 -11
  623. data/lib/twilio-ruby/rest/available_phone_numbers.rb +0 -13
  624. data/lib/twilio-ruby/rest/calls.rb +0 -28
  625. data/lib/twilio-ruby/rest/conferences/participants.rb +0 -23
  626. data/lib/twilio-ruby/rest/conferences.rb +0 -12
  627. data/lib/twilio-ruby/rest/connect_apps.rb +0 -6
  628. data/lib/twilio-ruby/rest/errors.rb +0 -14
  629. data/lib/twilio-ruby/rest/incoming_phone_numbers/local.rb +0 -13
  630. data/lib/twilio-ruby/rest/incoming_phone_numbers/mobile.rb +0 -13
  631. data/lib/twilio-ruby/rest/incoming_phone_numbers/toll_free.rb +0 -13
  632. data/lib/twilio-ruby/rest/incoming_phone_numbers.rb +0 -17
  633. data/lib/twilio-ruby/rest/instance_resource.rb +0 -101
  634. data/lib/twilio-ruby/rest/list_resource.rb +0 -110
  635. data/lib/twilio-ruby/rest/messages.rb +0 -17
  636. data/lib/twilio-ruby/rest/notifications.rb +0 -6
  637. data/lib/twilio-ruby/rest/outgoing_caller_ids.rb +0 -25
  638. data/lib/twilio-ruby/rest/queues/members.rb +0 -29
  639. data/lib/twilio-ruby/rest/queues.rb +0 -12
  640. data/lib/twilio-ruby/rest/recordings.rb +0 -35
  641. data/lib/twilio-ruby/rest/sandbox.rb +0 -5
  642. data/lib/twilio-ruby/rest/sip/credential_lists/credentials.rb +0 -6
  643. data/lib/twilio-ruby/rest/sip/credential_lists.rb +0 -11
  644. data/lib/twilio-ruby/rest/sip/domains/credential_list_mappings.rb +0 -6
  645. data/lib/twilio-ruby/rest/sip/domains/ip_access_control_list_mappings.rb +0 -6
  646. data/lib/twilio-ruby/rest/sip/domains.rb +0 -12
  647. data/lib/twilio-ruby/rest/sip/ip_access_control_lists/ip_addresses.rb +0 -6
  648. data/lib/twilio-ruby/rest/sip/ip_access_control_lists.rb +0 -11
  649. data/lib/twilio-ruby/rest/sip.rb +0 -12
  650. data/lib/twilio-ruby/rest/sms/messages.rb +0 -15
  651. data/lib/twilio-ruby/rest/sms/short_codes.rb +0 -8
  652. data/lib/twilio-ruby/rest/sms.rb +0 -11
  653. data/lib/twilio-ruby/rest/transcriptions.rb +0 -6
  654. data/lib/twilio-ruby/rest/usage/records.rb +0 -21
  655. data/lib/twilio-ruby/rest/usage/triggers.rb +0 -12
  656. data/lib/twilio-ruby/rest/usage.rb +0 -10
  657. data/lib/twilio-ruby/rest/utils.rb +0 -25
  658. data/lib/twilio-ruby/twiml/response.rb +0 -15
  659. data/lib/twilio-ruby/util/capability.rb +0 -61
  660. data/lib/twilio-ruby/util/request_validator.rb +0 -22
  661. data/spec/rest/account_spec.rb +0 -58
  662. data/spec/rest/call_spec.rb +0 -18
  663. data/spec/rest/client_spec.rb +0 -100
  664. data/spec/rest/conference_spec.rb +0 -9
  665. data/spec/rest/instance_resource_spec.rb +0 -15
  666. data/spec/rest/message_spec.rb +0 -12
  667. data/spec/rest/numbers_spec.rb +0 -46
  668. data/spec/rest/queue_spec.rb +0 -9
  669. data/spec/rest/recording_spec.rb +0 -9
  670. data/spec/spec_helper.rb +0 -6
  671. data/spec/util/capability_spec.rb +0 -137
  672. data/spec/util/request_validator_spec.rb +0 -65
  673. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,612 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ 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,
173
+ limit: limits[:limit],
174
+ 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
359
+
360
+ class RoomInstance < InstanceResource
361
+ ##
362
+ # Initialize the RoomInstance
363
+ # @param [Version] version Version that contains the resource
364
+ # @param [Hash] payload payload that contains response from Twilio
365
+ # @param [String] sid The SID of the Room resource to fetch.
366
+ # @return [RoomInstance] RoomInstance
367
+ def initialize(version, payload, sid: nil)
368
+ super(version)
369
+
370
+ # Marshaled Properties
371
+ @properties = {
372
+ 'sid' => payload['sid'],
373
+ 'status' => payload['status'],
374
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
375
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
376
+ 'account_sid' => payload['account_sid'],
377
+ 'enable_turn' => payload['enable_turn'],
378
+ 'unique_name' => payload['unique_name'],
379
+ 'status_callback' => payload['status_callback'],
380
+ 'status_callback_method' => payload['status_callback_method'],
381
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
382
+ 'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
383
+ 'type' => payload['type'],
384
+ 'max_participants' => payload['max_participants'].to_i,
385
+ 'max_participant_duration' => payload['max_participant_duration'].to_i,
386
+ 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
387
+ 'record_participants_on_connect' => payload['record_participants_on_connect'],
388
+ 'video_codecs' => payload['video_codecs'],
389
+ 'media_region' => payload['media_region'],
390
+ 'audio_only' => payload['audio_only'],
391
+ 'empty_room_timeout' => payload['empty_room_timeout'].to_i,
392
+ 'unused_room_timeout' => payload['unused_room_timeout'].to_i,
393
+ 'large_room' => payload['large_room'],
394
+ 'url' => payload['url'],
395
+ 'links' => payload['links'],
396
+ }
397
+
398
+ # Context
399
+ @instance_context = nil
400
+ @params = {'sid' => sid || @properties['sid'], }
401
+ end
402
+
403
+ ##
404
+ # Generate an instance context for the instance, the context is capable of
405
+ # performing various actions. All instance actions are proxied to the context
406
+ # @return [RoomContext] RoomContext for this RoomInstance
407
+ def context
408
+ unless @instance_context
409
+ @instance_context = RoomContext.new(@version, @params['sid'], )
410
+ 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
+ end
609
+ end
610
+ end
611
+ end
612
+ end