twilio-ruby 5.45.0 → 5.60.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (691) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/.rubocop_todo.yml +7 -7
  4. data/.travis.yml +41 -28
  5. data/CHANGES.md +456 -0
  6. data/Gemfile +1 -0
  7. data/LICENSE +1 -1
  8. data/README.md +29 -6
  9. data/examples/examples.rb +1 -1
  10. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  11. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  12. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  13. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  14. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  15. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  16. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  17. data/lib/twilio-ruby/http/http_client.rb +15 -3
  18. data/lib/twilio-ruby/http.rb +5 -0
  19. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  22. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +40 -40
  23. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  24. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +8 -8
  25. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +667 -0
  26. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +57 -16
  27. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +23 -19
  28. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  30. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  31. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  32. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  34. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +7 -7
  35. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  36. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  37. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  38. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  39. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  40. data/lib/twilio-ruby/rest/api.rb +1 -1
  41. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  42. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -12
  43. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +20 -10
  44. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +20 -12
  45. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -12
  46. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -11
  47. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  48. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  49. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  50. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  51. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  52. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  53. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  54. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  55. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  56. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  57. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  58. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  59. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  60. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  61. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  62. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  63. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  64. data/lib/twilio-ruby/rest/client.rb +22 -1
  65. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  66. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +13 -6
  67. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  68. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  69. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  70. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  71. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  72. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  73. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  74. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  75. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +13 -6
  76. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  77. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  78. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  79. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  80. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  81. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  82. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +52 -1
  83. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  84. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  85. data/lib/twilio-ruby/rest/conversations/v1/user.rb +43 -1
  86. data/lib/twilio-ruby/rest/conversations/v1.rb +32 -20
  87. data/lib/twilio-ruby/rest/conversations.rb +6 -0
  88. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  89. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +41 -41
  90. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  91. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  92. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  93. data/lib/twilio-ruby/rest/events/v1/sink.rb +49 -11
  94. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  95. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  96. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  97. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  98. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  99. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +25 -4
  100. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +101 -83
  101. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  102. data/lib/twilio-ruby/rest/flex_api/v1.rb +16 -13
  103. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  104. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  105. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  106. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  107. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  108. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  109. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  110. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  111. data/lib/twilio-ruby/rest/insights/v1.rb +18 -9
  112. data/lib/twilio-ruby/rest/insights.rb +7 -1
  113. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  114. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  115. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  116. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  117. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  118. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  119. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  120. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  121. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  122. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  123. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  124. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  125. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  126. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  127. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  128. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  129. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  130. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +384 -0
  131. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  132. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +390 -0
  133. data/lib/twilio-ruby/rest/media/v1.rb +60 -0
  134. data/lib/twilio-ruby/rest/media.rb +56 -0
  135. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +272 -0
  136. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +424 -0
  137. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  138. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  139. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  140. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  141. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  142. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  143. data/lib/twilio-ruby/rest/messaging/v1/service.rb +144 -26
  144. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  145. data/lib/twilio-ruby/rest/messaging/v1.rb +35 -4
  146. data/lib/twilio-ruby/rest/messaging.rb +20 -0
  147. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  148. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  149. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  150. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  151. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +188 -0
  152. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  153. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  154. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +59 -14
  155. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  156. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  157. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  158. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  159. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  160. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  161. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  162. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +14 -10
  163. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  164. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  165. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  166. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  167. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  168. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  169. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  170. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  171. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  172. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  173. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  174. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  175. data/lib/twilio-ruby/rest/preview.rb +4 -2
  176. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  177. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  178. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  179. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  180. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  181. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  182. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  183. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  184. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  185. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  186. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  187. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  188. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  189. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  190. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  191. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  192. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  193. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  194. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  195. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  196. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  197. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  198. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -9
  199. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  200. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  201. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  202. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  203. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  204. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  205. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  206. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  207. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  208. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  209. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  210. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +49 -4
  211. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  212. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  213. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  214. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  215. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  216. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +25 -52
  217. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +46 -76
  218. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  219. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +18 -40
  220. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +47 -79
  221. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  222. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +18 -40
  223. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  224. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +14 -38
  225. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  226. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  227. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  228. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +17 -13
  229. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +48 -24
  230. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  231. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +17 -13
  232. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  233. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  234. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +23 -11
  235. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  236. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +37 -28
  237. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  238. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +20 -4
  239. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  240. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  241. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  242. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  243. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  244. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  245. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  246. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  247. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  248. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  249. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  250. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  251. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  252. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  253. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  254. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  255. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  256. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +91 -18
  257. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +47 -56
  258. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  259. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -3
  260. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +8 -6
  261. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +34 -15
  262. data/lib/twilio-ruby/rest/verify/v2/service.rb +61 -3
  263. data/lib/twilio-ruby/rest/verify/v2/template.rb +206 -0
  264. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  265. data/lib/twilio-ruby/rest/verify/v2.rb +33 -8
  266. data/lib/twilio-ruby/rest/verify.rb +15 -0
  267. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -23
  268. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -34
  269. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  270. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  271. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -7
  272. data/lib/twilio-ruby/rest/video/v1/room.rb +25 -4
  273. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  274. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  275. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  276. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  277. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  278. data/lib/twilio-ruby/rest.rb +13 -0
  279. data/lib/twilio-ruby/twiml/voice_response.rb +39 -8
  280. data/lib/twilio-ruby/version.rb +1 -1
  281. data/lib/twilio-ruby.rb +5 -15
  282. data/sonar-project.properties +13 -0
  283. data/twilio-ruby.gemspec +1 -1
  284. metadata +60 -826
  285. data/spec/framework/request_spec.rb +0 -36
  286. data/spec/framework/serialize_spec.rb +0 -80
  287. data/spec/framework/version_spec.rb +0 -219
  288. data/spec/holodeck/holodeck.rb +0 -66
  289. data/spec/holodeck/hologram.rb +0 -4
  290. data/spec/http/http_client_spec.rb +0 -122
  291. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  292. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  293. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  294. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  295. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  296. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  297. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  298. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  299. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  300. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  301. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  302. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  303. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  304. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  305. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  306. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  307. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  308. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  309. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  310. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  311. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  312. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  313. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  314. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  315. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  316. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  317. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  318. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  319. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  320. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  321. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  322. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  323. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  324. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  325. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  326. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  327. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  328. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  329. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  330. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  331. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  332. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  333. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  334. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  335. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  336. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  337. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  338. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  339. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  340. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  341. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  342. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  343. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  344. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  345. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  346. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  347. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  348. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  349. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  350. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  351. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  352. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  353. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  354. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  355. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  356. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  357. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  358. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  359. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  360. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  361. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  362. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  363. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  364. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  365. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  366. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  367. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  368. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  369. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  370. data/spec/integration/api/v2010/account_spec.rb +0 -327
  371. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  372. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  373. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  374. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  375. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  376. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  377. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  378. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  379. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  380. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  381. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  382. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  383. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  384. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  385. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  386. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  387. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  388. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  389. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  390. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  391. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  392. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  393. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  394. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  395. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  396. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  397. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  398. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  399. data/spec/integration/chat/v1/service_spec.rb +0 -295
  400. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  401. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  402. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  403. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  404. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  405. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  406. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  407. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  408. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  409. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  410. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  411. data/spec/integration/chat/v2/service_spec.rb +0 -350
  412. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  413. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  414. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  415. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  416. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -382
  417. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  418. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  419. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  420. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  421. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  422. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  423. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -87
  424. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  425. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  426. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -407
  427. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  428. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  429. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  430. data/spec/integration/conversations/v1/service/user_spec.rb +0 -236
  431. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  432. data/spec/integration/conversations/v1/user_spec.rb +0 -226
  433. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  434. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  435. data/spec/integration/events/v1/schema_spec.rb +0 -46
  436. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  437. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  438. data/spec/integration/events/v1/sink_spec.rb +0 -217
  439. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  440. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  441. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  442. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  443. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  444. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  445. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  446. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  447. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  448. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  449. data/spec/integration/insights/v1/call/summary_spec.rb +0 -63
  450. data/spec/integration/insights/v1/call_spec.rb +0 -46
  451. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  452. data/spec/integration/insights/v1/room_spec.rb +0 -164
  453. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  454. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  455. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  456. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  457. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  458. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  459. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  460. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  461. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  462. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  463. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  464. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  465. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  466. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  467. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  468. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  469. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  470. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  471. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  472. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  473. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  474. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  475. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  476. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  477. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  478. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  479. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  480. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  481. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  482. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  483. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  484. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  485. data/spec/integration/notify/v1/service_spec.rb +0 -289
  486. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  487. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  488. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  489. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  490. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  491. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  492. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  493. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  494. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  495. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  496. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  497. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  498. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  499. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  500. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  501. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  502. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  503. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  504. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  505. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  506. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  507. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  508. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  509. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  510. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  511. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  512. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  513. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  514. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  515. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  516. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  517. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  518. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  519. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  520. data/spec/integration/preview/sync/service_spec.rb +0 -241
  521. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  522. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  523. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  524. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  525. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  526. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  527. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  528. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  529. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  530. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  531. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  532. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  533. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  534. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  535. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  536. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  537. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  538. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  539. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  540. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  541. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  542. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  543. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  544. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  545. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  546. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  547. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  548. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  549. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  550. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  551. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  552. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  553. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  554. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  555. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  556. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  557. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  558. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  559. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  560. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  561. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  562. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  563. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  564. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  565. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  566. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  567. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  568. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  569. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  570. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  571. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  572. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  573. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  574. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  575. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  576. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  577. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  578. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  579. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  580. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  581. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  582. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  583. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  584. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  585. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  586. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  587. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  588. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  589. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  590. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  591. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  592. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  593. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  594. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  595. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  596. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  597. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  598. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  599. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  600. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  601. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  602. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  603. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  604. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  605. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  606. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  607. data/spec/integration/sync/v1/service_spec.rb +0 -261
  608. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  609. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  610. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  611. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  612. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  613. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  614. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  615. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  616. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  617. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  618. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  619. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  620. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  621. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  622. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  623. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  624. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  625. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  626. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  627. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  628. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  629. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  630. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  631. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  632. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  633. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  634. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  635. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  636. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  637. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  638. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  639. data/spec/integration/verify/v2/form_spec.rb +0 -47
  640. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  641. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  642. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  643. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  644. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  645. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  646. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  647. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  648. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  649. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  650. data/spec/integration/verify/v2/service_spec.rb +0 -279
  651. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  652. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  653. data/spec/integration/video/v1/composition_spec.rb +0 -347
  654. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  655. data/spec/integration/video/v1/recording_spec.rb +0 -176
  656. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  657. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  658. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  659. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  660. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  661. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  662. data/spec/integration/video/v1/room_spec.rb +0 -296
  663. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  664. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  665. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  666. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  667. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  668. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  669. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  670. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  671. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  672. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  673. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  674. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  675. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  676. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  677. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  678. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  679. data/spec/jwt/access_token_spec.rb +0 -159
  680. data/spec/jwt/client_capability_spec.rb +0 -104
  681. data/spec/jwt/task_router_spec.rb +0 -172
  682. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  683. data/spec/rest/client_spec.rb +0 -255
  684. data/spec/security/request_validator_spec.rb +0 -125
  685. data/spec/spec_helper.rb +0 -38
  686. data/spec/support/fakeweb.rb +0 -2
  687. data/spec/twilio_spec.rb +0 -17
  688. data/spec/twiml/messaging_response_spec.rb +0 -235
  689. data/spec/twiml/voice_response_spec.rb +0 -847
  690. data/spec/util/configuration_spec.rb +0 -33
  691. data/spec/util/url_encode_spec.rb +0 -12
@@ -0,0 +1,384 @@
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 Media < Domain
12
+ class V1 < Version
13
+ class MediaProcessorList < ListResource
14
+ ##
15
+ # Initialize the MediaProcessorList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [MediaProcessorList] MediaProcessorList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/MediaProcessors"
24
+ end
25
+
26
+ ##
27
+ # Create the MediaProcessorInstance
28
+ # @param [String] extension The {Media
29
+ # Extension}[/docs/live/api/media-extensions-overview] name or URL. Ex:
30
+ # `video-composer-v1-preview`
31
+ # @param [String] extension_context The context of the Media Extension,
32
+ # represented as a JSON dictionary. See the documentation for the specific {Media
33
+ # Extension}[/docs/live/api/media-extensions-overview] you are using for more
34
+ # information about the context to send.
35
+ # @param [Hash] extension_environment User-defined environment variables for the
36
+ # Media Extension, represented as a JSON dictionary of key/value strings. See the
37
+ # documentation for the specific {Media
38
+ # Extension}[/docs/live/api/media-extensions-overview] you are using for more
39
+ # information about whether you need to provide this.
40
+ # @param [String] status_callback The URL to which Twilio will send asynchronous
41
+ # webhook requests for every MediaProcessor event. See {Status
42
+ # Callbacks}[/docs/live/status-callbacks] for details.
43
+ # @param [String] status_callback_method The HTTP method Twilio should use to call
44
+ # the `status_callback` URL. Can be `POST` or `GET` and the default is `POST`.
45
+ # @return [MediaProcessorInstance] Created MediaProcessorInstance
46
+ def create(extension: nil, extension_context: nil, extension_environment: :unset, status_callback: :unset, status_callback_method: :unset)
47
+ data = Twilio::Values.of({
48
+ 'Extension' => extension,
49
+ 'ExtensionContext' => extension_context,
50
+ 'ExtensionEnvironment' => Twilio.serialize_object(extension_environment),
51
+ 'StatusCallback' => status_callback,
52
+ 'StatusCallbackMethod' => status_callback_method,
53
+ })
54
+
55
+ payload = @version.create('POST', @uri, data: data)
56
+
57
+ MediaProcessorInstance.new(@version, payload, )
58
+ end
59
+
60
+ ##
61
+ # Lists MediaProcessorInstance records from the API as a list.
62
+ # Unlike stream(), this operation is eager and will load `limit` records into
63
+ # memory before returning.
64
+ # @param [media_processor.Order] order The sort order of the list by
65
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
66
+ # the default.
67
+ # @param [media_processor.Status] status Status to filter by, with possible values
68
+ # `started`, `ended` or `failed`.
69
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
70
+ # guarantees to never return more than limit. Default is no limit
71
+ # @param [Integer] page_size Number of records to fetch per request, when
72
+ # not set will use the default value of 50 records. If no page_size is defined
73
+ # but a limit is defined, stream() will attempt to read the limit with the most
74
+ # efficient page size, i.e. min(limit, 1000)
75
+ # @return [Array] Array of up to limit results
76
+ def list(order: :unset, status: :unset, limit: nil, page_size: nil)
77
+ self.stream(order: order, status: status, limit: limit, page_size: page_size).entries
78
+ end
79
+
80
+ ##
81
+ # Streams MediaProcessorInstance records from the API as an Enumerable.
82
+ # This operation lazily loads records as efficiently as possible until the limit
83
+ # is reached.
84
+ # @param [media_processor.Order] order The sort order of the list by
85
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
86
+ # the default.
87
+ # @param [media_processor.Status] status Status to filter by, with possible values
88
+ # `started`, `ended` or `failed`.
89
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
90
+ # guarantees to never return more than limit. Default is no limit.
91
+ # @param [Integer] page_size Number of records to fetch per request, when
92
+ # not set will use the default value of 50 records. If no page_size is defined
93
+ # but a limit is defined, stream() will attempt to read the limit with the most
94
+ # efficient page size, i.e. min(limit, 1000)
95
+ # @return [Enumerable] Enumerable that will yield up to limit results
96
+ def stream(order: :unset, status: :unset, limit: nil, page_size: nil)
97
+ limits = @version.read_limits(limit, page_size)
98
+
99
+ page = self.page(order: order, status: status, page_size: limits[:page_size], )
100
+
101
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
102
+ end
103
+
104
+ ##
105
+ # When passed a block, yields MediaProcessorInstance records from the API.
106
+ # This operation lazily loads records as efficiently as possible until the limit
107
+ # is reached.
108
+ def each
109
+ limits = @version.read_limits
110
+
111
+ page = self.page(page_size: limits[:page_size], )
112
+
113
+ @version.stream(page,
114
+ limit: limits[:limit],
115
+ page_limit: limits[:page_limit]).each {|x| yield x}
116
+ end
117
+
118
+ ##
119
+ # Retrieve a single page of MediaProcessorInstance records from the API.
120
+ # Request is executed immediately.
121
+ # @param [media_processor.Order] order The sort order of the list by
122
+ # `date_created`. Can be: `asc` (ascending) or `desc` (descending) with `desc` as
123
+ # the default.
124
+ # @param [media_processor.Status] status Status to filter by, with possible values
125
+ # `started`, `ended` or `failed`.
126
+ # @param [String] page_token PageToken provided by the API
127
+ # @param [Integer] page_number Page Number, this value is simply for client state
128
+ # @param [Integer] page_size Number of records to return, defaults to 50
129
+ # @return [Page] Page of MediaProcessorInstance
130
+ def page(order: :unset, status: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
131
+ params = Twilio::Values.of({
132
+ 'Order' => order,
133
+ 'Status' => status,
134
+ 'PageToken' => page_token,
135
+ 'Page' => page_number,
136
+ 'PageSize' => page_size,
137
+ })
138
+
139
+ response = @version.page('GET', @uri, params: params)
140
+
141
+ MediaProcessorPage.new(@version, response, @solution)
142
+ end
143
+
144
+ ##
145
+ # Retrieve a single page of MediaProcessorInstance records from the API.
146
+ # Request is executed immediately.
147
+ # @param [String] target_url API-generated URL for the requested results page
148
+ # @return [Page] Page of MediaProcessorInstance
149
+ def get_page(target_url)
150
+ response = @version.domain.request(
151
+ 'GET',
152
+ target_url
153
+ )
154
+ MediaProcessorPage.new(@version, response, @solution)
155
+ end
156
+
157
+ ##
158
+ # Provide a user friendly representation
159
+ def to_s
160
+ '#<Twilio.Media.V1.MediaProcessorList>'
161
+ end
162
+ end
163
+
164
+ class MediaProcessorPage < Page
165
+ ##
166
+ # Initialize the MediaProcessorPage
167
+ # @param [Version] version Version that contains the resource
168
+ # @param [Response] response Response from the API
169
+ # @param [Hash] solution Path solution for the resource
170
+ # @return [MediaProcessorPage] MediaProcessorPage
171
+ def initialize(version, response, solution)
172
+ super(version, response)
173
+
174
+ # Path Solution
175
+ @solution = solution
176
+ end
177
+
178
+ ##
179
+ # Build an instance of MediaProcessorInstance
180
+ # @param [Hash] payload Payload response from the API
181
+ # @return [MediaProcessorInstance] MediaProcessorInstance
182
+ def get_instance(payload)
183
+ MediaProcessorInstance.new(@version, payload, )
184
+ end
185
+
186
+ ##
187
+ # Provide a user friendly representation
188
+ def to_s
189
+ '<Twilio.Media.V1.MediaProcessorPage>'
190
+ end
191
+ end
192
+
193
+ class MediaProcessorContext < InstanceContext
194
+ ##
195
+ # Initialize the MediaProcessorContext
196
+ # @param [Version] version Version that contains the resource
197
+ # @param [String] sid The SID of the MediaProcessor resource to fetch.
198
+ # @return [MediaProcessorContext] MediaProcessorContext
199
+ def initialize(version, sid)
200
+ super(version)
201
+
202
+ # Path Solution
203
+ @solution = {sid: sid, }
204
+ @uri = "/MediaProcessors/#{@solution[:sid]}"
205
+ end
206
+
207
+ ##
208
+ # Fetch the MediaProcessorInstance
209
+ # @return [MediaProcessorInstance] Fetched MediaProcessorInstance
210
+ def fetch
211
+ payload = @version.fetch('GET', @uri)
212
+
213
+ MediaProcessorInstance.new(@version, payload, sid: @solution[:sid], )
214
+ end
215
+
216
+ ##
217
+ # Update the MediaProcessorInstance
218
+ # @param [media_processor.UpdateStatus] status The status of the MediaProcessor.
219
+ # Can be `ended`.
220
+ # @return [MediaProcessorInstance] Updated MediaProcessorInstance
221
+ def update(status: nil)
222
+ data = Twilio::Values.of({'Status' => status, })
223
+
224
+ payload = @version.update('POST', @uri, data: data)
225
+
226
+ MediaProcessorInstance.new(@version, payload, sid: @solution[:sid], )
227
+ end
228
+
229
+ ##
230
+ # Provide a user friendly representation
231
+ def to_s
232
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
233
+ "#<Twilio.Media.V1.MediaProcessorContext #{context}>"
234
+ end
235
+
236
+ ##
237
+ # Provide a detailed, user friendly representation
238
+ def inspect
239
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
240
+ "#<Twilio.Media.V1.MediaProcessorContext #{context}>"
241
+ end
242
+ end
243
+
244
+ class MediaProcessorInstance < InstanceResource
245
+ ##
246
+ # Initialize the MediaProcessorInstance
247
+ # @param [Version] version Version that contains the resource
248
+ # @param [Hash] payload payload that contains response from Twilio
249
+ # @param [String] sid The SID of the MediaProcessor resource to fetch.
250
+ # @return [MediaProcessorInstance] MediaProcessorInstance
251
+ def initialize(version, payload, sid: nil)
252
+ super(version)
253
+
254
+ # Marshaled Properties
255
+ @properties = {
256
+ 'account_sid' => payload['account_sid'],
257
+ 'sid' => payload['sid'],
258
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
259
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
260
+ 'extension' => payload['extension'],
261
+ 'extension_context' => payload['extension_context'],
262
+ 'status' => payload['status'],
263
+ 'url' => payload['url'],
264
+ 'ended_reason' => payload['ended_reason'],
265
+ 'status_callback' => payload['status_callback'],
266
+ 'status_callback_method' => payload['status_callback_method'],
267
+ }
268
+
269
+ # Context
270
+ @instance_context = nil
271
+ @params = {'sid' => sid || @properties['sid'], }
272
+ end
273
+
274
+ ##
275
+ # Generate an instance context for the instance, the context is capable of
276
+ # performing various actions. All instance actions are proxied to the context
277
+ # @return [MediaProcessorContext] MediaProcessorContext for this MediaProcessorInstance
278
+ def context
279
+ unless @instance_context
280
+ @instance_context = MediaProcessorContext.new(@version, @params['sid'], )
281
+ end
282
+ @instance_context
283
+ end
284
+
285
+ ##
286
+ # @return [String] The SID of the Account that created the resource
287
+ def account_sid
288
+ @properties['account_sid']
289
+ end
290
+
291
+ ##
292
+ # @return [String] The unique string that identifies the resource
293
+ def sid
294
+ @properties['sid']
295
+ end
296
+
297
+ ##
298
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
299
+ def date_created
300
+ @properties['date_created']
301
+ end
302
+
303
+ ##
304
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
305
+ def date_updated
306
+ @properties['date_updated']
307
+ end
308
+
309
+ ##
310
+ # @return [String] The Media Extension name or URL
311
+ def extension
312
+ @properties['extension']
313
+ end
314
+
315
+ ##
316
+ # @return [String] The Media Extension context
317
+ def extension_context
318
+ @properties['extension_context']
319
+ end
320
+
321
+ ##
322
+ # @return [media_processor.Status] The status of the MediaProcessor
323
+ def status
324
+ @properties['status']
325
+ end
326
+
327
+ ##
328
+ # @return [String] The absolute URL of the resource
329
+ def url
330
+ @properties['url']
331
+ end
332
+
333
+ ##
334
+ # @return [String] The reason why a MediaProcessor ended
335
+ def ended_reason
336
+ @properties['ended_reason']
337
+ end
338
+
339
+ ##
340
+ # @return [String] The URL to which Twilio will send MediaProcessor event updates
341
+ def status_callback
342
+ @properties['status_callback']
343
+ end
344
+
345
+ ##
346
+ # @return [String] The HTTP method Twilio should use to call the `status_callback` URL
347
+ def status_callback_method
348
+ @properties['status_callback_method']
349
+ end
350
+
351
+ ##
352
+ # Fetch the MediaProcessorInstance
353
+ # @return [MediaProcessorInstance] Fetched MediaProcessorInstance
354
+ def fetch
355
+ context.fetch
356
+ end
357
+
358
+ ##
359
+ # Update the MediaProcessorInstance
360
+ # @param [media_processor.UpdateStatus] status The status of the MediaProcessor.
361
+ # Can be `ended`.
362
+ # @return [MediaProcessorInstance] Updated MediaProcessorInstance
363
+ def update(status: nil)
364
+ context.update(status: status, )
365
+ end
366
+
367
+ ##
368
+ # Provide a user friendly representation
369
+ def to_s
370
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
371
+ "<Twilio.Media.V1.MediaProcessorInstance #{values}>"
372
+ end
373
+
374
+ ##
375
+ # Provide a detailed, user friendly representation
376
+ def inspect
377
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
378
+ "<Twilio.Media.V1.MediaProcessorInstance #{values}>"
379
+ end
380
+ end
381
+ end
382
+ end
383
+ end
384
+ end
@@ -0,0 +1,221 @@
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 Media < Domain
12
+ class V1 < Version
13
+ class PlayerStreamerContext < InstanceContext
14
+ class PlaybackGrantList < ListResource
15
+ ##
16
+ # Initialize the PlaybackGrantList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] sid The unique string generated to identify the PlayerStreamer
19
+ # resource that this PlaybackGrant authorizes views for.
20
+ # @return [PlaybackGrantList] PlaybackGrantList
21
+ def initialize(version, sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {sid: sid}
26
+ end
27
+
28
+ ##
29
+ # Provide a user friendly representation
30
+ def to_s
31
+ '#<Twilio.Media.V1.PlaybackGrantList>'
32
+ end
33
+ end
34
+
35
+ class PlaybackGrantPage < Page
36
+ ##
37
+ # Initialize the PlaybackGrantPage
38
+ # @param [Version] version Version that contains the resource
39
+ # @param [Response] response Response from the API
40
+ # @param [Hash] solution Path solution for the resource
41
+ # @return [PlaybackGrantPage] PlaybackGrantPage
42
+ def initialize(version, response, solution)
43
+ super(version, response)
44
+
45
+ # Path Solution
46
+ @solution = solution
47
+ end
48
+
49
+ ##
50
+ # Build an instance of PlaybackGrantInstance
51
+ # @param [Hash] payload Payload response from the API
52
+ # @return [PlaybackGrantInstance] PlaybackGrantInstance
53
+ def get_instance(payload)
54
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
55
+ end
56
+
57
+ ##
58
+ # Provide a user friendly representation
59
+ def to_s
60
+ '<Twilio.Media.V1.PlaybackGrantPage>'
61
+ end
62
+ end
63
+
64
+ class PlaybackGrantContext < InstanceContext
65
+ ##
66
+ # Initialize the PlaybackGrantContext
67
+ # @param [Version] version Version that contains the resource
68
+ # @param [String] sid The SID of the PlayerStreamer resource to fetch.
69
+ # @return [PlaybackGrantContext] PlaybackGrantContext
70
+ def initialize(version, sid)
71
+ super(version)
72
+
73
+ # Path Solution
74
+ @solution = {sid: sid, }
75
+ @uri = "/PlayerStreamers/#{@solution[:sid]}/PlaybackGrant"
76
+ end
77
+
78
+ ##
79
+ # Create the PlaybackGrantInstance
80
+ # @param [String] ttl The time to live of the PlaybackGrant. Default value is 15
81
+ # seconds. Maximum value is 60 seconds.
82
+ # @param [String] access_control_allow_origin The full origin URL where the
83
+ # livestream can be streamed. If this is not provided, it can be streamed from any
84
+ # domain.
85
+ # @return [PlaybackGrantInstance] Created PlaybackGrantInstance
86
+ def create(ttl: :unset, access_control_allow_origin: :unset)
87
+ data = Twilio::Values.of({'Ttl' => ttl, 'AccessControlAllowOrigin' => access_control_allow_origin, })
88
+
89
+ payload = @version.create('POST', @uri, data: data)
90
+
91
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
92
+ end
93
+
94
+ ##
95
+ # Fetch the PlaybackGrantInstance
96
+ # @return [PlaybackGrantInstance] Fetched PlaybackGrantInstance
97
+ def fetch
98
+ payload = @version.fetch('GET', @uri)
99
+
100
+ PlaybackGrantInstance.new(@version, payload, sid: @solution[:sid], )
101
+ end
102
+
103
+ ##
104
+ # Provide a user friendly representation
105
+ def to_s
106
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
107
+ "#<Twilio.Media.V1.PlaybackGrantContext #{context}>"
108
+ end
109
+
110
+ ##
111
+ # Provide a detailed, user friendly representation
112
+ def inspect
113
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
114
+ "#<Twilio.Media.V1.PlaybackGrantContext #{context}>"
115
+ end
116
+ end
117
+
118
+ class PlaybackGrantInstance < InstanceResource
119
+ ##
120
+ # Initialize the PlaybackGrantInstance
121
+ # @param [Version] version Version that contains the resource
122
+ # @param [Hash] payload payload that contains response from Twilio
123
+ # @param [String] sid The unique string generated to identify the PlayerStreamer
124
+ # resource that this PlaybackGrant authorizes views for.
125
+ # @return [PlaybackGrantInstance] PlaybackGrantInstance
126
+ def initialize(version, payload, sid: nil)
127
+ super(version)
128
+
129
+ # Marshaled Properties
130
+ @properties = {
131
+ 'sid' => payload['sid'],
132
+ 'url' => payload['url'],
133
+ 'account_sid' => payload['account_sid'],
134
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
135
+ 'grant' => payload['grant'],
136
+ }
137
+
138
+ # Context
139
+ @instance_context = nil
140
+ @params = {'sid' => sid, }
141
+ end
142
+
143
+ ##
144
+ # Generate an instance context for the instance, the context is capable of
145
+ # performing various actions. All instance actions are proxied to the context
146
+ # @return [PlaybackGrantContext] PlaybackGrantContext for this PlaybackGrantInstance
147
+ def context
148
+ unless @instance_context
149
+ @instance_context = PlaybackGrantContext.new(@version, @params['sid'], )
150
+ end
151
+ @instance_context
152
+ end
153
+
154
+ ##
155
+ # @return [String] The unique string that identifies the PlayerStreamer associated with this PlaybackGrant.
156
+ def sid
157
+ @properties['sid']
158
+ end
159
+
160
+ ##
161
+ # @return [String] The absolute URL of the resource
162
+ def url
163
+ @properties['url']
164
+ end
165
+
166
+ ##
167
+ # @return [String] The SID of the Account that created the resource
168
+ def account_sid
169
+ @properties['account_sid']
170
+ end
171
+
172
+ ##
173
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
174
+ def date_created
175
+ @properties['date_created']
176
+ end
177
+
178
+ ##
179
+ # @return [Hash] The grant that authorizes the player sdk to connect to the livestream
180
+ def grant
181
+ @properties['grant']
182
+ end
183
+
184
+ ##
185
+ # Create the PlaybackGrantInstance
186
+ # @param [String] ttl The time to live of the PlaybackGrant. Default value is 15
187
+ # seconds. Maximum value is 60 seconds.
188
+ # @param [String] access_control_allow_origin The full origin URL where the
189
+ # livestream can be streamed. If this is not provided, it can be streamed from any
190
+ # domain.
191
+ # @return [PlaybackGrantInstance] Created PlaybackGrantInstance
192
+ def create(ttl: :unset, access_control_allow_origin: :unset)
193
+ context.create(ttl: ttl, access_control_allow_origin: access_control_allow_origin, )
194
+ end
195
+
196
+ ##
197
+ # Fetch the PlaybackGrantInstance
198
+ # @return [PlaybackGrantInstance] Fetched PlaybackGrantInstance
199
+ def fetch
200
+ context.fetch
201
+ end
202
+
203
+ ##
204
+ # Provide a user friendly representation
205
+ def to_s
206
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
207
+ "<Twilio.Media.V1.PlaybackGrantInstance #{values}>"
208
+ end
209
+
210
+ ##
211
+ # Provide a detailed, user friendly representation
212
+ def inspect
213
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
214
+ "<Twilio.Media.V1.PlaybackGrantInstance #{values}>"
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end