twilio-ruby 5.39.0 → 5.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGES.md +80 -1
  4. data/CONTRIBUTING.md +2 -2
  5. data/ISSUE_TEMPLATE.md +5 -1
  6. data/Makefile +1 -1
  7. data/PULL_REQUEST_TEMPLATE.md +1 -1
  8. data/README.md +4 -3
  9. data/lib/twilio-ruby/framework/version.rb +1 -1
  10. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +1 -1
  11. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +1 -1
  12. data/lib/twilio-ruby/rest/api/v2010/account.rb +1 -1
  13. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +1 -1
  14. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +1 -1
  15. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +7 -5
  16. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  17. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +1 -1
  18. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +4 -4
  19. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +1 -1
  20. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +1 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +1 -1
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +1 -1
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +1 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +1 -1
  25. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +1 -1
  26. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +1 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +79 -60
  28. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +1 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +1 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  32. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +1 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +1 -1
  34. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +1 -1
  35. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +1 -1
  36. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +15 -1
  37. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +15 -1
  38. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +15 -1
  39. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +1 -1
  40. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +1 -1
  41. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +1 -1
  42. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +1 -1
  43. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +1 -1
  44. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +1 -1
  45. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +1 -1
  46. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  47. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +1 -1
  48. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +1 -1
  49. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  50. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +1 -1
  51. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +1 -1
  52. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +1 -1
  53. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +1 -1
  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/auth_calls_mapping/auth_calls_credential_list_mapping.rb +1 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +1 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +1 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +1 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  66. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  67. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  68. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  69. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  70. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  71. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  72. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +1 -1
  73. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +1 -1
  74. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +1 -1
  75. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +1 -1
  76. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +1 -1
  77. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +1 -1
  78. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +1 -1
  79. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +1 -1
  80. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +1 -1
  81. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +1 -1
  82. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -1
  83. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +1 -1
  84. data/lib/twilio-ruby/rest/chat/v1/credential.rb +1 -1
  85. data/lib/twilio-ruby/rest/chat/v1/service.rb +1 -1
  86. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +1 -1
  87. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +1 -1
  88. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +1 -1
  89. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  90. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +1 -1
  91. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  92. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +1 -1
  93. data/lib/twilio-ruby/rest/chat/v2/credential.rb +1 -1
  94. data/lib/twilio-ruby/rest/chat/v2/service.rb +1 -1
  95. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +1 -1
  96. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +1 -1
  97. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +1 -1
  98. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +1 -1
  99. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  100. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +1 -1
  101. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +1 -1
  102. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  103. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +1 -1
  104. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +1 -1
  105. data/lib/twilio-ruby/rest/client.rb +7 -0
  106. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +1 -1
  107. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  108. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  109. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +13 -3
  110. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +1 -1
  111. data/lib/twilio-ruby/rest/events.rb +55 -0
  112. data/lib/twilio-ruby/rest/events/v1.rb +59 -0
  113. data/lib/twilio-ruby/rest/events/v1/sink.rb +380 -0
  114. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  115. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  116. data/lib/twilio-ruby/rest/events/v1/subscription.rb +363 -0
  117. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +322 -0
  118. data/lib/twilio-ruby/rest/fax/v1/fax.rb +1 -1
  119. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +1 -1
  120. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +1 -1
  121. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +1 -1
  122. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +1 -1
  123. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +1 -1
  124. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +1 -1
  125. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +1 -1
  126. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +1 -1
  127. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +1 -1
  128. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +1 -1
  129. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +1 -1
  130. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +1 -1
  131. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +1 -1
  132. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  133. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +1 -1
  134. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  135. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +1 -1
  136. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +1 -1
  137. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +1 -1
  138. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +1 -1
  139. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +1 -1
  140. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +1 -1
  141. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +1 -1
  142. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  143. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +1 -1
  144. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +1 -1
  145. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  146. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +1 -1
  147. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +1 -1
  148. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +1 -1
  149. data/lib/twilio-ruby/rest/messaging.rb +6 -0
  150. data/lib/twilio-ruby/rest/messaging/v1.rb +7 -0
  151. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  152. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1 -1
  153. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  154. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  155. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  156. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +1 -1
  157. data/lib/twilio-ruby/rest/monitor/v1/event.rb +1 -1
  158. data/lib/twilio-ruby/rest/notify/v1/credential.rb +1 -1
  159. data/lib/twilio-ruby/rest/notify/v1/service.rb +1 -1
  160. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +1 -1
  161. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +1 -1
  162. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +1 -1
  163. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  164. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +1 -1
  165. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +17 -3
  166. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  167. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +1 -1
  168. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +1 -1
  169. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  170. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +1 -1
  171. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +1 -1
  172. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +1 -1
  173. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +1 -1
  174. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +1 -1
  175. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +1 -1
  176. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +1 -1
  177. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +1 -1
  178. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +1 -1
  179. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +1 -1
  180. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +1 -1
  181. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +1 -1
  182. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +1 -1
  183. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +1 -1
  184. data/lib/twilio-ruby/rest/preview/sync/service.rb +1 -1
  185. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +1 -1
  186. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +1 -1
  187. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +1 -1
  188. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  189. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +1 -1
  190. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +1 -1
  191. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +1 -1
  192. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +1 -1
  193. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +1 -1
  194. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +1 -1
  195. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +1 -1
  196. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +1 -1
  197. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +1 -1
  198. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +1 -1
  199. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +1 -1
  200. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +1 -1
  201. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +1 -1
  202. data/lib/twilio-ruby/rest/preview/wireless/command.rb +1 -1
  203. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  204. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +1 -1
  205. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +1 -1
  206. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +1 -1
  207. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  208. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +1 -1
  209. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +1 -1
  210. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  211. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  212. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  213. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +43 -5
  214. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +1 -1
  215. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +14 -2
  216. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  217. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +1 -1
  218. data/lib/twilio-ruby/rest/serverless/v1/service.rb +1 -1
  219. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +1 -1
  220. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +1 -1
  221. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +1 -1
  222. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  223. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +1 -1
  224. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +1 -1
  225. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +1 -1
  226. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +1 -1
  227. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +1 -1
  228. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  229. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +1 -1
  230. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +1 -1
  231. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  232. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +1 -1
  233. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  234. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  235. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +1 -1
  236. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  237. data/lib/twilio-ruby/rest/supersim/v1/command.rb +1 -1
  238. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +13 -12
  239. data/lib/twilio-ruby/rest/supersim/v1/network.rb +1 -1
  240. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +1 -1
  241. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +1 -1
  242. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +25 -5
  243. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +76 -10
  244. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  245. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +1 -1
  246. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +1 -1
  247. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +1 -1
  248. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +1 -1
  249. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +1 -1
  250. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +1 -1
  251. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +1 -1
  252. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -1
  253. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +1 -1
  254. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +1 -1
  255. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +1 -1
  256. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  257. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +1 -1
  258. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +1 -1
  259. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +1 -1
  260. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +1 -1
  261. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +1 -1
  262. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  263. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +1 -1
  264. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +1 -1
  265. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +1 -1
  266. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +1 -1
  267. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +1 -1
  268. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +1 -1
  269. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  270. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  271. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +1 -1
  272. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  273. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +1 -1
  274. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +1 -1
  275. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +1 -1
  276. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +1 -1
  277. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  278. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +1 -1
  279. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +26 -4
  280. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +1 -1
  281. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +1 -1
  282. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +1 -1
  283. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +1 -1
  284. data/lib/twilio-ruby/rest/verify/v2/service.rb +22 -10
  285. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +1 -1
  286. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +11 -3
  287. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +1 -1
  288. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +1 -1
  289. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +1 -1
  290. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +1 -1
  291. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +4 -1
  292. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +1 -1
  293. data/lib/twilio-ruby/rest/video/v1/composition.rb +1 -1
  294. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +1 -1
  295. data/lib/twilio-ruby/rest/video/v1/recording.rb +1 -1
  296. data/lib/twilio-ruby/rest/video/v1/room.rb +1 -1
  297. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +1 -1
  298. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +1 -1
  299. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +1 -1
  300. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -6
  301. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +1 -1
  302. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +1 -1
  303. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +1 -1
  304. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +1 -1
  305. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  306. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +1 -1
  307. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  308. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +1 -1
  309. data/lib/twilio-ruby/rest/wireless/v1/command.rb +1 -1
  310. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +1 -1
  311. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +1 -1
  312. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +6 -20
  313. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +1 -1
  314. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +1 -1
  315. data/lib/twilio-ruby/version.rb +1 -1
  316. data/spec/framework/version_spec.rb +166 -0
  317. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +35 -36
  318. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +39 -40
  319. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +35 -36
  320. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +25 -23
  321. data/spec/integration/api/v2010/account/message_spec.rb +37 -0
  322. data/spec/integration/bulkexports/v1/export/day_spec.rb +5 -5
  323. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +4 -4
  324. data/spec/integration/bulkexports/v1/export_spec.rb +3 -3
  325. data/spec/integration/conversations/v1/conversation/message_spec.rb +38 -0
  326. data/spec/integration/conversations/v1/conversation/participant_spec.rb +56 -0
  327. data/spec/integration/conversations/v1/conversation_spec.rb +30 -0
  328. data/spec/integration/events/v1/sink/sink_test_spec.rb +42 -0
  329. data/spec/integration/events/v1/sink/sink_validate_spec.rb +44 -0
  330. data/spec/integration/events/v1/sink_spec.rb +217 -0
  331. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +212 -0
  332. data/spec/integration/events/v1/subscription_spec.rb +205 -0
  333. data/spec/integration/messaging/v1/deactivation_spec.rb +40 -0
  334. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +27 -0
  335. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +1 -0
  336. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +1 -0
  337. data/spec/integration/supersim/v1/usage_record_spec.rb +463 -18
  338. data/spec/integration/trunking/v1/trunk_spec.rb +4 -0
  339. data/spec/integration/verify/v2/service/access_token_spec.rb +1 -1
  340. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +8 -8
  341. data/spec/integration/video/v1/room_spec.rb +37 -0
  342. data/spec/integration/wireless/v1/sim/data_session_spec.rb +2 -2
  343. data/spec/spec_helper.rb +1 -1
  344. metadata +24 -2
@@ -127,7 +127,7 @@ module Twilio
127
127
  'PageSize' => page_size,
128
128
  })
129
129
 
130
- response = @version.page('GET', @uri, params)
130
+ response = @version.page('GET', @uri, params: params)
131
131
 
132
132
  ConversationPage.new(@version, response, @solution)
133
133
  end
@@ -122,7 +122,7 @@ module Twilio
122
122
  'PageSize' => page_size,
123
123
  })
124
124
 
125
- response = @version.page('GET', @uri, params)
125
+ response = @version.page('GET', @uri, params: params)
126
126
 
127
127
  MessagePage.new(@version, response, @solution)
128
128
  end
@@ -92,7 +92,7 @@ module Twilio
92
92
  'PageSize' => page_size,
93
93
  })
94
94
 
95
- response = @version.page('GET', @uri, params)
95
+ response = @version.page('GET', @uri, params: params)
96
96
 
97
97
  DeliveryReceiptPage.new(@version, response, @solution)
98
98
  end
@@ -138,7 +138,7 @@ module Twilio
138
138
  'PageSize' => page_size,
139
139
  })
140
140
 
141
- response = @version.page('GET', @uri, params)
141
+ response = @version.page('GET', @uri, params: params)
142
142
 
143
143
  ParticipantPage.new(@version, response, @solution)
144
144
  end
@@ -228,10 +228,14 @@ module Twilio
228
228
  # number that the participant is in contact with. 'null' value will remove it.
229
229
  # @param [String] messaging_binding_projected_address The address of the Twilio
230
230
  # phone number that is used in Group MMS. 'null' value will remove it.
231
+ # @param [String] identity A unique string identifier for the conversation
232
+ # participant as [Chat User](https://www.twilio.com/docs/chat/rest/user-resource).
233
+ # This parameter is non-null if (and only if) the participant is using the
234
+ # Programmable Chat SDK to communicate. Limited to 256 characters.
231
235
  # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
232
236
  # X-Twilio-Webhook-Enabled HTTP request header
233
237
  # @return [ParticipantInstance] Updated ParticipantInstance
234
- def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, x_twilio_webhook_enabled: :unset)
238
+ def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, identity: :unset, x_twilio_webhook_enabled: :unset)
235
239
  data = Twilio::Values.of({
236
240
  'DateCreated' => Twilio.serialize_iso8601_datetime(date_created),
237
241
  'DateUpdated' => Twilio.serialize_iso8601_datetime(date_updated),
@@ -239,6 +243,7 @@ module Twilio
239
243
  'RoleSid' => role_sid,
240
244
  'MessagingBinding.ProxyAddress' => messaging_binding_proxy_address,
241
245
  'MessagingBinding.ProjectedAddress' => messaging_binding_projected_address,
246
+ 'Identity' => identity,
242
247
  })
243
248
  headers = Twilio::Values.of({'X-Twilio-Webhook-Enabled' => x_twilio_webhook_enabled, })
244
249
 
@@ -412,10 +417,14 @@ module Twilio
412
417
  # number that the participant is in contact with. 'null' value will remove it.
413
418
  # @param [String] messaging_binding_projected_address The address of the Twilio
414
419
  # phone number that is used in Group MMS. 'null' value will remove it.
420
+ # @param [String] identity A unique string identifier for the conversation
421
+ # participant as [Chat User](https://www.twilio.com/docs/chat/rest/user-resource).
422
+ # This parameter is non-null if (and only if) the participant is using the
423
+ # Programmable Chat SDK to communicate. Limited to 256 characters.
415
424
  # @param [participant.WebhookEnabledType] x_twilio_webhook_enabled The
416
425
  # X-Twilio-Webhook-Enabled HTTP request header
417
426
  # @return [ParticipantInstance] Updated ParticipantInstance
418
- def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, x_twilio_webhook_enabled: :unset)
427
+ def update(date_created: :unset, date_updated: :unset, attributes: :unset, role_sid: :unset, messaging_binding_proxy_address: :unset, messaging_binding_projected_address: :unset, identity: :unset, x_twilio_webhook_enabled: :unset)
419
428
  context.update(
420
429
  date_created: date_created,
421
430
  date_updated: date_updated,
@@ -423,6 +432,7 @@ module Twilio
423
432
  role_sid: role_sid,
424
433
  messaging_binding_proxy_address: messaging_binding_proxy_address,
425
434
  messaging_binding_projected_address: messaging_binding_projected_address,
435
+ identity: identity,
426
436
  x_twilio_webhook_enabled: x_twilio_webhook_enabled,
427
437
  )
428
438
  end
@@ -90,7 +90,7 @@ module Twilio
90
90
  'PageSize' => page_size,
91
91
  })
92
92
 
93
- response = @version.page('GET', @uri, params)
93
+ response = @version.page('GET', @uri, params: params)
94
94
 
95
95
  WebhookPage.new(@version, response, @solution)
96
96
  end
@@ -0,0 +1,55 @@
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
+ ##
13
+ # Initialize the Events Domain
14
+ def initialize(twilio)
15
+ super
16
+
17
+ @base_url = 'https://events.twilio.com'
18
+ @host = 'events.twilio.com'
19
+ @port = 443
20
+
21
+ # Versions
22
+ @v1 = nil
23
+ end
24
+
25
+ ##
26
+ # Version v1 of events
27
+ def v1
28
+ @v1 ||= V1.new self
29
+ end
30
+
31
+ ##
32
+ # @param [String] sid A 34 character string that uniquely identifies this Sink.
33
+ # @return [Twilio::REST::Events::V1::SinkInstance] if sid was passed.
34
+ # @return [Twilio::REST::Events::V1::SinkList]
35
+ def sinks(sid=:unset)
36
+ self.v1.sinks(sid)
37
+ end
38
+
39
+ ##
40
+ # @param [String] sid A 34 character string that uniquely identifies this
41
+ # Subscription.
42
+ # @return [Twilio::REST::Events::V1::SubscriptionInstance] if sid was passed.
43
+ # @return [Twilio::REST::Events::V1::SubscriptionList]
44
+ def subscriptions(sid=:unset)
45
+ self.v1.subscriptions(sid)
46
+ end
47
+
48
+ ##
49
+ # Provide a user friendly representation
50
+ def to_s
51
+ '#<Twilio::REST::Events>'
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,59 @@
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
12
+ class V1 < Version
13
+ ##
14
+ # Initialize the V1 version of Events
15
+ def initialize(domain)
16
+ super
17
+ @version = 'v1'
18
+ @sinks = nil
19
+ @subscriptions = nil
20
+ end
21
+
22
+ ##
23
+ # @param [String] sid A 34 character string that uniquely identifies this Sink.
24
+ # @return [Twilio::REST::Events::V1::SinkContext] if sid was passed.
25
+ # @return [Twilio::REST::Events::V1::SinkList]
26
+ def sinks(sid=:unset)
27
+ if sid.nil?
28
+ raise ArgumentError, 'sid cannot be nil'
29
+ elsif sid == :unset
30
+ @sinks ||= SinkList.new self
31
+ else
32
+ SinkContext.new(self, sid)
33
+ end
34
+ end
35
+
36
+ ##
37
+ # @param [String] sid A 34 character string that uniquely identifies this
38
+ # Subscription.
39
+ # @return [Twilio::REST::Events::V1::SubscriptionContext] if sid was passed.
40
+ # @return [Twilio::REST::Events::V1::SubscriptionList]
41
+ def subscriptions(sid=:unset)
42
+ if sid.nil?
43
+ raise ArgumentError, 'sid cannot be nil'
44
+ elsif sid == :unset
45
+ @subscriptions ||= SubscriptionList.new self
46
+ else
47
+ SubscriptionContext.new(self, sid)
48
+ end
49
+ end
50
+
51
+ ##
52
+ # Provide a user friendly representation
53
+ def to_s
54
+ '<Twilio::REST::Events::V1>'
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,380 @@
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 SinkList < ListResource
16
+ ##
17
+ # Initialize the SinkList
18
+ # @param [Version] version Version that contains the resource
19
+ # @return [SinkList] SinkList
20
+ def initialize(version)
21
+ super(version)
22
+
23
+ # Path Solution
24
+ @solution = {}
25
+ @uri = "/Sinks"
26
+ end
27
+
28
+ ##
29
+ # Create the SinkInstance
30
+ # @param [String] description A human readable description for the Sink
31
+ # @param [Hash] sink_configuration The information required for Twilio to connect
32
+ # to the provided Sink encoded as JSON.
33
+ # @param [sink.SinkType] sink_type The Sink type. Can only be "kinesis" currently.
34
+ # @return [SinkInstance] Created SinkInstance
35
+ def create(description: nil, sink_configuration: nil, sink_type: nil)
36
+ data = Twilio::Values.of({
37
+ 'Description' => description,
38
+ 'SinkConfiguration' => Twilio.serialize_object(sink_configuration),
39
+ 'SinkType' => sink_type,
40
+ })
41
+
42
+ payload = @version.create('POST', @uri, data: data)
43
+
44
+ SinkInstance.new(@version, payload, )
45
+ end
46
+
47
+ ##
48
+ # Lists SinkInstance records from the API as a list.
49
+ # Unlike stream(), this operation is eager and will load `limit` records into
50
+ # memory before returning.
51
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
52
+ # guarantees to never return more than limit. Default is no limit
53
+ # @param [Integer] page_size Number of records to fetch per request, when
54
+ # not set will use the default value of 50 records. If no page_size is defined
55
+ # but a limit is defined, stream() will attempt to read the limit with the most
56
+ # efficient page size, i.e. min(limit, 1000)
57
+ # @return [Array] Array of up to limit results
58
+ def list(limit: nil, page_size: nil)
59
+ self.stream(limit: limit, page_size: page_size).entries
60
+ end
61
+
62
+ ##
63
+ # Streams SinkInstance records from the API as an Enumerable.
64
+ # This operation lazily loads records as efficiently as possible until the limit
65
+ # is reached.
66
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
67
+ # guarantees to never return more than limit. Default is no limit.
68
+ # @param [Integer] page_size Number of records to fetch per request, when
69
+ # not set will use the default value of 50 records. If no page_size is defined
70
+ # but a limit is defined, stream() will attempt to read the limit with the most
71
+ # efficient page size, i.e. min(limit, 1000)
72
+ # @return [Enumerable] Enumerable that will yield up to limit results
73
+ def stream(limit: nil, page_size: nil)
74
+ limits = @version.read_limits(limit, page_size)
75
+
76
+ page = self.page(page_size: limits[:page_size], )
77
+
78
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
79
+ end
80
+
81
+ ##
82
+ # When passed a block, yields SinkInstance records from the API.
83
+ # This operation lazily loads records as efficiently as possible until the limit
84
+ # is reached.
85
+ def each
86
+ limits = @version.read_limits
87
+
88
+ page = self.page(page_size: limits[:page_size], )
89
+
90
+ @version.stream(page,
91
+ limit: limits[:limit],
92
+ page_limit: limits[:page_limit]).each {|x| yield x}
93
+ end
94
+
95
+ ##
96
+ # Retrieve a single page of SinkInstance records from the API.
97
+ # Request is executed immediately.
98
+ # @param [String] page_token PageToken provided by the API
99
+ # @param [Integer] page_number Page Number, this value is simply for client state
100
+ # @param [Integer] page_size Number of records to return, defaults to 50
101
+ # @return [Page] Page of SinkInstance
102
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
103
+ params = Twilio::Values.of({
104
+ 'PageToken' => page_token,
105
+ 'Page' => page_number,
106
+ 'PageSize' => page_size,
107
+ })
108
+
109
+ response = @version.page('GET', @uri, params: params)
110
+
111
+ SinkPage.new(@version, response, @solution)
112
+ end
113
+
114
+ ##
115
+ # Retrieve a single page of SinkInstance records from the API.
116
+ # Request is executed immediately.
117
+ # @param [String] target_url API-generated URL for the requested results page
118
+ # @return [Page] Page of SinkInstance
119
+ def get_page(target_url)
120
+ response = @version.domain.request(
121
+ 'GET',
122
+ target_url
123
+ )
124
+ SinkPage.new(@version, response, @solution)
125
+ end
126
+
127
+ ##
128
+ # Provide a user friendly representation
129
+ def to_s
130
+ '#<Twilio.Events.V1.SinkList>'
131
+ end
132
+ end
133
+
134
+ ##
135
+ # 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.
136
+ class SinkPage < Page
137
+ ##
138
+ # Initialize the SinkPage
139
+ # @param [Version] version Version that contains the resource
140
+ # @param [Response] response Response from the API
141
+ # @param [Hash] solution Path solution for the resource
142
+ # @return [SinkPage] SinkPage
143
+ def initialize(version, response, solution)
144
+ super(version, response)
145
+
146
+ # Path Solution
147
+ @solution = solution
148
+ end
149
+
150
+ ##
151
+ # Build an instance of SinkInstance
152
+ # @param [Hash] payload Payload response from the API
153
+ # @return [SinkInstance] SinkInstance
154
+ def get_instance(payload)
155
+ SinkInstance.new(@version, payload, )
156
+ end
157
+
158
+ ##
159
+ # Provide a user friendly representation
160
+ def to_s
161
+ '<Twilio.Events.V1.SinkPage>'
162
+ end
163
+ end
164
+
165
+ ##
166
+ # 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.
167
+ class SinkContext < InstanceContext
168
+ ##
169
+ # Initialize the SinkContext
170
+ # @param [Version] version Version that contains the resource
171
+ # @param [String] sid A 34 character string that uniquely identifies this Sink.
172
+ # @return [SinkContext] SinkContext
173
+ def initialize(version, sid)
174
+ super(version)
175
+
176
+ # Path Solution
177
+ @solution = {sid: sid, }
178
+ @uri = "/Sinks/#{@solution[:sid]}"
179
+
180
+ # Dependents
181
+ @sink_test = nil
182
+ @sink_validate = nil
183
+ end
184
+
185
+ ##
186
+ # Fetch the SinkInstance
187
+ # @return [SinkInstance] Fetched SinkInstance
188
+ def fetch
189
+ payload = @version.fetch('GET', @uri)
190
+
191
+ SinkInstance.new(@version, payload, sid: @solution[:sid], )
192
+ end
193
+
194
+ ##
195
+ # Delete the SinkInstance
196
+ # @return [Boolean] true if delete succeeds, false otherwise
197
+ def delete
198
+ @version.delete('DELETE', @uri)
199
+ end
200
+
201
+ ##
202
+ # Access the sink_test
203
+ # @return [SinkTestList]
204
+ # @return [SinkTestContext]
205
+ def sink_test
206
+ unless @sink_test
207
+ @sink_test = SinkTestList.new(@version, sid: @solution[:sid], )
208
+ end
209
+
210
+ @sink_test
211
+ end
212
+
213
+ ##
214
+ # Access the sink_validate
215
+ # @return [SinkValidateList]
216
+ # @return [SinkValidateContext]
217
+ def sink_validate
218
+ unless @sink_validate
219
+ @sink_validate = SinkValidateList.new(@version, sid: @solution[:sid], )
220
+ end
221
+
222
+ @sink_validate
223
+ end
224
+
225
+ ##
226
+ # Provide a user friendly representation
227
+ def to_s
228
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
229
+ "#<Twilio.Events.V1.SinkContext #{context}>"
230
+ end
231
+
232
+ ##
233
+ # Provide a detailed, user friendly representation
234
+ def inspect
235
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
236
+ "#<Twilio.Events.V1.SinkContext #{context}>"
237
+ end
238
+ end
239
+
240
+ ##
241
+ # 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.
242
+ class SinkInstance < InstanceResource
243
+ ##
244
+ # Initialize the SinkInstance
245
+ # @param [Version] version Version that contains the resource
246
+ # @param [Hash] payload payload that contains response from Twilio
247
+ # @param [String] sid A 34 character string that uniquely identifies this Sink.
248
+ # @return [SinkInstance] SinkInstance
249
+ def initialize(version, payload, sid: nil)
250
+ super(version)
251
+
252
+ # Marshaled Properties
253
+ @properties = {
254
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
255
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
256
+ 'description' => payload['description'],
257
+ 'sid' => payload['sid'],
258
+ 'sink_configuration' => payload['sink_configuration'],
259
+ 'sink_type' => payload['sink_type'],
260
+ 'status' => payload['status'],
261
+ 'url' => payload['url'],
262
+ 'links' => payload['links'],
263
+ }
264
+
265
+ # Context
266
+ @instance_context = nil
267
+ @params = {'sid' => sid || @properties['sid'], }
268
+ end
269
+
270
+ ##
271
+ # Generate an instance context for the instance, the context is capable of
272
+ # performing various actions. All instance actions are proxied to the context
273
+ # @return [SinkContext] SinkContext for this SinkInstance
274
+ def context
275
+ unless @instance_context
276
+ @instance_context = SinkContext.new(@version, @params['sid'], )
277
+ end
278
+ @instance_context
279
+ end
280
+
281
+ ##
282
+ # @return [Time] The date this Sink was created
283
+ def date_created
284
+ @properties['date_created']
285
+ end
286
+
287
+ ##
288
+ # @return [Time] The date this Sink was updated
289
+ def date_updated
290
+ @properties['date_updated']
291
+ end
292
+
293
+ ##
294
+ # @return [String] Sink Description
295
+ def description
296
+ @properties['description']
297
+ end
298
+
299
+ ##
300
+ # @return [String] A string that uniquely identifies this Sink.
301
+ def sid
302
+ @properties['sid']
303
+ end
304
+
305
+ ##
306
+ # @return [Hash] JSON Sink configuration.
307
+ def sink_configuration
308
+ @properties['sink_configuration']
309
+ end
310
+
311
+ ##
312
+ # @return [sink.SinkType] Sink type.
313
+ def sink_type
314
+ @properties['sink_type']
315
+ end
316
+
317
+ ##
318
+ # @return [sink.Status] The Status of this Sink
319
+ def status
320
+ @properties['status']
321
+ end
322
+
323
+ ##
324
+ # @return [String] The URL of this resource.
325
+ def url
326
+ @properties['url']
327
+ end
328
+
329
+ ##
330
+ # @return [String] Nested resource URLs.
331
+ def links
332
+ @properties['links']
333
+ end
334
+
335
+ ##
336
+ # Fetch the SinkInstance
337
+ # @return [SinkInstance] Fetched SinkInstance
338
+ def fetch
339
+ context.fetch
340
+ end
341
+
342
+ ##
343
+ # Delete the SinkInstance
344
+ # @return [Boolean] true if delete succeeds, false otherwise
345
+ def delete
346
+ context.delete
347
+ end
348
+
349
+ ##
350
+ # Access the sink_test
351
+ # @return [sink_test] sink_test
352
+ def sink_test
353
+ context.sink_test
354
+ end
355
+
356
+ ##
357
+ # Access the sink_validate
358
+ # @return [sink_validate] sink_validate
359
+ def sink_validate
360
+ context.sink_validate
361
+ end
362
+
363
+ ##
364
+ # Provide a user friendly representation
365
+ def to_s
366
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
367
+ "<Twilio.Events.V1.SinkInstance #{values}>"
368
+ end
369
+
370
+ ##
371
+ # Provide a detailed, user friendly representation
372
+ def inspect
373
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
374
+ "<Twilio.Events.V1.SinkInstance #{values}>"
375
+ end
376
+ end
377
+ end
378
+ end
379
+ end
380
+ end