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
@@ -28,6 +28,23 @@ module Twilio
28
28
  @v1 ||= V1.new self
29
29
  end
30
30
 
31
+ ##
32
+ # @param [String] type A string that uniquely identifies this Event Type.
33
+ # @return [Twilio::REST::Events::V1::EventTypeInstance] if type was passed.
34
+ # @return [Twilio::REST::Events::V1::EventTypeList]
35
+ def event_types(type=:unset)
36
+ self.v1.event_types(type)
37
+ end
38
+
39
+ ##
40
+ # @param [String] id The unique identifier of the schema. Each schema can have
41
+ # multiple versions, that share the same id.
42
+ # @return [Twilio::REST::Events::V1::SchemaInstance] if id was passed.
43
+ # @return [Twilio::REST::Events::V1::SchemaList]
44
+ def schemas(id=:unset)
45
+ self.v1.schemas(id)
46
+ end
47
+
31
48
  ##
32
49
  # @param [String] sid A 34 character string that uniquely identifies this Sink.
33
50
  # @return [Twilio::REST::Events::V1::SinkInstance] if sid was passed.
@@ -15,10 +15,41 @@ module Twilio
15
15
  def initialize(domain)
16
16
  super
17
17
  @version = 'v1'
18
+ @event_types = nil
19
+ @schemas = nil
18
20
  @sinks = nil
19
21
  @subscriptions = nil
20
22
  end
21
23
 
24
+ ##
25
+ # @param [String] type A string that uniquely identifies this Event Type.
26
+ # @return [Twilio::REST::Events::V1::EventTypeContext] if type was passed.
27
+ # @return [Twilio::REST::Events::V1::EventTypeList]
28
+ def event_types(type=:unset)
29
+ if type.nil?
30
+ raise ArgumentError, 'type cannot be nil'
31
+ elsif type == :unset
32
+ @event_types ||= EventTypeList.new self
33
+ else
34
+ EventTypeContext.new(self, type)
35
+ end
36
+ end
37
+
38
+ ##
39
+ # @param [String] id The unique identifier of the schema. Each schema can have
40
+ # multiple versions, that share the same id.
41
+ # @return [Twilio::REST::Events::V1::SchemaContext] if id was passed.
42
+ # @return [Twilio::REST::Events::V1::SchemaList]
43
+ def schemas(id=:unset)
44
+ if id.nil?
45
+ raise ArgumentError, 'id cannot be nil'
46
+ elsif id == :unset
47
+ @schemas ||= SchemaList.new self
48
+ else
49
+ SchemaContext.new(self, id)
50
+ end
51
+ end
52
+
22
53
  ##
23
54
  # @param [String] sid A 34 character string that uniquely identifies this Sink.
24
55
  # @return [Twilio::REST::Events::V1::SinkContext] if sid was passed.
@@ -0,0 +1,291 @@
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 Events < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
15
+ class EventTypeList < ListResource
16
+ ##
17
+ # Initialize the EventTypeList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [EventTypeList] EventTypeList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Types"
26
+ end
27
+
28
+ ##
29
+ # Lists EventTypeInstance 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 [Integer] limit Upper limit for the number of records to return. stream()
33
+ # guarantees to never return more than limit. Default is no limit
34
+ # @param [Integer] page_size Number of records to fetch per request, when
35
+ # not set will use the default value of 50 records. If no page_size is defined
36
+ # but a limit is defined, stream() will attempt to read the limit with the most
37
+ # efficient page size, i.e. min(limit, 1000)
38
+ # @return [Array] Array of up to limit results
39
+ def list(limit: nil, page_size: nil)
40
+ self.stream(limit: limit, page_size: page_size).entries
41
+ end
42
+
43
+ ##
44
+ # Streams EventTypeInstance records from the API as an Enumerable.
45
+ # This operation lazily loads records as efficiently as possible until the limit
46
+ # is reached.
47
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
48
+ # guarantees to never return more than limit. Default is no limit.
49
+ # @param [Integer] page_size Number of records to fetch per request, when
50
+ # not set will use the default value of 50 records. If no page_size is defined
51
+ # but a limit is defined, stream() will attempt to read the limit with the most
52
+ # efficient page size, i.e. min(limit, 1000)
53
+ # @return [Enumerable] Enumerable that will yield up to limit results
54
+ def stream(limit: nil, page_size: nil)
55
+ limits = @version.read_limits(limit, page_size)
56
+
57
+ page = self.page(page_size: limits[:page_size], )
58
+
59
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
60
+ end
61
+
62
+ ##
63
+ # When passed a block, yields EventTypeInstance records from the API.
64
+ # This operation lazily loads records as efficiently as possible until the limit
65
+ # is reached.
66
+ def each
67
+ limits = @version.read_limits
68
+
69
+ page = self.page(page_size: limits[:page_size], )
70
+
71
+ @version.stream(page,
72
+ limit: limits[:limit],
73
+ page_limit: limits[:page_limit]).each {|x| yield x}
74
+ end
75
+
76
+ ##
77
+ # Retrieve a single page of EventTypeInstance records from the API.
78
+ # Request is executed immediately.
79
+ # @param [String] page_token PageToken provided by the API
80
+ # @param [Integer] page_number Page Number, this value is simply for client state
81
+ # @param [Integer] page_size Number of records to return, defaults to 50
82
+ # @return [Page] Page of EventTypeInstance
83
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
84
+ params = Twilio::Values.of({
85
+ 'PageToken' => page_token,
86
+ 'Page' => page_number,
87
+ 'PageSize' => page_size,
88
+ })
89
+
90
+ response = @version.page('GET', @uri, params: params)
91
+
92
+ EventTypePage.new(@version, response, @solution)
93
+ end
94
+
95
+ ##
96
+ # Retrieve a single page of EventTypeInstance records from the API.
97
+ # Request is executed immediately.
98
+ # @param [String] target_url API-generated URL for the requested results page
99
+ # @return [Page] Page of EventTypeInstance
100
+ def get_page(target_url)
101
+ response = @version.domain.request(
102
+ 'GET',
103
+ target_url
104
+ )
105
+ EventTypePage.new(@version, response, @solution)
106
+ end
107
+
108
+ ##
109
+ # Provide a user friendly representation
110
+ def to_s
111
+ '#<Twilio.Events.V1.EventTypeList>'
112
+ end
113
+ end
114
+
115
+ ##
116
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
117
+ class EventTypePage < Page
118
+ ##
119
+ # Initialize the EventTypePage
120
+ # @param [Version] version Version that contains the resource
121
+ # @param [Response] response Response from the API
122
+ # @param [Hash] solution Path solution for the resource
123
+ # @return [EventTypePage] EventTypePage
124
+ def initialize(version, response, solution)
125
+ super(version, response)
126
+
127
+ # Path Solution
128
+ @solution = solution
129
+ end
130
+
131
+ ##
132
+ # Build an instance of EventTypeInstance
133
+ # @param [Hash] payload Payload response from the API
134
+ # @return [EventTypeInstance] EventTypeInstance
135
+ def get_instance(payload)
136
+ EventTypeInstance.new(@version, payload, )
137
+ end
138
+
139
+ ##
140
+ # Provide a user friendly representation
141
+ def to_s
142
+ '<Twilio.Events.V1.EventTypePage>'
143
+ end
144
+ end
145
+
146
+ ##
147
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
148
+ class EventTypeContext < InstanceContext
149
+ ##
150
+ # Initialize the EventTypeContext
151
+ # @param [Version] version Version that contains the resource
152
+ # @param [String] type A string that uniquely identifies this Event Type.
153
+ # @return [EventTypeContext] EventTypeContext
154
+ def initialize(version, type)
155
+ super(version)
156
+
157
+ # Path Solution
158
+ @solution = {type: type, }
159
+ @uri = "/Types/#{@solution[:type]}"
160
+ end
161
+
162
+ ##
163
+ # Fetch the EventTypeInstance
164
+ # @return [EventTypeInstance] Fetched EventTypeInstance
165
+ def fetch
166
+ payload = @version.fetch('GET', @uri)
167
+
168
+ EventTypeInstance.new(@version, payload, type: @solution[:type], )
169
+ end
170
+
171
+ ##
172
+ # Provide a user friendly representation
173
+ def to_s
174
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
175
+ "#<Twilio.Events.V1.EventTypeContext #{context}>"
176
+ end
177
+
178
+ ##
179
+ # Provide a detailed, user friendly representation
180
+ def inspect
181
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
182
+ "#<Twilio.Events.V1.EventTypeContext #{context}>"
183
+ end
184
+ end
185
+
186
+ ##
187
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
188
+ class EventTypeInstance < InstanceResource
189
+ ##
190
+ # Initialize the EventTypeInstance
191
+ # @param [Version] version Version that contains the resource
192
+ # @param [Hash] payload payload that contains response from Twilio
193
+ # @param [String] type A string that uniquely identifies this Event Type.
194
+ # @return [EventTypeInstance] EventTypeInstance
195
+ def initialize(version, payload, type: nil)
196
+ super(version)
197
+
198
+ # Marshaled Properties
199
+ @properties = {
200
+ 'type' => payload['type'],
201
+ 'schema_id' => payload['schema_id'],
202
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
203
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
204
+ 'description' => payload['description'],
205
+ 'url' => payload['url'],
206
+ 'links' => payload['links'],
207
+ }
208
+
209
+ # Context
210
+ @instance_context = nil
211
+ @params = {'type' => type || @properties['type'], }
212
+ end
213
+
214
+ ##
215
+ # Generate an instance context for the instance, the context is capable of
216
+ # performing various actions. All instance actions are proxied to the context
217
+ # @return [EventTypeContext] EventTypeContext for this EventTypeInstance
218
+ def context
219
+ unless @instance_context
220
+ @instance_context = EventTypeContext.new(@version, @params['type'], )
221
+ end
222
+ @instance_context
223
+ end
224
+
225
+ ##
226
+ # @return [String] The Event Type identifier.
227
+ def type
228
+ @properties['type']
229
+ end
230
+
231
+ ##
232
+ # @return [String] The Schema identifier for this Event Type.
233
+ def schema_id
234
+ @properties['schema_id']
235
+ end
236
+
237
+ ##
238
+ # @return [Time] The date this Event Type was created.
239
+ def date_created
240
+ @properties['date_created']
241
+ end
242
+
243
+ ##
244
+ # @return [Time] The date this Event Type was updated.
245
+ def date_updated
246
+ @properties['date_updated']
247
+ end
248
+
249
+ ##
250
+ # @return [String] Event Type description.
251
+ def description
252
+ @properties['description']
253
+ end
254
+
255
+ ##
256
+ # @return [String] The URL of this resource.
257
+ def url
258
+ @properties['url']
259
+ end
260
+
261
+ ##
262
+ # @return [String] The links
263
+ def links
264
+ @properties['links']
265
+ end
266
+
267
+ ##
268
+ # Fetch the EventTypeInstance
269
+ # @return [EventTypeInstance] Fetched EventTypeInstance
270
+ def fetch
271
+ context.fetch
272
+ end
273
+
274
+ ##
275
+ # Provide a user friendly representation
276
+ def to_s
277
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
278
+ "<Twilio.Events.V1.EventTypeInstance #{values}>"
279
+ end
280
+
281
+ ##
282
+ # Provide a detailed, user friendly representation
283
+ def inspect
284
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
285
+ "<Twilio.Events.V1.EventTypeInstance #{values}>"
286
+ end
287
+ end
288
+ end
289
+ end
290
+ end
291
+ end
@@ -0,0 +1,226 @@
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 Events < Domain
12
+ class V1 < Version
13
+ ##
14
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
15
+ class SchemaList < ListResource
16
+ ##
17
+ # Initialize the SchemaList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [SchemaList] SchemaList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ end
26
+
27
+ ##
28
+ # Provide a user friendly representation
29
+ def to_s
30
+ '#<Twilio.Events.V1.SchemaList>'
31
+ end
32
+ end
33
+
34
+ ##
35
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
36
+ class SchemaPage < Page
37
+ ##
38
+ # Initialize the SchemaPage
39
+ # @param [Version] version Version that contains the resource
40
+ # @param [Response] response Response from the API
41
+ # @param [Hash] solution Path solution for the resource
42
+ # @return [SchemaPage] SchemaPage
43
+ def initialize(version, response, solution)
44
+ super(version, response)
45
+
46
+ # Path Solution
47
+ @solution = solution
48
+ end
49
+
50
+ ##
51
+ # Build an instance of SchemaInstance
52
+ # @param [Hash] payload Payload response from the API
53
+ # @return [SchemaInstance] SchemaInstance
54
+ def get_instance(payload)
55
+ SchemaInstance.new(@version, payload, )
56
+ end
57
+
58
+ ##
59
+ # Provide a user friendly representation
60
+ def to_s
61
+ '<Twilio.Events.V1.SchemaPage>'
62
+ end
63
+ end
64
+
65
+ ##
66
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
67
+ class SchemaContext < InstanceContext
68
+ ##
69
+ # Initialize the SchemaContext
70
+ # @param [Version] version Version that contains the resource
71
+ # @param [String] id The unique identifier of the schema. Each schema can have
72
+ # multiple versions, that share the same id.
73
+ # @return [SchemaContext] SchemaContext
74
+ def initialize(version, id)
75
+ super(version)
76
+
77
+ # Path Solution
78
+ @solution = {id: id, }
79
+ @uri = "/Schemas/#{@solution[:id]}"
80
+
81
+ # Dependents
82
+ @versions = nil
83
+ end
84
+
85
+ ##
86
+ # Fetch the SchemaInstance
87
+ # @return [SchemaInstance] Fetched SchemaInstance
88
+ def fetch
89
+ payload = @version.fetch('GET', @uri)
90
+
91
+ SchemaInstance.new(@version, payload, id: @solution[:id], )
92
+ end
93
+
94
+ ##
95
+ # Access the versions
96
+ # @return [VersionList]
97
+ # @return [VersionContext] if schema_version was passed.
98
+ def versions(schema_version=:unset)
99
+ raise ArgumentError, 'schema_version cannot be nil' if schema_version.nil?
100
+
101
+ if schema_version != :unset
102
+ return VersionContext.new(@version, @solution[:id], schema_version, )
103
+ end
104
+
105
+ unless @versions
106
+ @versions = VersionList.new(@version, id: @solution[:id], )
107
+ end
108
+
109
+ @versions
110
+ end
111
+
112
+ ##
113
+ # Provide a user friendly representation
114
+ def to_s
115
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
116
+ "#<Twilio.Events.V1.SchemaContext #{context}>"
117
+ end
118
+
119
+ ##
120
+ # Provide a detailed, user friendly representation
121
+ def inspect
122
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
123
+ "#<Twilio.Events.V1.SchemaContext #{context}>"
124
+ end
125
+ end
126
+
127
+ ##
128
+ # PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact help@twilio.com.
129
+ class SchemaInstance < InstanceResource
130
+ ##
131
+ # Initialize the SchemaInstance
132
+ # @param [Version] version Version that contains the resource
133
+ # @param [Hash] payload payload that contains response from Twilio
134
+ # @param [String] id The unique identifier of the schema. Each schema can have
135
+ # multiple versions, that share the same id.
136
+ # @return [SchemaInstance] SchemaInstance
137
+ def initialize(version, payload, id: nil)
138
+ super(version)
139
+
140
+ # Marshaled Properties
141
+ @properties = {
142
+ 'id' => payload['id'],
143
+ 'url' => payload['url'],
144
+ 'links' => payload['links'],
145
+ 'last_created' => Twilio.deserialize_iso8601_datetime(payload['last_created']),
146
+ 'last_version' => payload['last_version'].to_i,
147
+ }
148
+
149
+ # Context
150
+ @instance_context = nil
151
+ @params = {'id' => id || @properties['id'], }
152
+ end
153
+
154
+ ##
155
+ # Generate an instance context for the instance, the context is capable of
156
+ # performing various actions. All instance actions are proxied to the context
157
+ # @return [SchemaContext] SchemaContext for this SchemaInstance
158
+ def context
159
+ unless @instance_context
160
+ @instance_context = SchemaContext.new(@version, @params['id'], )
161
+ end
162
+ @instance_context
163
+ end
164
+
165
+ ##
166
+ # @return [String] Schema Identifier.
167
+ def id
168
+ @properties['id']
169
+ end
170
+
171
+ ##
172
+ # @return [String] The URL of this resource.
173
+ def url
174
+ @properties['url']
175
+ end
176
+
177
+ ##
178
+ # @return [String] Nested resource URLs.
179
+ def links
180
+ @properties['links']
181
+ end
182
+
183
+ ##
184
+ # @return [Time] The date that the last schema version was created.
185
+ def last_created
186
+ @properties['last_created']
187
+ end
188
+
189
+ ##
190
+ # @return [String] Last schema version.
191
+ def last_version
192
+ @properties['last_version']
193
+ end
194
+
195
+ ##
196
+ # Fetch the SchemaInstance
197
+ # @return [SchemaInstance] Fetched SchemaInstance
198
+ def fetch
199
+ context.fetch
200
+ end
201
+
202
+ ##
203
+ # Access the versions
204
+ # @return [versions] versions
205
+ def versions
206
+ context.versions
207
+ end
208
+
209
+ ##
210
+ # Provide a user friendly representation
211
+ def to_s
212
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
213
+ "<Twilio.Events.V1.SchemaInstance #{values}>"
214
+ end
215
+
216
+ ##
217
+ # Provide a detailed, user friendly representation
218
+ def inspect
219
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
220
+ "<Twilio.Events.V1.SchemaInstance #{values}>"
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end