twilio-ruby 5.40.1 → 5.42.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 (378) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +111 -0
  3. data/{LICENSE.md → LICENSE} +0 -0
  4. data/PULL_REQUEST_TEMPLATE.md +3 -3
  5. data/README.md +2 -2
  6. data/lib/twilio-ruby/framework/version.rb +4 -8
  7. data/lib/twilio-ruby/jwt/access_token.rb +7 -2
  8. data/lib/twilio-ruby/rest/accounts.rb +12 -0
  9. data/lib/twilio-ruby/rest/accounts/v1.rb +14 -0
  10. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  11. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  12. data/lib/twilio-ruby/rest/api.rb +1 -1
  13. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +3 -3
  14. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +2 -2
  15. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +3 -3
  16. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +3 -3
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +3 -3
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +32 -23
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +32 -23
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +32 -23
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +32 -23
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +32 -23
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +32 -23
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +32 -23
  25. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +21 -20
  26. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +3 -3
  27. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +3 -3
  28. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +6 -6
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +20 -14
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  31. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +3 -3
  32. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +29 -22
  33. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +3 -3
  34. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  35. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +10 -10
  36. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +3 -3
  37. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +3 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +3 -3
  39. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +3 -3
  40. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +3 -3
  41. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +1 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +28 -21
  43. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +6 -4
  44. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +3 -3
  45. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +3 -3
  46. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +3 -3
  47. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  48. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +5 -5
  49. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +6 -6
  50. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +3 -3
  51. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +3 -3
  52. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +6 -6
  53. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +3 -3
  54. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +1 -1
  55. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +2 -2
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +2 -2
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +3 -3
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +3 -3
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +2 -2
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +3 -3
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +2 -2
  65. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +3 -3
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +6 -6
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +6 -6
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +6 -6
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +6 -6
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +6 -6
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +6 -6
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +6 -6
  73. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +6 -6
  74. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +6 -6
  75. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +19 -18
  76. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +3 -3
  77. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +12 -12
  78. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +3 -3
  79. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +3 -3
  80. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +3 -3
  81. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +15 -11
  82. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +3 -3
  83. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +33 -26
  84. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +3 -3
  85. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +6 -6
  86. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +9 -9
  87. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +31 -24
  88. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +8 -8
  89. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +6 -6
  90. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +3 -3
  91. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +5 -22
  92. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +25 -40
  93. data/lib/twilio-ruby/rest/chat/v1/service.rb +36 -36
  94. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +3 -3
  95. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +19 -19
  96. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +28 -28
  97. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +7 -7
  98. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +5 -5
  99. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +8 -8
  100. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +2 -2
  101. data/lib/twilio-ruby/rest/chat/v2/service.rb +36 -36
  102. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +18 -18
  103. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +15 -15
  104. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +19 -19
  105. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +54 -54
  106. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +25 -25
  107. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +15 -15
  108. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +5 -5
  109. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +8 -8
  110. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +18 -18
  111. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +20 -20
  112. data/lib/twilio-ruby/rest/client.rb +1 -1
  113. data/lib/twilio-ruby/rest/conversations.rb +39 -3
  114. data/lib/twilio-ruby/rest/conversations/v1.rb +68 -5
  115. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  116. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  117. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +34 -23
  118. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +15 -20
  119. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +35 -28
  120. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +42 -44
  121. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +14 -19
  122. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  123. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  124. data/lib/twilio-ruby/rest/conversations/v1/service.rb +434 -0
  125. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  126. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +263 -0
  127. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  128. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +588 -0
  129. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +541 -0
  130. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  131. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +511 -0
  132. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  133. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  134. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +430 -0
  135. data/lib/twilio-ruby/rest/conversations/v1/user.rb +409 -0
  136. data/lib/twilio-ruby/rest/events.rb +17 -0
  137. data/lib/twilio-ruby/rest/events/v1.rb +31 -0
  138. data/lib/twilio-ruby/rest/events/v1/event_type.rb +291 -0
  139. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  140. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +290 -0
  141. data/lib/twilio-ruby/rest/events/v1/subscription.rb +28 -8
  142. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +3 -109
  143. data/lib/twilio-ruby/rest/fax/v1/fax.rb +28 -27
  144. data/lib/twilio-ruby/rest/insights.rb +8 -0
  145. data/lib/twilio-ruby/rest/insights/v1.rb +15 -0
  146. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +7 -0
  147. data/lib/twilio-ruby/rest/insights/v1/room.rb +487 -0
  148. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +385 -0
  149. data/lib/twilio-ruby/rest/ip_messaging.rb +8 -10
  150. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +6 -8
  151. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +29 -68
  152. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +198 -313
  153. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +32 -59
  154. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +23 -55
  155. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +28 -71
  156. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +31 -59
  157. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +19 -39
  158. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +29 -51
  159. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +12 -18
  160. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +6 -6
  161. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +29 -66
  162. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +116 -205
  163. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +23 -50
  164. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +41 -91
  165. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +23 -50
  166. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +42 -118
  167. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +46 -100
  168. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +36 -89
  169. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +19 -41
  170. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +29 -53
  171. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +23 -53
  172. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +27 -56
  173. data/lib/twilio-ruby/rest/lookups.rb +1 -1
  174. data/lib/twilio-ruby/rest/lookups/v1.rb +1 -1
  175. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +10 -10
  176. data/lib/twilio-ruby/rest/messaging/v1/service.rb +39 -36
  177. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +3 -3
  178. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +3 -3
  179. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +3 -3
  180. data/lib/twilio-ruby/rest/monitor/v1/event.rb +15 -15
  181. data/lib/twilio-ruby/rest/notify/v1/credential.rb +12 -6
  182. data/lib/twilio-ruby/rest/notify/v1/service.rb +24 -24
  183. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +10 -10
  184. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +23 -15
  185. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +2 -2
  186. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +18 -4
  187. data/lib/twilio-ruby/rest/preview.rb +8 -0
  188. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +5 -22
  189. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +21 -39
  190. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +15 -10
  191. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +9 -6
  192. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +1 -1
  193. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +15 -0
  194. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +4 -4
  195. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  196. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  197. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -26
  198. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +1 -4
  199. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +4 -4
  200. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +52 -52
  201. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +2 -2
  202. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +2 -2
  203. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +4 -4
  204. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +2 -2
  205. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +4 -4
  206. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +2 -2
  207. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +4 -4
  208. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +3 -3
  209. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +4 -4
  210. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +4 -4
  211. data/lib/twilio-ruby/rest/proxy/v1/service.rb +15 -15
  212. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +13 -11
  213. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +33 -30
  214. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +6 -6
  215. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +18 -17
  216. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +9 -9
  217. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +8 -8
  218. data/lib/twilio-ruby/rest/serverless/v1/service.rb +13 -13
  219. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +6 -6
  220. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +5 -5
  221. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +33 -8
  222. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  223. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +6 -8
  224. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +8 -8
  225. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +14 -14
  226. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  227. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +7 -7
  228. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +1 -1
  229. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +6 -6
  230. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +6 -6
  231. data/lib/twilio-ruby/rest/supersim/v1/command.rb +7 -7
  232. data/lib/twilio-ruby/rest/supersim/v1/network.rb +6 -6
  233. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +22 -12
  234. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +6 -6
  235. data/lib/twilio-ruby/rest/sync/v1/service.rb +3 -3
  236. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +6 -6
  237. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +6 -6
  238. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +6 -6
  239. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +6 -6
  240. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +6 -6
  241. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +6 -6
  242. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +12 -12
  243. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +6 -6
  244. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +6 -6
  245. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +4 -4
  246. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +4 -4
  247. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +2 -1
  248. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +6 -6
  249. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +16 -12
  250. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +8 -8
  251. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +6 -6
  252. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +6 -6
  253. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +9 -9
  254. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +4 -7
  255. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +16 -12
  256. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +4 -4
  257. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +4 -4
  258. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +6 -6
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +12 -12
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +4 -4
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +6 -6
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +4 -4
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +6 -6
  264. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +46 -53
  265. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +2 -2
  266. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +3 -2
  267. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +3 -2
  268. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +201 -0
  269. data/lib/twilio-ruby/rest/verify/v2/form.rb +4 -4
  270. data/lib/twilio-ruby/rest/verify/v2/service.rb +51 -30
  271. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +3 -3
  272. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +20 -34
  273. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +32 -59
  274. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +59 -61
  275. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +12 -12
  276. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +3 -3
  277. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +3 -3
  278. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +14 -12
  279. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +5 -5
  280. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +4 -4
  281. data/lib/twilio-ruby/rest/video/v1/composition.rb +13 -9
  282. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +33 -24
  283. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  284. data/lib/twilio-ruby/rest/video/v1/room.rb +27 -9
  285. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +6 -6
  286. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +9 -9
  287. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +2 -2
  288. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +150 -0
  289. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +9 -9
  290. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +3 -6
  291. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +22 -22
  292. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +4 -4
  293. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +2 -2
  294. data/lib/twilio-ruby/rest/wireless/v1/command.rb +7 -7
  295. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +8 -7
  296. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +22 -22
  297. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +4 -4
  298. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +10 -10
  299. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +6 -6
  300. data/lib/twilio-ruby/version.rb +1 -1
  301. data/spec/framework/version_spec.rb +53 -0
  302. data/spec/holodeck/holodeck.rb +3 -3
  303. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +44 -0
  304. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +69 -0
  305. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  306. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +4 -2
  307. data/spec/integration/conversations/v1/{webhook_spec.rb → configuration/webhook_spec.rb} +12 -8
  308. data/spec/integration/conversations/v1/configuration_spec.rb +87 -0
  309. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +4 -0
  310. data/spec/integration/conversations/v1/conversation/participant_spec.rb +6 -6
  311. data/spec/integration/conversations/v1/conversation_spec.rb +5 -0
  312. data/spec/integration/conversations/v1/credential_spec.rb +219 -0
  313. data/spec/integration/conversations/v1/role_spec.rb +249 -0
  314. data/spec/integration/conversations/v1/service/binding_spec.rb +166 -0
  315. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +115 -0
  316. data/spec/integration/conversations/v1/service/configuration_spec.rb +87 -0
  317. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +144 -0
  318. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +429 -0
  319. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +407 -0
  320. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +299 -0
  321. data/spec/integration/conversations/v1/service/conversation_spec.rb +289 -0
  322. data/spec/integration/conversations/v1/service/role_spec.rb +260 -0
  323. data/spec/integration/conversations/v1/service/user_spec.rb +236 -0
  324. data/spec/integration/conversations/v1/service_spec.rb +174 -0
  325. data/spec/integration/conversations/v1/user_spec.rb +226 -0
  326. data/spec/integration/events/v1/event_type_spec.rb +133 -0
  327. data/spec/integration/events/v1/schema/schema_version_spec.rb +126 -0
  328. data/spec/integration/events/v1/schema_spec.rb +46 -0
  329. data/spec/integration/events/v1/sink/sink_test_spec.rb +1 -1
  330. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -121
  331. data/spec/integration/events/v1/subscription_spec.rb +38 -0
  332. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  333. data/spec/integration/insights/v1/room/participant_spec.rb +149 -0
  334. data/spec/integration/insights/v1/room_spec.rb +164 -0
  335. data/spec/integration/ip_messaging/v1/credential_spec.rb +13 -13
  336. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +11 -11
  337. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +14 -14
  338. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +14 -14
  339. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +25 -25
  340. data/spec/integration/ip_messaging/v1/service/role_spec.rb +13 -13
  341. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +7 -7
  342. data/spec/integration/ip_messaging/v1/service/user_spec.rb +17 -17
  343. data/spec/integration/ip_messaging/v1/service_spec.rb +9 -9
  344. data/spec/integration/ip_messaging/v2/credential_spec.rb +13 -13
  345. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +11 -11
  346. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +11 -11
  347. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +13 -13
  348. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +17 -17
  349. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +15 -15
  350. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +29 -29
  351. data/spec/integration/ip_messaging/v2/service/role_spec.rb +13 -13
  352. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +9 -9
  353. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +20 -20
  354. data/spec/integration/ip_messaging/v2/service/user_spec.rb +21 -21
  355. data/spec/integration/ip_messaging/v2/service_spec.rb +29 -29
  356. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +27 -0
  357. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +4 -2
  358. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel → branded_channel}/channel_spec.rb +4 -8
  359. data/spec/integration/preview/trusted_comms/{business/brand/branded_channel_spec.rb → branded_channel_spec.rb} +5 -9
  360. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -1
  361. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +48 -0
  362. data/spec/integration/serverless/v1/service/build_spec.rb +8 -2
  363. data/spec/integration/supersim/v1/sim_spec.rb +23 -0
  364. data/spec/integration/trunking/v1/trunk/recording_spec.rb +79 -0
  365. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +56 -20
  366. data/spec/integration/verify/v2/service/entity/factor_spec.rb +11 -26
  367. data/spec/integration/verify/v2/service/entity_spec.rb +4 -12
  368. data/spec/integration/verify/v2/service_spec.rb +8 -4
  369. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +89 -0
  370. data/spec/integration/video/v1/room_spec.rb +12 -7
  371. data/spec/jwt/access_token_spec.rb +9 -1
  372. data/twilio-ruby.gemspec +1 -1
  373. metadata +88 -16
  374. data/lib/twilio-ruby/rest/conversations/v1/webhook.rb +0 -262
  375. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand.rb +0 -233
  376. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel.rb +0 -260
  377. data/lib/twilio-ruby/rest/preview/trusted_comms/business/brand/branded_channel/channel.rb +0 -189
  378. data/spec/integration/preview/trusted_comms/business/brand_spec.rb +0 -48
@@ -30,15 +30,15 @@ module Twilio
30
30
  # Unlike stream(), this operation is eager and will load `limit` records into
31
31
  # memory before returning.
32
32
  # @param [String] from Retrieve only those faxes sent from this phone number,
33
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
33
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
34
34
  # @param [String] to Retrieve only those faxes sent to this phone number,
35
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
35
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
36
36
  # @param [Time] date_created_on_or_before Retrieve only those faxes with a
37
- # `date_created` that is before or equal to this value, specified in [ISO
38
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
37
+ # `date_created` that is before or equal to this value, specified in {ISO
38
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
39
39
  # @param [Time] date_created_after Retrieve only those faxes with a `date_created`
40
- # that is later than this value, specified in [ISO
41
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
40
+ # that is later than this value, specified in {ISO
41
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
42
42
  # @param [Integer] limit Upper limit for the number of records to return. stream()
43
43
  # guarantees to never return more than limit. Default is no limit
44
44
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -62,15 +62,15 @@ module Twilio
62
62
  # This operation lazily loads records as efficiently as possible until the limit
63
63
  # is reached.
64
64
  # @param [String] from Retrieve only those faxes sent from this phone number,
65
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
65
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
66
66
  # @param [String] to Retrieve only those faxes sent to this phone number,
67
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
67
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
68
68
  # @param [Time] date_created_on_or_before Retrieve only those faxes with a
69
- # `date_created` that is before or equal to this value, specified in [ISO
70
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
69
+ # `date_created` that is before or equal to this value, specified in {ISO
70
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
71
71
  # @param [Time] date_created_after Retrieve only those faxes with a `date_created`
72
- # that is later than this value, specified in [ISO
73
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
72
+ # that is later than this value, specified in {ISO
73
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
74
74
  # @param [Integer] limit Upper limit for the number of records to return. stream()
75
75
  # guarantees to never return more than limit. Default is no limit.
76
76
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -110,15 +110,15 @@ module Twilio
110
110
  # Retrieve a single page of FaxInstance records from the API.
111
111
  # Request is executed immediately.
112
112
  # @param [String] from Retrieve only those faxes sent from this phone number,
113
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
113
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
114
114
  # @param [String] to Retrieve only those faxes sent to this phone number,
115
- # specified in [E.164](https://www.twilio.com/docs/glossary/what-e164) format.
115
+ # specified in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format.
116
116
  # @param [Time] date_created_on_or_before Retrieve only those faxes with a
117
- # `date_created` that is before or equal to this value, specified in [ISO
118
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
117
+ # `date_created` that is before or equal to this value, specified in {ISO
118
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
119
119
  # @param [Time] date_created_after Retrieve only those faxes with a `date_created`
120
- # that is later than this value, specified in [ISO
121
- # 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
120
+ # that is later than this value, specified in {ISO
121
+ # 8601}[https://en.wikipedia.org/wiki/ISO_8601] format.
122
122
  # @param [String] page_token PageToken provided by the API
123
123
  # @param [Integer] page_number Page Number, this value is simply for client state
124
124
  # @param [Integer] page_size Number of records to return, defaults to 50
@@ -155,20 +155,21 @@ module Twilio
155
155
  ##
156
156
  # Create the FaxInstance
157
157
  # @param [String] to The phone number to receive the fax in
158
- # [E.164](https://www.twilio.com/docs/glossary/what-e164) format or the
158
+ # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format or the
159
159
  # recipient's SIP URI.
160
160
  # @param [String] media_url The URL of the PDF that contains the fax. See our
161
- # [security](https://www.twilio.com/docs/usage/security) page for information on
161
+ # {security}[https://www.twilio.com/docs/usage/security] page for information on
162
162
  # how to ensure the request for your media comes from Twilio.
163
- # @param [fax.Quality] quality The [Fax Quality
164
- # value](https://www.twilio.com/docs/fax/api/fax-resource#fax-quality-values) that
163
+ # @param [fax.Quality] quality The {Fax Quality
164
+ # value}[https://www.twilio.com/docs/fax/api/fax-resource#fax-quality-values] that
165
165
  # describes the fax quality. Can be: `standard`, `fine`, or `superfine` and
166
166
  # defaults to `fine`.
167
167
  # @param [String] status_callback The URL we should call using the `POST` method
168
- # to send [status
169
- # information](https://www.twilio.com/docs/fax/api/fax-resource#fax-status-callback) to your application when the status of the fax changes.
168
+ # to send {status
169
+ # information}[https://www.twilio.com/docs/fax/api/fax-resource#fax-status-callback]
170
+ # to your application when the status of the fax changes.
170
171
  # @param [String] from The number the fax was sent from. Can be the phone number
171
- # in [E.164](https://www.twilio.com/docs/glossary/what-e164) format or the SIP
172
+ # in {E.164}[https://www.twilio.com/docs/glossary/what-e164] format or the SIP
172
173
  # `from` value. The caller ID displayed to the recipient uses this value. If this
173
174
  # is a phone number, it must be a Twilio number or a verified outgoing caller id
174
175
  # from your account. If `to` is a SIP address, this can be any alphanumeric string
@@ -272,7 +273,7 @@ module Twilio
272
273
  ##
273
274
  # Update the FaxInstance
274
275
  # @param [fax.UpdateStatus] status The new
275
- # [status](https://www.twilio.com/docs/fax/api/fax-resource#fax-status-values) of
276
+ # {status}[https://www.twilio.com/docs/fax/api/fax-resource#fax-status-values] of
276
277
  # the resource. Can be only `canceled`. This may fail if transmission has already
277
278
  # started.
278
279
  # @return [FaxInstance] Updated FaxInstance
@@ -493,7 +494,7 @@ module Twilio
493
494
  ##
494
495
  # Update the FaxInstance
495
496
  # @param [fax.UpdateStatus] status The new
496
- # [status](https://www.twilio.com/docs/fax/api/fax-resource#fax-status-values) of
497
+ # {status}[https://www.twilio.com/docs/fax/api/fax-resource#fax-status-values] of
497
498
  # the resource. Can be only `canceled`. This may fail if transmission has already
498
499
  # started.
499
500
  # @return [FaxInstance] Updated FaxInstance
@@ -36,6 +36,14 @@ module Twilio
36
36
  self.v1.calls(sid)
37
37
  end
38
38
 
39
+ ##
40
+ # @param [String] room_sid The room_sid
41
+ # @return [Twilio::REST::Insights::V1::RoomInstance] if room_sid was passed.
42
+ # @return [Twilio::REST::Insights::V1::RoomList]
43
+ def rooms(room_sid=:unset)
44
+ self.v1.rooms(room_sid)
45
+ end
46
+
39
47
  ##
40
48
  # Provide a user friendly representation
41
49
  def to_s
@@ -16,6 +16,7 @@ module Twilio
16
16
  super
17
17
  @version = 'v1'
18
18
  @calls = nil
19
+ @rooms = nil
19
20
  end
20
21
 
21
22
  ##
@@ -32,6 +33,20 @@ module Twilio
32
33
  end
33
34
  end
34
35
 
36
+ ##
37
+ # @param [String] room_sid The room_sid
38
+ # @return [Twilio::REST::Insights::V1::RoomContext] if room_sid was passed.
39
+ # @return [Twilio::REST::Insights::V1::RoomList]
40
+ def rooms(room_sid=:unset)
41
+ if room_sid.nil?
42
+ raise ArgumentError, 'room_sid cannot be nil'
43
+ elsif room_sid == :unset
44
+ @rooms ||= RoomList.new self
45
+ else
46
+ RoomContext.new(self, room_sid)
47
+ end
48
+ end
49
+
35
50
  ##
36
51
  # Provide a user friendly representation
37
52
  def to_s
@@ -140,6 +140,7 @@ module Twilio
140
140
  'url' => payload['url'],
141
141
  'attributes' => payload['attributes'],
142
142
  'properties' => payload['properties'],
143
+ 'trust' => payload['trust'],
143
144
  }
144
145
 
145
146
  # Context
@@ -272,6 +273,12 @@ module Twilio
272
273
  @properties['properties']
273
274
  end
274
275
 
276
+ ##
277
+ # @return [Hash] The trust
278
+ def trust
279
+ @properties['trust']
280
+ end
281
+
275
282
  ##
276
283
  # Fetch the CallSummaryInstance
277
284
  # @param [call_summary.ProcessingState] processing_state The processing_state
@@ -0,0 +1,487 @@
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 Insights < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
15
+ class RoomList < ListResource
16
+ ##
17
+ # Initialize the RoomList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [RoomList] RoomList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Video/Rooms"
26
+ end
27
+
28
+ ##
29
+ # Lists RoomInstance records from the API as a list.
30
+ # Unlike stream(), this operation is eager and will load `limit` records into
31
+ # memory before returning.
32
+ # @param [room.RoomType] room_type The room_type
33
+ # @param [room.Codec] codec The codec
34
+ # @param [String] room_name The room_name
35
+ # @param [Time] created_after The created_after
36
+ # @param [Time] created_before The created_before
37
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
38
+ # guarantees to never return more than limit. Default is no limit
39
+ # @param [Integer] page_size Number of records to fetch per request, when
40
+ # not set will use the default value of 50 records. If no page_size is defined
41
+ # but a limit is defined, stream() will attempt to read the limit with the most
42
+ # efficient page size, i.e. min(limit, 1000)
43
+ # @return [Array] Array of up to limit results
44
+ def list(room_type: :unset, codec: :unset, room_name: :unset, created_after: :unset, created_before: :unset, limit: nil, page_size: nil)
45
+ self.stream(
46
+ room_type: room_type,
47
+ codec: codec,
48
+ room_name: room_name,
49
+ created_after: created_after,
50
+ created_before: created_before,
51
+ limit: limit,
52
+ page_size: page_size
53
+ ).entries
54
+ end
55
+
56
+ ##
57
+ # Streams RoomInstance records from the API as an Enumerable.
58
+ # This operation lazily loads records as efficiently as possible until the limit
59
+ # is reached.
60
+ # @param [room.RoomType] room_type The room_type
61
+ # @param [room.Codec] codec The codec
62
+ # @param [String] room_name The room_name
63
+ # @param [Time] created_after The created_after
64
+ # @param [Time] created_before The created_before
65
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
66
+ # guarantees to never return more than limit. Default is no limit.
67
+ # @param [Integer] page_size Number of records to fetch per request, when
68
+ # not set will use the default value of 50 records. If no page_size is defined
69
+ # but a limit is defined, stream() will attempt to read the limit with the most
70
+ # efficient page size, i.e. min(limit, 1000)
71
+ # @return [Enumerable] Enumerable that will yield up to limit results
72
+ def stream(room_type: :unset, codec: :unset, room_name: :unset, created_after: :unset, created_before: :unset, limit: nil, page_size: nil)
73
+ limits = @version.read_limits(limit, page_size)
74
+
75
+ page = self.page(
76
+ room_type: room_type,
77
+ codec: codec,
78
+ room_name: room_name,
79
+ created_after: created_after,
80
+ created_before: created_before,
81
+ page_size: limits[:page_size],
82
+ )
83
+
84
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
85
+ end
86
+
87
+ ##
88
+ # When passed a block, yields RoomInstance records from the API.
89
+ # This operation lazily loads records as efficiently as possible until the limit
90
+ # is reached.
91
+ def each
92
+ limits = @version.read_limits
93
+
94
+ page = self.page(page_size: limits[:page_size], )
95
+
96
+ @version.stream(page,
97
+ limit: limits[:limit],
98
+ page_limit: limits[:page_limit]).each {|x| yield x}
99
+ end
100
+
101
+ ##
102
+ # Retrieve a single page of RoomInstance records from the API.
103
+ # Request is executed immediately.
104
+ # @param [room.RoomType] room_type The room_type
105
+ # @param [room.Codec] codec The codec
106
+ # @param [String] room_name The room_name
107
+ # @param [Time] created_after The created_after
108
+ # @param [Time] created_before The created_before
109
+ # @param [String] page_token PageToken provided by the API
110
+ # @param [Integer] page_number Page Number, this value is simply for client state
111
+ # @param [Integer] page_size Number of records to return, defaults to 50
112
+ # @return [Page] Page of RoomInstance
113
+ def page(room_type: :unset, codec: :unset, room_name: :unset, created_after: :unset, created_before: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
114
+ params = Twilio::Values.of({
115
+ 'RoomType' => Twilio.serialize_list(room_type) { |e| e },
116
+ 'Codec' => Twilio.serialize_list(codec) { |e| e },
117
+ 'RoomName' => room_name,
118
+ 'CreatedAfter' => Twilio.serialize_iso8601_datetime(created_after),
119
+ 'CreatedBefore' => Twilio.serialize_iso8601_datetime(created_before),
120
+ 'PageToken' => page_token,
121
+ 'Page' => page_number,
122
+ 'PageSize' => page_size,
123
+ })
124
+
125
+ response = @version.page('GET', @uri, params: params)
126
+
127
+ RoomPage.new(@version, response, @solution)
128
+ end
129
+
130
+ ##
131
+ # Retrieve a single page of RoomInstance records from the API.
132
+ # Request is executed immediately.
133
+ # @param [String] target_url API-generated URL for the requested results page
134
+ # @return [Page] Page of RoomInstance
135
+ def get_page(target_url)
136
+ response = @version.domain.request(
137
+ 'GET',
138
+ target_url
139
+ )
140
+ RoomPage.new(@version, response, @solution)
141
+ end
142
+
143
+ ##
144
+ # Provide a user friendly representation
145
+ def to_s
146
+ '#<Twilio.Insights.V1.RoomList>'
147
+ end
148
+ end
149
+
150
+ ##
151
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
152
+ class RoomPage < Page
153
+ ##
154
+ # Initialize the RoomPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [RoomPage] RoomPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+ # Path Solution
163
+ @solution = solution
164
+ end
165
+
166
+ ##
167
+ # Build an instance of RoomInstance
168
+ # @param [Hash] payload Payload response from the API
169
+ # @return [RoomInstance] RoomInstance
170
+ def get_instance(payload)
171
+ RoomInstance.new(@version, payload, )
172
+ end
173
+
174
+ ##
175
+ # Provide a user friendly representation
176
+ def to_s
177
+ '<Twilio.Insights.V1.RoomPage>'
178
+ end
179
+ end
180
+
181
+ ##
182
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
183
+ class RoomContext < InstanceContext
184
+ ##
185
+ # Initialize the RoomContext
186
+ # @param [Version] version Version that contains the resource
187
+ # @param [String] room_sid The room_sid
188
+ # @return [RoomContext] RoomContext
189
+ def initialize(version, room_sid)
190
+ super(version)
191
+
192
+ # Path Solution
193
+ @solution = {room_sid: room_sid, }
194
+ @uri = "/Video/Rooms/#{@solution[:room_sid]}"
195
+
196
+ # Dependents
197
+ @participants = nil
198
+ end
199
+
200
+ ##
201
+ # Fetch the RoomInstance
202
+ # @return [RoomInstance] Fetched RoomInstance
203
+ def fetch
204
+ payload = @version.fetch('GET', @uri)
205
+
206
+ RoomInstance.new(@version, payload, room_sid: @solution[:room_sid], )
207
+ end
208
+
209
+ ##
210
+ # Access the participants
211
+ # @return [ParticipantList]
212
+ # @return [ParticipantContext] if participant_sid was passed.
213
+ def participants(participant_sid=:unset)
214
+ raise ArgumentError, 'participant_sid cannot be nil' if participant_sid.nil?
215
+
216
+ if participant_sid != :unset
217
+ return ParticipantContext.new(@version, @solution[:room_sid], participant_sid, )
218
+ end
219
+
220
+ unless @participants
221
+ @participants = ParticipantList.new(@version, room_sid: @solution[:room_sid], )
222
+ end
223
+
224
+ @participants
225
+ end
226
+
227
+ ##
228
+ # Provide a user friendly representation
229
+ def to_s
230
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
231
+ "#<Twilio.Insights.V1.RoomContext #{context}>"
232
+ end
233
+
234
+ ##
235
+ # Provide a detailed, user friendly representation
236
+ def inspect
237
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
238
+ "#<Twilio.Insights.V1.RoomContext #{context}>"
239
+ end
240
+ end
241
+
242
+ ##
243
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
244
+ class RoomInstance < InstanceResource
245
+ ##
246
+ # Initialize the RoomInstance
247
+ # @param [Version] version Version that contains the resource
248
+ # @param [Hash] payload payload that contains response from Twilio
249
+ # @param [String] room_sid The room_sid
250
+ # @return [RoomInstance] RoomInstance
251
+ def initialize(version, payload, room_sid: nil)
252
+ super(version)
253
+
254
+ # Marshaled Properties
255
+ @properties = {
256
+ 'account_sid' => payload['account_sid'],
257
+ 'room_sid' => payload['room_sid'],
258
+ 'room_name' => payload['room_name'],
259
+ 'create_time' => Twilio.deserialize_iso8601_datetime(payload['create_time']),
260
+ 'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
261
+ 'room_type' => payload['room_type'],
262
+ 'room_status' => payload['room_status'],
263
+ 'status_callback' => payload['status_callback'],
264
+ 'status_callback_method' => payload['status_callback_method'],
265
+ 'created_method' => payload['created_method'],
266
+ 'end_reason' => payload['end_reason'],
267
+ 'max_participants' => payload['max_participants'] == nil ? payload['max_participants'] : payload['max_participants'].to_i,
268
+ 'unique_participants' => payload['unique_participants'] == nil ? payload['unique_participants'] : payload['unique_participants'].to_i,
269
+ 'unique_participant_identities' => payload['unique_participant_identities'] == nil ? payload['unique_participant_identities'] : payload['unique_participant_identities'].to_i,
270
+ 'concurrent_participants' => payload['concurrent_participants'] == nil ? payload['concurrent_participants'] : payload['concurrent_participants'].to_i,
271
+ 'max_concurrent_participants' => payload['max_concurrent_participants'] == nil ? payload['max_concurrent_participants'] : payload['max_concurrent_participants'].to_i,
272
+ 'codecs' => payload['codecs'],
273
+ 'media_region' => payload['media_region'],
274
+ 'duration_sec' => payload['duration_sec'].to_i,
275
+ 'total_participant_duration_sec' => payload['total_participant_duration_sec'].to_i,
276
+ 'total_recording_duration_sec' => payload['total_recording_duration_sec'].to_i,
277
+ 'processing_state' => payload['processing_state'],
278
+ 'recording_enabled' => payload['recording_enabled'],
279
+ 'edge_location' => payload['edge_location'],
280
+ 'url' => payload['url'],
281
+ 'links' => payload['links'],
282
+ }
283
+
284
+ # Context
285
+ @instance_context = nil
286
+ @params = {'room_sid' => room_sid || @properties['room_sid'], }
287
+ end
288
+
289
+ ##
290
+ # Generate an instance context for the instance, the context is capable of
291
+ # performing various actions. All instance actions are proxied to the context
292
+ # @return [RoomContext] RoomContext for this RoomInstance
293
+ def context
294
+ unless @instance_context
295
+ @instance_context = RoomContext.new(@version, @params['room_sid'], )
296
+ end
297
+ @instance_context
298
+ end
299
+
300
+ ##
301
+ # @return [String] The account_sid
302
+ def account_sid
303
+ @properties['account_sid']
304
+ end
305
+
306
+ ##
307
+ # @return [String] The room_sid
308
+ def room_sid
309
+ @properties['room_sid']
310
+ end
311
+
312
+ ##
313
+ # @return [String] The room_name
314
+ def room_name
315
+ @properties['room_name']
316
+ end
317
+
318
+ ##
319
+ # @return [Time] The create_time
320
+ def create_time
321
+ @properties['create_time']
322
+ end
323
+
324
+ ##
325
+ # @return [Time] The end_time
326
+ def end_time
327
+ @properties['end_time']
328
+ end
329
+
330
+ ##
331
+ # @return [room.RoomType] The room_type
332
+ def room_type
333
+ @properties['room_type']
334
+ end
335
+
336
+ ##
337
+ # @return [room.RoomStatus] The room_status
338
+ def room_status
339
+ @properties['room_status']
340
+ end
341
+
342
+ ##
343
+ # @return [String] The status_callback
344
+ def status_callback
345
+ @properties['status_callback']
346
+ end
347
+
348
+ ##
349
+ # @return [String] The status_callback_method
350
+ def status_callback_method
351
+ @properties['status_callback_method']
352
+ end
353
+
354
+ ##
355
+ # @return [room.CreatedMethod] The created_method
356
+ def created_method
357
+ @properties['created_method']
358
+ end
359
+
360
+ ##
361
+ # @return [room.EndReason] The end_reason
362
+ def end_reason
363
+ @properties['end_reason']
364
+ end
365
+
366
+ ##
367
+ # @return [String] The max_participants
368
+ def max_participants
369
+ @properties['max_participants']
370
+ end
371
+
372
+ ##
373
+ # @return [String] The unique_participants
374
+ def unique_participants
375
+ @properties['unique_participants']
376
+ end
377
+
378
+ ##
379
+ # @return [String] The unique_participant_identities
380
+ def unique_participant_identities
381
+ @properties['unique_participant_identities']
382
+ end
383
+
384
+ ##
385
+ # @return [String] The concurrent_participants
386
+ def concurrent_participants
387
+ @properties['concurrent_participants']
388
+ end
389
+
390
+ ##
391
+ # @return [String] The max_concurrent_participants
392
+ def max_concurrent_participants
393
+ @properties['max_concurrent_participants']
394
+ end
395
+
396
+ ##
397
+ # @return [room.Codec] The codecs
398
+ def codecs
399
+ @properties['codecs']
400
+ end
401
+
402
+ ##
403
+ # @return [room.TwilioRealm] The media_region
404
+ def media_region
405
+ @properties['media_region']
406
+ end
407
+
408
+ ##
409
+ # @return [String] The duration_sec
410
+ def duration_sec
411
+ @properties['duration_sec']
412
+ end
413
+
414
+ ##
415
+ # @return [String] The total_participant_duration_sec
416
+ def total_participant_duration_sec
417
+ @properties['total_participant_duration_sec']
418
+ end
419
+
420
+ ##
421
+ # @return [String] The total_recording_duration_sec
422
+ def total_recording_duration_sec
423
+ @properties['total_recording_duration_sec']
424
+ end
425
+
426
+ ##
427
+ # @return [room.ProcessingState] The processing_state
428
+ def processing_state
429
+ @properties['processing_state']
430
+ end
431
+
432
+ ##
433
+ # @return [Boolean] The recording_enabled
434
+ def recording_enabled
435
+ @properties['recording_enabled']
436
+ end
437
+
438
+ ##
439
+ # @return [room.EdgeLocation] The edge_location
440
+ def edge_location
441
+ @properties['edge_location']
442
+ end
443
+
444
+ ##
445
+ # @return [String] The url
446
+ def url
447
+ @properties['url']
448
+ end
449
+
450
+ ##
451
+ # @return [String] The links
452
+ def links
453
+ @properties['links']
454
+ end
455
+
456
+ ##
457
+ # Fetch the RoomInstance
458
+ # @return [RoomInstance] Fetched RoomInstance
459
+ def fetch
460
+ context.fetch
461
+ end
462
+
463
+ ##
464
+ # Access the participants
465
+ # @return [participants] participants
466
+ def participants
467
+ context.participants
468
+ end
469
+
470
+ ##
471
+ # Provide a user friendly representation
472
+ def to_s
473
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
474
+ "<Twilio.Insights.V1.RoomInstance #{values}>"
475
+ end
476
+
477
+ ##
478
+ # Provide a detailed, user friendly representation
479
+ def inspect
480
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
481
+ "<Twilio.Insights.V1.RoomInstance #{values}>"
482
+ end
483
+ end
484
+ end
485
+ end
486
+ end
487
+ end