twilio-ruby 5.45.1 → 5.49.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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGES.md +108 -0
  4. data/LICENSE +1 -1
  5. data/README.md +16 -2
  6. data/lib/twilio-ruby/rest/api.rb +1 -1
  7. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  9. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +8 -8
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  11. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +17 -17
  12. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +1 -1
  13. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +4 -4
  14. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +11 -11
  15. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  16. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +5 -5
  17. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  18. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  19. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  20. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  21. data/lib/twilio-ruby/rest/bulkexports/v1.rb +14 -10
  22. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -4
  23. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -4
  24. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +5 -3
  25. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +5 -3
  26. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -3
  27. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  28. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  29. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  30. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  31. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  32. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  33. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  34. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  35. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  36. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  37. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  38. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  39. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  40. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  41. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  42. data/lib/twilio-ruby/rest/client.rb +8 -1
  43. data/lib/twilio-ruby/rest/conversations/v1.rb +25 -20
  44. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  45. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  46. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  47. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  48. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  49. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  50. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  51. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  52. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  53. data/lib/twilio-ruby/rest/events/v1/event_type.rb +4 -4
  54. data/lib/twilio-ruby/rest/events/v1/schema.rb +4 -4
  55. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +4 -4
  56. data/lib/twilio-ruby/rest/events/v1/sink.rb +8 -6
  57. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  58. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  59. data/lib/twilio-ruby/rest/events/v1/subscription.rb +7 -6
  60. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +3 -3
  61. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  62. data/lib/twilio-ruby/rest/flex_api/v1.rb +15 -12
  63. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +18 -4
  64. data/lib/twilio-ruby/rest/insights.rb +1 -1
  65. data/lib/twilio-ruby/rest/insights/v1.rb +11 -9
  66. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  67. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  68. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  69. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  70. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  71. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  72. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  73. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  74. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  75. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  76. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  77. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  78. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  79. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  80. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  81. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  82. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  83. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  84. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  85. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  86. data/lib/twilio-ruby/rest/messaging.rb +8 -0
  87. data/lib/twilio-ruby/rest/messaging/v1.rb +21 -4
  88. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  89. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  90. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  91. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  92. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  93. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  94. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  95. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  96. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  97. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  98. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  99. data/lib/twilio-ruby/rest/preview.rb +4 -2
  100. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +14 -10
  101. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  102. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  103. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  104. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  105. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  106. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  107. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  108. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  109. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  110. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  111. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  112. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  113. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  114. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  115. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  116. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  117. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  118. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  119. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  120. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  121. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  122. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  123. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  124. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  125. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  126. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  127. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  128. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +17 -7
  129. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  130. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  131. data/lib/twilio-ruby/rest/studio/v2/flow.rb +6 -14
  132. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +0 -8
  133. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  134. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  135. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  136. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +2 -10
  137. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  138. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  139. data/lib/twilio-ruby/rest/supersim/v1.rb +25 -20
  140. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  141. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +33 -12
  142. data/lib/twilio-ruby/rest/supersim/v1/network.rb +5 -5
  143. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +6 -6
  144. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +5 -5
  145. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +4 -4
  146. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  147. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  148. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  149. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +25 -52
  150. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  151. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +18 -40
  152. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +46 -76
  153. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  154. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +18 -40
  155. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +47 -79
  156. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -9
  157. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +14 -38
  158. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -7
  159. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  160. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +17 -17
  161. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +10 -10
  162. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  163. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +10 -10
  164. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  165. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  166. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  167. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  168. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +1 -1
  169. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  170. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  171. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  172. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  173. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  174. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  175. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  176. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  177. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  178. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  179. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  180. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  181. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  182. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  183. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  184. data/lib/twilio-ruby/rest/verify.rb +9 -0
  185. data/lib/twilio-ruby/rest/verify/v2.rb +26 -8
  186. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +7 -6
  187. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +64 -13
  188. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +1 -1
  189. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +10 -10
  190. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  191. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  192. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -15
  193. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -26
  194. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  195. data/lib/twilio-ruby/rest/video/v1/room.rb +10 -3
  196. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  197. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -1
  198. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  199. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  200. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  201. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  202. data/lib/twilio-ruby/twiml/voice_response.rb +38 -8
  203. data/lib/twilio-ruby/version.rb +1 -1
  204. data/spec/integration/api/v2010/account/conference_spec.rb +302 -44
  205. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +4 -16
  206. data/spec/integration/api/v2010/account/message_spec.rb +37 -0
  207. data/spec/integration/events/v1/sink_spec.rb +14 -0
  208. data/spec/integration/flex_api/v1/configuration_spec.rb +24 -0
  209. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  210. data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
  211. data/spec/integration/preview/sync/service/document_spec.rb +1 -3
  212. data/spec/integration/serverless/v1/service/build_spec.rb +12 -2
  213. data/spec/integration/supersim/v1/fleet_spec.rb +8 -0
  214. data/spec/integration/sync/v1/service/document_spec.rb +1 -3
  215. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +192 -0
  216. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +186 -0
  217. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +615 -0
  218. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +255 -0
  219. data/spec/integration/trusthub/v1/end_user_spec.rb +247 -0
  220. data/spec/integration/trusthub/v1/end_user_type_spec.rb +176 -0
  221. data/spec/integration/trusthub/v1/policies_spec.rb +252 -0
  222. data/spec/integration/trusthub/v1/supporting_document_spec.rb +235 -0
  223. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +159 -0
  224. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +192 -0
  225. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +186 -0
  226. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +615 -0
  227. data/spec/integration/trusthub/v1/trust_products_spec.rb +255 -0
  228. data/spec/integration/verify/v2/service/entity/factor_spec.rb +3 -3
  229. data/spec/integration/verify/v2/verification_attempt_spec.rb +146 -0
  230. data/spec/integration/video/v1/room_spec.rb +5 -0
  231. data/spec/twiml/voice_response_spec.rb +1 -1
  232. metadata +49 -2
@@ -0,0 +1,523 @@
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 Trusthub < Domain
12
+ class V1 < Version
13
+ class TrustProductsList < ListResource
14
+ ##
15
+ # Initialize the TrustProductsList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [TrustProductsList] TrustProductsList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/TrustProducts"
24
+ end
25
+
26
+ ##
27
+ # Create the TrustProductsInstance
28
+ # @param [String] friendly_name The string that you assigned to describe the
29
+ # resource.
30
+ # @param [String] email The email address that will receive updates when the
31
+ # Customer-Profile resource changes status.
32
+ # @param [String] policy_sid The unique string of a policy that is associated to
33
+ # the Customer-Profile resource.
34
+ # @param [String] status_callback The URL we call to inform your application of
35
+ # status changes.
36
+ # @return [TrustProductsInstance] Created TrustProductsInstance
37
+ def create(friendly_name: nil, email: nil, policy_sid: nil, status_callback: :unset)
38
+ data = Twilio::Values.of({
39
+ 'FriendlyName' => friendly_name,
40
+ 'Email' => email,
41
+ 'PolicySid' => policy_sid,
42
+ 'StatusCallback' => status_callback,
43
+ })
44
+
45
+ payload = @version.create('POST', @uri, data: data)
46
+
47
+ TrustProductsInstance.new(@version, payload, )
48
+ end
49
+
50
+ ##
51
+ # Lists TrustProductsInstance records from the API as a list.
52
+ # Unlike stream(), this operation is eager and will load `limit` records into
53
+ # memory before returning.
54
+ # @param [trust_products.Status] status The verification status of the
55
+ # Customer-Profile resource.
56
+ # @param [String] friendly_name The string that you assigned to describe the
57
+ # resource.
58
+ # @param [String] policy_sid The unique string of a policy that is associated to
59
+ # the Customer-Profile resource.
60
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
61
+ # guarantees to never return more than limit. Default is no limit
62
+ # @param [Integer] page_size Number of records to fetch per request, when
63
+ # not set will use the default value of 50 records. If no page_size is defined
64
+ # but a limit is defined, stream() will attempt to read the limit with the most
65
+ # efficient page size, i.e. min(limit, 1000)
66
+ # @return [Array] Array of up to limit results
67
+ def list(status: :unset, friendly_name: :unset, policy_sid: :unset, limit: nil, page_size: nil)
68
+ self.stream(
69
+ status: status,
70
+ friendly_name: friendly_name,
71
+ policy_sid: policy_sid,
72
+ limit: limit,
73
+ page_size: page_size
74
+ ).entries
75
+ end
76
+
77
+ ##
78
+ # Streams TrustProductsInstance records from the API as an Enumerable.
79
+ # This operation lazily loads records as efficiently as possible until the limit
80
+ # is reached.
81
+ # @param [trust_products.Status] status The verification status of the
82
+ # Customer-Profile resource.
83
+ # @param [String] friendly_name The string that you assigned to describe the
84
+ # resource.
85
+ # @param [String] policy_sid The unique string of a policy that is associated to
86
+ # the Customer-Profile resource.
87
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
88
+ # guarantees to never return more than limit. Default is no limit.
89
+ # @param [Integer] page_size Number of records to fetch per request, when
90
+ # not set will use the default value of 50 records. If no page_size is defined
91
+ # but a limit is defined, stream() will attempt to read the limit with the most
92
+ # efficient page size, i.e. min(limit, 1000)
93
+ # @return [Enumerable] Enumerable that will yield up to limit results
94
+ def stream(status: :unset, friendly_name: :unset, policy_sid: :unset, limit: nil, page_size: nil)
95
+ limits = @version.read_limits(limit, page_size)
96
+
97
+ page = self.page(
98
+ status: status,
99
+ friendly_name: friendly_name,
100
+ policy_sid: policy_sid,
101
+ page_size: limits[:page_size],
102
+ )
103
+
104
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
105
+ end
106
+
107
+ ##
108
+ # When passed a block, yields TrustProductsInstance records from the API.
109
+ # This operation lazily loads records as efficiently as possible until the limit
110
+ # is reached.
111
+ def each
112
+ limits = @version.read_limits
113
+
114
+ page = self.page(page_size: limits[:page_size], )
115
+
116
+ @version.stream(page,
117
+ limit: limits[:limit],
118
+ page_limit: limits[:page_limit]).each {|x| yield x}
119
+ end
120
+
121
+ ##
122
+ # Retrieve a single page of TrustProductsInstance records from the API.
123
+ # Request is executed immediately.
124
+ # @param [trust_products.Status] status The verification status of the
125
+ # Customer-Profile resource.
126
+ # @param [String] friendly_name The string that you assigned to describe the
127
+ # resource.
128
+ # @param [String] policy_sid The unique string of a policy that is associated to
129
+ # the Customer-Profile resource.
130
+ # @param [String] page_token PageToken provided by the API
131
+ # @param [Integer] page_number Page Number, this value is simply for client state
132
+ # @param [Integer] page_size Number of records to return, defaults to 50
133
+ # @return [Page] Page of TrustProductsInstance
134
+ def page(status: :unset, friendly_name: :unset, policy_sid: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
135
+ params = Twilio::Values.of({
136
+ 'Status' => status,
137
+ 'FriendlyName' => friendly_name,
138
+ 'PolicySid' => policy_sid,
139
+ 'PageToken' => page_token,
140
+ 'Page' => page_number,
141
+ 'PageSize' => page_size,
142
+ })
143
+
144
+ response = @version.page('GET', @uri, params: params)
145
+
146
+ TrustProductsPage.new(@version, response, @solution)
147
+ end
148
+
149
+ ##
150
+ # Retrieve a single page of TrustProductsInstance records from the API.
151
+ # Request is executed immediately.
152
+ # @param [String] target_url API-generated URL for the requested results page
153
+ # @return [Page] Page of TrustProductsInstance
154
+ def get_page(target_url)
155
+ response = @version.domain.request(
156
+ 'GET',
157
+ target_url
158
+ )
159
+ TrustProductsPage.new(@version, response, @solution)
160
+ end
161
+
162
+ ##
163
+ # Provide a user friendly representation
164
+ def to_s
165
+ '#<Twilio.Trusthub.V1.TrustProductsList>'
166
+ end
167
+ end
168
+
169
+ class TrustProductsPage < Page
170
+ ##
171
+ # Initialize the TrustProductsPage
172
+ # @param [Version] version Version that contains the resource
173
+ # @param [Response] response Response from the API
174
+ # @param [Hash] solution Path solution for the resource
175
+ # @return [TrustProductsPage] TrustProductsPage
176
+ def initialize(version, response, solution)
177
+ super(version, response)
178
+
179
+ # Path Solution
180
+ @solution = solution
181
+ end
182
+
183
+ ##
184
+ # Build an instance of TrustProductsInstance
185
+ # @param [Hash] payload Payload response from the API
186
+ # @return [TrustProductsInstance] TrustProductsInstance
187
+ def get_instance(payload)
188
+ TrustProductsInstance.new(@version, payload, )
189
+ end
190
+
191
+ ##
192
+ # Provide a user friendly representation
193
+ def to_s
194
+ '<Twilio.Trusthub.V1.TrustProductsPage>'
195
+ end
196
+ end
197
+
198
+ class TrustProductsContext < InstanceContext
199
+ ##
200
+ # Initialize the TrustProductsContext
201
+ # @param [Version] version Version that contains the resource
202
+ # @param [String] sid The unique string that we created to identify the
203
+ # Customer-Profile resource.
204
+ # @return [TrustProductsContext] TrustProductsContext
205
+ def initialize(version, sid)
206
+ super(version)
207
+
208
+ # Path Solution
209
+ @solution = {sid: sid, }
210
+ @uri = "/TrustProducts/#{@solution[:sid]}"
211
+
212
+ # Dependents
213
+ @trust_products_entity_assignments = nil
214
+ @trust_products_evaluations = nil
215
+ @trust_products_channel_endpoint_assignment = nil
216
+ end
217
+
218
+ ##
219
+ # Fetch the TrustProductsInstance
220
+ # @return [TrustProductsInstance] Fetched TrustProductsInstance
221
+ def fetch
222
+ payload = @version.fetch('GET', @uri)
223
+
224
+ TrustProductsInstance.new(@version, payload, sid: @solution[:sid], )
225
+ end
226
+
227
+ ##
228
+ # Update the TrustProductsInstance
229
+ # @param [trust_products.Status] status The verification status of the
230
+ # Customer-Profile resource.
231
+ # @param [String] status_callback The URL we call to inform your application of
232
+ # status changes.
233
+ # @param [String] friendly_name The string that you assigned to describe the
234
+ # resource.
235
+ # @param [String] email The email address that will receive updates when the
236
+ # Customer-Profile resource changes status.
237
+ # @return [TrustProductsInstance] Updated TrustProductsInstance
238
+ def update(status: :unset, status_callback: :unset, friendly_name: :unset, email: :unset)
239
+ data = Twilio::Values.of({
240
+ 'Status' => status,
241
+ 'StatusCallback' => status_callback,
242
+ 'FriendlyName' => friendly_name,
243
+ 'Email' => email,
244
+ })
245
+
246
+ payload = @version.update('POST', @uri, data: data)
247
+
248
+ TrustProductsInstance.new(@version, payload, sid: @solution[:sid], )
249
+ end
250
+
251
+ ##
252
+ # Delete the TrustProductsInstance
253
+ # @return [Boolean] true if delete succeeds, false otherwise
254
+ def delete
255
+ @version.delete('DELETE', @uri)
256
+ end
257
+
258
+ ##
259
+ # Access the trust_products_entity_assignments
260
+ # @return [TrustProductsEntityAssignmentsList]
261
+ # @return [TrustProductsEntityAssignmentsContext] if sid was passed.
262
+ def trust_products_entity_assignments(sid=:unset)
263
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
264
+
265
+ if sid != :unset
266
+ return TrustProductsEntityAssignmentsContext.new(@version, @solution[:sid], sid, )
267
+ end
268
+
269
+ unless @trust_products_entity_assignments
270
+ @trust_products_entity_assignments = TrustProductsEntityAssignmentsList.new(
271
+ @version,
272
+ trust_product_sid: @solution[:sid],
273
+ )
274
+ end
275
+
276
+ @trust_products_entity_assignments
277
+ end
278
+
279
+ ##
280
+ # Access the trust_products_evaluations
281
+ # @return [TrustProductsEvaluationsList]
282
+ # @return [TrustProductsEvaluationsContext] if sid was passed.
283
+ def trust_products_evaluations(sid=:unset)
284
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
285
+
286
+ if sid != :unset
287
+ return TrustProductsEvaluationsContext.new(@version, @solution[:sid], sid, )
288
+ end
289
+
290
+ unless @trust_products_evaluations
291
+ @trust_products_evaluations = TrustProductsEvaluationsList.new(
292
+ @version,
293
+ trust_product_sid: @solution[:sid],
294
+ )
295
+ end
296
+
297
+ @trust_products_evaluations
298
+ end
299
+
300
+ ##
301
+ # Access the trust_products_channel_endpoint_assignment
302
+ # @return [TrustProductsChannelEndpointAssignmentList]
303
+ # @return [TrustProductsChannelEndpointAssignmentContext] if sid was passed.
304
+ def trust_products_channel_endpoint_assignment(sid=:unset)
305
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
306
+
307
+ if sid != :unset
308
+ return TrustProductsChannelEndpointAssignmentContext.new(@version, @solution[:sid], sid, )
309
+ end
310
+
311
+ unless @trust_products_channel_endpoint_assignment
312
+ @trust_products_channel_endpoint_assignment = TrustProductsChannelEndpointAssignmentList.new(
313
+ @version,
314
+ trust_product_sid: @solution[:sid],
315
+ )
316
+ end
317
+
318
+ @trust_products_channel_endpoint_assignment
319
+ end
320
+
321
+ ##
322
+ # Provide a user friendly representation
323
+ def to_s
324
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
325
+ "#<Twilio.Trusthub.V1.TrustProductsContext #{context}>"
326
+ end
327
+
328
+ ##
329
+ # Provide a detailed, user friendly representation
330
+ def inspect
331
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
332
+ "#<Twilio.Trusthub.V1.TrustProductsContext #{context}>"
333
+ end
334
+ end
335
+
336
+ class TrustProductsInstance < InstanceResource
337
+ ##
338
+ # Initialize the TrustProductsInstance
339
+ # @param [Version] version Version that contains the resource
340
+ # @param [Hash] payload payload that contains response from Twilio
341
+ # @param [String] sid The unique string that we created to identify the
342
+ # Customer-Profile resource.
343
+ # @return [TrustProductsInstance] TrustProductsInstance
344
+ def initialize(version, payload, sid: nil)
345
+ super(version)
346
+
347
+ # Marshaled Properties
348
+ @properties = {
349
+ 'sid' => payload['sid'],
350
+ 'account_sid' => payload['account_sid'],
351
+ 'policy_sid' => payload['policy_sid'],
352
+ 'friendly_name' => payload['friendly_name'],
353
+ 'status' => payload['status'],
354
+ 'valid_until' => Twilio.deserialize_iso8601_datetime(payload['valid_until']),
355
+ 'email' => payload['email'],
356
+ 'status_callback' => payload['status_callback'],
357
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
358
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
359
+ 'url' => payload['url'],
360
+ 'links' => payload['links'],
361
+ }
362
+
363
+ # Context
364
+ @instance_context = nil
365
+ @params = {'sid' => sid || @properties['sid'], }
366
+ end
367
+
368
+ ##
369
+ # Generate an instance context for the instance, the context is capable of
370
+ # performing various actions. All instance actions are proxied to the context
371
+ # @return [TrustProductsContext] TrustProductsContext for this TrustProductsInstance
372
+ def context
373
+ unless @instance_context
374
+ @instance_context = TrustProductsContext.new(@version, @params['sid'], )
375
+ end
376
+ @instance_context
377
+ end
378
+
379
+ ##
380
+ # @return [String] The unique string that identifies the resource.
381
+ def sid
382
+ @properties['sid']
383
+ end
384
+
385
+ ##
386
+ # @return [String] The SID of the Account that created the resource
387
+ def account_sid
388
+ @properties['account_sid']
389
+ end
390
+
391
+ ##
392
+ # @return [String] The unique string of a policy.
393
+ def policy_sid
394
+ @properties['policy_sid']
395
+ end
396
+
397
+ ##
398
+ # @return [String] The string that you assigned to describe the resource
399
+ def friendly_name
400
+ @properties['friendly_name']
401
+ end
402
+
403
+ ##
404
+ # @return [trust_products.Status] The verification status of the Customer-Profile resource
405
+ def status
406
+ @properties['status']
407
+ end
408
+
409
+ ##
410
+ # @return [Time] The ISO 8601 date and time in GMT when the resource will be valid until.
411
+ def valid_until
412
+ @properties['valid_until']
413
+ end
414
+
415
+ ##
416
+ # @return [String] The email address
417
+ def email
418
+ @properties['email']
419
+ end
420
+
421
+ ##
422
+ # @return [String] The URL we call to inform your application of status changes.
423
+ def status_callback
424
+ @properties['status_callback']
425
+ end
426
+
427
+ ##
428
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
429
+ def date_created
430
+ @properties['date_created']
431
+ end
432
+
433
+ ##
434
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
435
+ def date_updated
436
+ @properties['date_updated']
437
+ end
438
+
439
+ ##
440
+ # @return [String] The absolute URL of the Customer-Profile resource
441
+ def url
442
+ @properties['url']
443
+ end
444
+
445
+ ##
446
+ # @return [String] The URLs of the Assigned Items of the Customer-Profile resource
447
+ def links
448
+ @properties['links']
449
+ end
450
+
451
+ ##
452
+ # Fetch the TrustProductsInstance
453
+ # @return [TrustProductsInstance] Fetched TrustProductsInstance
454
+ def fetch
455
+ context.fetch
456
+ end
457
+
458
+ ##
459
+ # Update the TrustProductsInstance
460
+ # @param [trust_products.Status] status The verification status of the
461
+ # Customer-Profile resource.
462
+ # @param [String] status_callback The URL we call to inform your application of
463
+ # status changes.
464
+ # @param [String] friendly_name The string that you assigned to describe the
465
+ # resource.
466
+ # @param [String] email The email address that will receive updates when the
467
+ # Customer-Profile resource changes status.
468
+ # @return [TrustProductsInstance] Updated TrustProductsInstance
469
+ def update(status: :unset, status_callback: :unset, friendly_name: :unset, email: :unset)
470
+ context.update(
471
+ status: status,
472
+ status_callback: status_callback,
473
+ friendly_name: friendly_name,
474
+ email: email,
475
+ )
476
+ end
477
+
478
+ ##
479
+ # Delete the TrustProductsInstance
480
+ # @return [Boolean] true if delete succeeds, false otherwise
481
+ def delete
482
+ context.delete
483
+ end
484
+
485
+ ##
486
+ # Access the trust_products_entity_assignments
487
+ # @return [trust_products_entity_assignments] trust_products_entity_assignments
488
+ def trust_products_entity_assignments
489
+ context.trust_products_entity_assignments
490
+ end
491
+
492
+ ##
493
+ # Access the trust_products_evaluations
494
+ # @return [trust_products_evaluations] trust_products_evaluations
495
+ def trust_products_evaluations
496
+ context.trust_products_evaluations
497
+ end
498
+
499
+ ##
500
+ # Access the trust_products_channel_endpoint_assignment
501
+ # @return [trust_products_channel_endpoint_assignment] trust_products_channel_endpoint_assignment
502
+ def trust_products_channel_endpoint_assignment
503
+ context.trust_products_channel_endpoint_assignment
504
+ end
505
+
506
+ ##
507
+ # Provide a user friendly representation
508
+ def to_s
509
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
510
+ "<Twilio.Trusthub.V1.TrustProductsInstance #{values}>"
511
+ end
512
+
513
+ ##
514
+ # Provide a detailed, user friendly representation
515
+ def inspect
516
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
517
+ "<Twilio.Trusthub.V1.TrustProductsInstance #{values}>"
518
+ end
519
+ end
520
+ end
521
+ end
522
+ end
523
+ end