twilio-ruby 5.46.0 → 5.50.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 (146) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +112 -0
  3. data/README.md +20 -6
  4. data/lib/twilio-ruby/rest/api.rb +1 -1
  5. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  6. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +10 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  8. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +4 -4
  9. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  10. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +14 -0
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +14 -0
  13. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  14. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  15. data/lib/twilio-ruby/rest/client.rb +8 -1
  16. data/lib/twilio-ruby/rest/conversations/v1.rb +25 -20
  17. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  18. data/lib/twilio-ruby/rest/events/v1/event_type.rb +4 -4
  19. data/lib/twilio-ruby/rest/events/v1/schema.rb +4 -4
  20. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +4 -4
  21. data/lib/twilio-ruby/rest/events/v1/sink.rb +6 -5
  22. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  23. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  24. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  25. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +133 -6
  26. data/lib/twilio-ruby/rest/fax/v1.rb +5 -4
  27. data/lib/twilio-ruby/rest/flex_api/v1.rb +15 -12
  28. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  29. data/lib/twilio-ruby/rest/insights.rb +1 -1
  30. data/lib/twilio-ruby/rest/insights/v1.rb +11 -9
  31. data/lib/twilio-ruby/rest/insights/v1/room.rb +55 -43
  32. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +22 -22
  33. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  34. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  35. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  36. data/lib/twilio-ruby/rest/messaging.rb +8 -0
  37. data/lib/twilio-ruby/rest/messaging/v1.rb +21 -4
  38. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +328 -0
  39. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  40. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  41. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +10 -8
  42. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  43. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  44. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  45. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  46. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  47. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +5 -4
  48. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  49. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  50. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  51. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -1
  52. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  53. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +11 -1
  54. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  55. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  56. data/lib/twilio-ruby/rest/studio/v2/flow.rb +4 -12
  57. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +0 -8
  58. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +0 -8
  59. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +0 -8
  60. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +0 -8
  61. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -9
  62. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +10 -16
  63. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +6 -11
  64. data/lib/twilio-ruby/rest/supersim.rb +9 -0
  65. data/lib/twilio-ruby/rest/supersim/v1.rb +41 -20
  66. data/lib/twilio-ruby/rest/supersim/v1/command.rb +4 -4
  67. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +86 -13
  68. data/lib/twilio-ruby/rest/supersim/v1/network.rb +4 -4
  69. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +4 -4
  70. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +4 -4
  71. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +4 -4
  72. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  73. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +3 -3
  74. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  75. data/lib/twilio-ruby/rest/sync/v1/service.rb +0 -8
  76. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +13 -32
  77. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  78. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -23
  79. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +38 -45
  80. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  81. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -23
  82. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +38 -47
  83. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -8
  84. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -23
  85. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -6
  86. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  87. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -8
  88. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  89. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  90. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  91. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  92. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  93. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  94. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  95. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  96. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  97. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  98. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  99. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  100. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  101. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  102. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  103. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  104. data/lib/twilio-ruby/rest/verify.rb +9 -0
  105. data/lib/twilio-ruby/rest/verify/v2.rb +26 -8
  106. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +4 -3
  107. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +64 -13
  108. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  109. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  110. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -1
  111. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  112. data/lib/twilio-ruby/rest/voice/v1.rb +20 -16
  113. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  114. data/lib/twilio-ruby/twiml/voice_response.rb +38 -8
  115. data/lib/twilio-ruby/version.rb +1 -1
  116. data/spec/integration/api/v2010/account/conference_spec.rb +302 -44
  117. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +4 -16
  118. data/spec/integration/api/v2010/account/message_spec.rb +37 -0
  119. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +6 -2
  120. data/spec/integration/bulkexports/v1/export/job_spec.rb +3 -1
  121. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +134 -0
  122. data/spec/integration/flex_api/v1/configuration_spec.rb +24 -0
  123. data/spec/integration/messaging/v1/brand_registration_spec.rb +143 -0
  124. data/spec/integration/preview/sync/service/document_spec.rb +1 -3
  125. data/spec/integration/serverless/v1/service/build_spec.rb +12 -2
  126. data/spec/integration/supersim/v1/fleet_spec.rb +20 -0
  127. data/spec/integration/supersim/v1/sms_command_spec.rb +184 -0
  128. data/spec/integration/sync/v1/service/document_spec.rb +1 -3
  129. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +3 -1
  130. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment_spec.rb +192 -0
  131. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_entity_assignments_spec.rb +186 -0
  132. data/spec/integration/trusthub/v1/customer_profiles/customer_profiles_evaluations_spec.rb +615 -0
  133. data/spec/integration/trusthub/v1/customer_profiles_spec.rb +255 -0
  134. data/spec/integration/trusthub/v1/end_user_spec.rb +247 -0
  135. data/spec/integration/trusthub/v1/end_user_type_spec.rb +176 -0
  136. data/spec/integration/trusthub/v1/policies_spec.rb +252 -0
  137. data/spec/integration/trusthub/v1/supporting_document_spec.rb +235 -0
  138. data/spec/integration/trusthub/v1/supporting_document_type_spec.rb +159 -0
  139. data/spec/integration/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment_spec.rb +192 -0
  140. data/spec/integration/trusthub/v1/trust_products/trust_products_entity_assignments_spec.rb +186 -0
  141. data/spec/integration/trusthub/v1/trust_products/trust_products_evaluations_spec.rb +615 -0
  142. data/spec/integration/trusthub/v1/trust_products_spec.rb +255 -0
  143. data/spec/integration/verify/v2/service/entity/factor_spec.rb +3 -3
  144. data/spec/integration/verify/v2/verification_attempt_spec.rb +146 -0
  145. data/spec/integration/video/v1/room_spec.rb +39 -0
  146. metadata +52 -2
@@ -0,0 +1,328 @@
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 TrustProductsContext < InstanceContext
14
+ class TrustProductsEvaluationsList < ListResource
15
+ ##
16
+ # Initialize the TrustProductsEvaluationsList
17
+ # @param [Version] version Version that contains the resource
18
+ # @param [String] trust_product_sid The unique string that we created to identify
19
+ # the trust_product resource.
20
+ # @return [TrustProductsEvaluationsList] TrustProductsEvaluationsList
21
+ def initialize(version, trust_product_sid: nil)
22
+ super(version)
23
+
24
+ # Path Solution
25
+ @solution = {trust_product_sid: trust_product_sid}
26
+ @uri = "/TrustProducts/#{@solution[:trust_product_sid]}/Evaluations"
27
+ end
28
+
29
+ ##
30
+ # Create the TrustProductsEvaluationsInstance
31
+ # @param [String] policy_sid The unique string of a policy that is associated to
32
+ # the customer_profile resource.
33
+ # @return [TrustProductsEvaluationsInstance] Created TrustProductsEvaluationsInstance
34
+ def create(policy_sid: nil)
35
+ data = Twilio::Values.of({'PolicySid' => policy_sid, })
36
+
37
+ payload = @version.create('POST', @uri, data: data)
38
+
39
+ TrustProductsEvaluationsInstance.new(
40
+ @version,
41
+ payload,
42
+ trust_product_sid: @solution[:trust_product_sid],
43
+ )
44
+ end
45
+
46
+ ##
47
+ # Lists TrustProductsEvaluationsInstance records from the API as a list.
48
+ # Unlike stream(), this operation is eager and will load `limit` records into
49
+ # memory before returning.
50
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
51
+ # guarantees to never return more than limit. Default is no limit
52
+ # @param [Integer] page_size Number of records to fetch per request, when
53
+ # not set will use the default value of 50 records. If no page_size is defined
54
+ # but a limit is defined, stream() will attempt to read the limit with the most
55
+ # efficient page size, i.e. min(limit, 1000)
56
+ # @return [Array] Array of up to limit results
57
+ def list(limit: nil, page_size: nil)
58
+ self.stream(limit: limit, page_size: page_size).entries
59
+ end
60
+
61
+ ##
62
+ # Streams TrustProductsEvaluationsInstance records from the API as an Enumerable.
63
+ # This operation lazily loads records as efficiently as possible until the limit
64
+ # is reached.
65
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
66
+ # guarantees to never return more than limit. Default is no limit.
67
+ # @param [Integer] page_size Number of records to fetch per request, when
68
+ # not set will use the default value of 50 records. If no page_size is defined
69
+ # but a limit is defined, stream() will attempt to read the limit with the most
70
+ # efficient page size, i.e. min(limit, 1000)
71
+ # @return [Enumerable] Enumerable that will yield up to limit results
72
+ def stream(limit: nil, page_size: nil)
73
+ limits = @version.read_limits(limit, page_size)
74
+
75
+ page = self.page(page_size: limits[:page_size], )
76
+
77
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
78
+ end
79
+
80
+ ##
81
+ # When passed a block, yields TrustProductsEvaluationsInstance records from the API.
82
+ # This operation lazily loads records as efficiently as possible until the limit
83
+ # is reached.
84
+ def each
85
+ limits = @version.read_limits
86
+
87
+ page = self.page(page_size: limits[:page_size], )
88
+
89
+ @version.stream(page,
90
+ limit: limits[:limit],
91
+ page_limit: limits[:page_limit]).each {|x| yield x}
92
+ end
93
+
94
+ ##
95
+ # Retrieve a single page of TrustProductsEvaluationsInstance records from the API.
96
+ # Request is executed immediately.
97
+ # @param [String] page_token PageToken provided by the API
98
+ # @param [Integer] page_number Page Number, this value is simply for client state
99
+ # @param [Integer] page_size Number of records to return, defaults to 50
100
+ # @return [Page] Page of TrustProductsEvaluationsInstance
101
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
102
+ params = Twilio::Values.of({
103
+ 'PageToken' => page_token,
104
+ 'Page' => page_number,
105
+ 'PageSize' => page_size,
106
+ })
107
+
108
+ response = @version.page('GET', @uri, params: params)
109
+
110
+ TrustProductsEvaluationsPage.new(@version, response, @solution)
111
+ end
112
+
113
+ ##
114
+ # Retrieve a single page of TrustProductsEvaluationsInstance records from the API.
115
+ # Request is executed immediately.
116
+ # @param [String] target_url API-generated URL for the requested results page
117
+ # @return [Page] Page of TrustProductsEvaluationsInstance
118
+ def get_page(target_url)
119
+ response = @version.domain.request(
120
+ 'GET',
121
+ target_url
122
+ )
123
+ TrustProductsEvaluationsPage.new(@version, response, @solution)
124
+ end
125
+
126
+ ##
127
+ # Provide a user friendly representation
128
+ def to_s
129
+ '#<Twilio.Trusthub.V1.TrustProductsEvaluationsList>'
130
+ end
131
+ end
132
+
133
+ class TrustProductsEvaluationsPage < Page
134
+ ##
135
+ # Initialize the TrustProductsEvaluationsPage
136
+ # @param [Version] version Version that contains the resource
137
+ # @param [Response] response Response from the API
138
+ # @param [Hash] solution Path solution for the resource
139
+ # @return [TrustProductsEvaluationsPage] TrustProductsEvaluationsPage
140
+ def initialize(version, response, solution)
141
+ super(version, response)
142
+
143
+ # Path Solution
144
+ @solution = solution
145
+ end
146
+
147
+ ##
148
+ # Build an instance of TrustProductsEvaluationsInstance
149
+ # @param [Hash] payload Payload response from the API
150
+ # @return [TrustProductsEvaluationsInstance] TrustProductsEvaluationsInstance
151
+ def get_instance(payload)
152
+ TrustProductsEvaluationsInstance.new(
153
+ @version,
154
+ payload,
155
+ trust_product_sid: @solution[:trust_product_sid],
156
+ )
157
+ end
158
+
159
+ ##
160
+ # Provide a user friendly representation
161
+ def to_s
162
+ '<Twilio.Trusthub.V1.TrustProductsEvaluationsPage>'
163
+ end
164
+ end
165
+
166
+ class TrustProductsEvaluationsContext < InstanceContext
167
+ ##
168
+ # Initialize the TrustProductsEvaluationsContext
169
+ # @param [Version] version Version that contains the resource
170
+ # @param [String] trust_product_sid The unique string that we created to identify
171
+ # the trust_product resource.
172
+ # @param [String] sid The unique string that identifies the Evaluation resource.
173
+ # @return [TrustProductsEvaluationsContext] TrustProductsEvaluationsContext
174
+ def initialize(version, trust_product_sid, sid)
175
+ super(version)
176
+
177
+ # Path Solution
178
+ @solution = {trust_product_sid: trust_product_sid, sid: sid, }
179
+ @uri = "/TrustProducts/#{@solution[:trust_product_sid]}/Evaluations/#{@solution[:sid]}"
180
+ end
181
+
182
+ ##
183
+ # Fetch the TrustProductsEvaluationsInstance
184
+ # @return [TrustProductsEvaluationsInstance] Fetched TrustProductsEvaluationsInstance
185
+ def fetch
186
+ payload = @version.fetch('GET', @uri)
187
+
188
+ TrustProductsEvaluationsInstance.new(
189
+ @version,
190
+ payload,
191
+ trust_product_sid: @solution[:trust_product_sid],
192
+ sid: @solution[:sid],
193
+ )
194
+ end
195
+
196
+ ##
197
+ # Provide a user friendly representation
198
+ def to_s
199
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
200
+ "#<Twilio.Trusthub.V1.TrustProductsEvaluationsContext #{context}>"
201
+ end
202
+
203
+ ##
204
+ # Provide a detailed, user friendly representation
205
+ def inspect
206
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
207
+ "#<Twilio.Trusthub.V1.TrustProductsEvaluationsContext #{context}>"
208
+ end
209
+ end
210
+
211
+ class TrustProductsEvaluationsInstance < InstanceResource
212
+ ##
213
+ # Initialize the TrustProductsEvaluationsInstance
214
+ # @param [Version] version Version that contains the resource
215
+ # @param [Hash] payload payload that contains response from Twilio
216
+ # @param [String] trust_product_sid The unique string that we created to identify
217
+ # the trust_product resource.
218
+ # @param [String] sid The unique string that identifies the Evaluation resource.
219
+ # @return [TrustProductsEvaluationsInstance] TrustProductsEvaluationsInstance
220
+ def initialize(version, payload, trust_product_sid: nil, sid: nil)
221
+ super(version)
222
+
223
+ # Marshaled Properties
224
+ @properties = {
225
+ 'sid' => payload['sid'],
226
+ 'account_sid' => payload['account_sid'],
227
+ 'policy_sid' => payload['policy_sid'],
228
+ 'trust_product_sid' => payload['trust_product_sid'],
229
+ 'status' => payload['status'],
230
+ 'results' => payload['results'],
231
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
232
+ 'url' => payload['url'],
233
+ }
234
+
235
+ # Context
236
+ @instance_context = nil
237
+ @params = {'trust_product_sid' => trust_product_sid, 'sid' => sid || @properties['sid'], }
238
+ end
239
+
240
+ ##
241
+ # Generate an instance context for the instance, the context is capable of
242
+ # performing various actions. All instance actions are proxied to the context
243
+ # @return [TrustProductsEvaluationsContext] TrustProductsEvaluationsContext for this TrustProductsEvaluationsInstance
244
+ def context
245
+ unless @instance_context
246
+ @instance_context = TrustProductsEvaluationsContext.new(
247
+ @version,
248
+ @params['trust_product_sid'],
249
+ @params['sid'],
250
+ )
251
+ end
252
+ @instance_context
253
+ end
254
+
255
+ ##
256
+ # @return [String] The unique string that identifies the Evaluation resource
257
+ def sid
258
+ @properties['sid']
259
+ end
260
+
261
+ ##
262
+ # @return [String] The SID of the Account that created the resource
263
+ def account_sid
264
+ @properties['account_sid']
265
+ end
266
+
267
+ ##
268
+ # @return [String] The unique string of a policy
269
+ def policy_sid
270
+ @properties['policy_sid']
271
+ end
272
+
273
+ ##
274
+ # @return [String] The unique string that identifies the resource
275
+ def trust_product_sid
276
+ @properties['trust_product_sid']
277
+ end
278
+
279
+ ##
280
+ # @return [trust_products_evaluations.Status] The compliance status of the Evaluation resource
281
+ def status
282
+ @properties['status']
283
+ end
284
+
285
+ ##
286
+ # @return [Array[Hash]] The results of the Evaluation resource
287
+ def results
288
+ @properties['results']
289
+ end
290
+
291
+ ##
292
+ # @return [Time] The date_created
293
+ def date_created
294
+ @properties['date_created']
295
+ end
296
+
297
+ ##
298
+ # @return [String] The url
299
+ def url
300
+ @properties['url']
301
+ end
302
+
303
+ ##
304
+ # Fetch the TrustProductsEvaluationsInstance
305
+ # @return [TrustProductsEvaluationsInstance] Fetched TrustProductsEvaluationsInstance
306
+ def fetch
307
+ context.fetch
308
+ end
309
+
310
+ ##
311
+ # Provide a user friendly representation
312
+ def to_s
313
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
314
+ "<Twilio.Trusthub.V1.TrustProductsEvaluationsInstance #{values}>"
315
+ end
316
+
317
+ ##
318
+ # Provide a detailed, user friendly representation
319
+ def inspect
320
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
321
+ "<Twilio.Trusthub.V1.TrustProductsEvaluationsInstance #{values}>"
322
+ end
323
+ end
324
+ end
325
+ end
326
+ end
327
+ end
328
+ end
@@ -46,6 +46,15 @@ module Twilio
46
46
  self.v2.services(sid)
47
47
  end
48
48
 
49
+ ##
50
+ # @param [String] sid A 34 character string that uniquely identifies this
51
+ # Verification Attempt.
52
+ # @return [Twilio::REST::Verify::V2::VerificationAttemptInstance] if sid was passed.
53
+ # @return [Twilio::REST::Verify::V2::VerificationAttemptList]
54
+ def verification_attempts(sid=:unset)
55
+ self.v2.verification_attempts(sid)
56
+ end
57
+
49
58
  ##
50
59
  # Provide a user friendly representation
51
60
  def to_s
@@ -17,6 +17,7 @@ module Twilio
17
17
  @version = 'v2'
18
18
  @forms = nil
19
19
  @services = nil
20
+ @verification_attempts = nil
20
21
  end
21
22
 
22
23
  ##
@@ -26,11 +27,12 @@ module Twilio
26
27
  # @return [Twilio::REST::Verify::V2::FormList]
27
28
  def forms(form_type=:unset)
28
29
  if form_type.nil?
29
- raise ArgumentError, 'form_type cannot be nil'
30
- elsif form_type == :unset
31
- @forms ||= FormList.new self
30
+ raise ArgumentError, 'form_type cannot be nil'
31
+ end
32
+ if form_type == :unset
33
+ @forms ||= FormList.new self
32
34
  else
33
- FormContext.new(self, form_type)
35
+ FormContext.new(self, form_type)
34
36
  end
35
37
  end
36
38
 
@@ -41,11 +43,27 @@ module Twilio
41
43
  # @return [Twilio::REST::Verify::V2::ServiceList]
42
44
  def services(sid=:unset)
43
45
  if sid.nil?
44
- raise ArgumentError, 'sid cannot be nil'
45
- elsif sid == :unset
46
- @services ||= ServiceList.new self
46
+ raise ArgumentError, 'sid cannot be nil'
47
+ end
48
+ if sid == :unset
49
+ @services ||= ServiceList.new self
50
+ else
51
+ ServiceContext.new(self, sid)
52
+ end
53
+ end
54
+
55
+ ##
56
+ # @param [String] sid The unique SID identifier of a Verification Attempt
57
+ # @return [Twilio::REST::Verify::V2::VerificationAttemptContext] if sid was passed.
58
+ # @return [Twilio::REST::Verify::V2::VerificationAttemptList]
59
+ def verification_attempts(sid=:unset)
60
+ if sid.nil?
61
+ raise ArgumentError, 'sid cannot be nil'
62
+ end
63
+ if sid == :unset
64
+ @verification_attempts ||= VerificationAttemptList.new self
47
65
  else
48
- ServiceContext.new(self, sid)
66
+ VerificationAttemptContext.new(self, sid)
49
67
  end
50
68
  end
51
69
 
@@ -20,7 +20,7 @@ module Twilio
20
20
  # @param [Version] version Version that contains the resource
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
22
  # @param [String] identity Customer unique identity for the Entity owner of the
23
- # Challenge
23
+ # Challenge. This value must be between 8 and 64 characters long.
24
24
  # @return [ChallengeList] ChallengeList
25
25
  def initialize(version, service_sid: nil, identity: nil)
26
26
  super(version)
@@ -208,7 +208,8 @@ module Twilio
208
208
  # @param [String] service_sid The unique SID identifier of the Service.
209
209
  # @param [String] identity The unique external identifier for the Entity of the
210
210
  # Service. This identifier should be immutable, not PII, and generated by your
211
- # external system, such as your user's UUID, GUID, or SID.
211
+ # external system, such as your user's UUID, GUID, or SID. This value must be
212
+ # between 8 and 64 characters long.
212
213
  # @param [String] sid A 34 character string that uniquely identifies this
213
214
  # Challenge.
214
215
  # @return [ChallengeContext] ChallengeContext
@@ -278,7 +279,7 @@ module Twilio
278
279
  # @param [Hash] payload payload that contains response from Twilio
279
280
  # @param [String] service_sid The unique SID identifier of the Service.
280
281
  # @param [String] identity Customer unique identity for the Entity owner of the
281
- # Challenge
282
+ # Challenge. This value must be between 8 and 64 characters long.
282
283
  # @param [String] sid A 34 character string that uniquely identifies this
283
284
  # Challenge.
284
285
  # @return [ChallengeInstance] ChallengeInstance
@@ -21,7 +21,8 @@ module Twilio
21
21
  # @param [String] service_sid The unique SID identifier of the Service.
22
22
  # @param [String] identity The unique external identifier for the Entity of the
23
23
  # Service. This identifier should be immutable, not PII, and generated by your
24
- # external system, such as your user's UUID, GUID, or SID.
24
+ # external system, such as your user's UUID, GUID, or SID. This value must be
25
+ # between 8 and 64 characters long.
25
26
  # @return [FactorList] FactorList
26
27
  def initialize(version, service_sid: nil, identity: nil)
27
28
  super(version)
@@ -33,7 +34,8 @@ module Twilio
33
34
 
34
35
  ##
35
36
  # Create the FactorInstance
36
- # @param [String] friendly_name The friendly name of this Factor
37
+ # @param [String] friendly_name The friendly name of this Factor. It can be up to
38
+ # 64 characters.
37
39
  # @param [factor.FactorTypes] factor_type The Type of this Factor. Currently only
38
40
  # `push` is supported
39
41
  # @param [String] binding_alg The algorithm used when `factor_type` is `push`.
@@ -42,17 +44,30 @@ module Twilio
42
44
  # format encoded in Base64
43
45
  # @param [String] config_app_id The ID that uniquely identifies your app in the
44
46
  # Google or Apple store, such as `com.example.myapp`. Required when `factor_type`
45
- # is `push`
47
+ # is `push`. If specified, it can be up to 100 characters long.
46
48
  # @param [factor.NotificationPlatforms] config_notification_platform The transport
47
49
  # technology used to generate the Notification Token. Can be `apn` or `fcm`.
48
50
  # Required when `factor_type` is `push`
49
51
  # @param [String] config_notification_token For APN, the device token. For FCM the
50
52
  # registration token. It used to send the push notifications. Required when
51
- # `factor_type` is `push`
53
+ # `factor_type` is `push`. If specified, this value must be between 32 and 255
54
+ # characters long.
52
55
  # @param [String] config_sdk_version The Verify Push SDK version used to configure
53
56
  # the factor
57
+ # @param [String] binding_secret The shared secret for TOTP factors encoded in
58
+ # Base32
59
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
60
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
61
+ # between 20 and 60 seconds, inclusive. Defaults to 30 seconds
62
+ # @param [String] config_skew The number of time-steps, past and future, that are
63
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive. Defaults
64
+ # to 1
65
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
66
+ # Must be between 3 and 8, inclusive. Defaults to 6
67
+ # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
68
+ # codes. Can be `sha1`, `sha256` or `sha512`. Defaults to `sha1`
54
69
  # @return [FactorInstance] Created FactorInstance
55
- def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset)
70
+ def create(friendly_name: nil, factor_type: nil, binding_alg: :unset, binding_public_key: :unset, config_app_id: :unset, config_notification_platform: :unset, config_notification_token: :unset, config_sdk_version: :unset, binding_secret: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
56
71
  data = Twilio::Values.of({
57
72
  'FriendlyName' => friendly_name,
58
73
  'FactorType' => factor_type,
@@ -62,6 +77,11 @@ module Twilio
62
77
  'Config.NotificationPlatform' => config_notification_platform,
63
78
  'Config.NotificationToken' => config_notification_token,
64
79
  'Config.SdkVersion' => config_sdk_version,
80
+ 'Binding.Secret' => binding_secret,
81
+ 'Config.TimeStep' => config_time_step,
82
+ 'Config.Skew' => config_skew,
83
+ 'Config.CodeLength' => config_code_length,
84
+ 'Config.Alg' => config_alg,
65
85
  })
66
86
 
67
87
  payload = @version.create('POST', @uri, data: data)
@@ -205,7 +225,7 @@ module Twilio
205
225
  # @param [Version] version Version that contains the resource
206
226
  # @param [String] service_sid The unique SID identifier of the Service.
207
227
  # @param [String] identity Customer unique identity for the Entity owner of the
208
- # Factor
228
+ # Factor. This value must be between 8 and 64 characters long.
209
229
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
210
230
  # @return [FactorContext] FactorContext
211
231
  def initialize(version, service_sid, identity, sid)
@@ -242,19 +262,34 @@ module Twilio
242
262
  # Update the FactorInstance
243
263
  # @param [String] auth_payload The optional payload needed to verify the Factor
244
264
  # for the first time. E.g. for a TOTP, the numeric code.
245
- # @param [String] friendly_name The new friendly name of this Factor
265
+ # @param [String] friendly_name The new friendly name of this Factor. It can be up
266
+ # to 64 characters.
246
267
  # @param [String] config_notification_token For APN, the device token. For FCM the
247
268
  # registration token. It used to send the push notifications. Required when
248
- # `factor_type` is `push`
269
+ # `factor_type` is `push`. If specified, this value must be between 32 and 255
270
+ # characters long.
249
271
  # @param [String] config_sdk_version The Verify Push SDK version used to configure
250
272
  # the factor
273
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
274
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
275
+ # between 20 and 60 seconds, inclusive
276
+ # @param [String] config_skew The number of time-steps, past and future, that are
277
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive
278
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
279
+ # Must be between 3 and 8, inclusive
280
+ # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
281
+ # codes. Can be `sha1`, `sha256` or `sha512`
251
282
  # @return [FactorInstance] Updated FactorInstance
252
- def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
283
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
253
284
  data = Twilio::Values.of({
254
285
  'AuthPayload' => auth_payload,
255
286
  'FriendlyName' => friendly_name,
256
287
  'Config.NotificationToken' => config_notification_token,
257
288
  'Config.SdkVersion' => config_sdk_version,
289
+ 'Config.TimeStep' => config_time_step,
290
+ 'Config.Skew' => config_skew,
291
+ 'Config.CodeLength' => config_code_length,
292
+ 'Config.Alg' => config_alg,
258
293
  })
259
294
 
260
295
  payload = @version.update('POST', @uri, data: data)
@@ -293,7 +328,8 @@ module Twilio
293
328
  # @param [String] service_sid The unique SID identifier of the Service.
294
329
  # @param [String] identity The unique external identifier for the Entity of the
295
330
  # Service. This identifier should be immutable, not PII, and generated by your
296
- # external system, such as your user's UUID, GUID, or SID.
331
+ # external system, such as your user's UUID, GUID, or SID. This value must be
332
+ # between 8 and 64 characters long.
297
333
  # @param [String] sid A 34 character string that uniquely identifies this Factor.
298
334
  # @return [FactorInstance] FactorInstance
299
335
  def initialize(version, payload, service_sid: nil, identity: nil, sid: nil)
@@ -426,19 +462,34 @@ module Twilio
426
462
  # Update the FactorInstance
427
463
  # @param [String] auth_payload The optional payload needed to verify the Factor
428
464
  # for the first time. E.g. for a TOTP, the numeric code.
429
- # @param [String] friendly_name The new friendly name of this Factor
465
+ # @param [String] friendly_name The new friendly name of this Factor. It can be up
466
+ # to 64 characters.
430
467
  # @param [String] config_notification_token For APN, the device token. For FCM the
431
468
  # registration token. It used to send the push notifications. Required when
432
- # `factor_type` is `push`
469
+ # `factor_type` is `push`. If specified, this value must be between 32 and 255
470
+ # characters long.
433
471
  # @param [String] config_sdk_version The Verify Push SDK version used to configure
434
472
  # the factor
473
+ # @param [String] config_time_step Defines how often, in seconds, are TOTP codes
474
+ # generated. i.e, a new TOTP code is generated every time_step seconds. Must be
475
+ # between 20 and 60 seconds, inclusive
476
+ # @param [String] config_skew The number of time-steps, past and future, that are
477
+ # valid for validation of TOTP codes. Must be between 0 and 2, inclusive
478
+ # @param [String] config_code_length Number of digits for generated TOTP codes.
479
+ # Must be between 3 and 8, inclusive
480
+ # @param [factor.TotpAlgorithms] config_alg The algorithm used to derive the TOTP
481
+ # codes. Can be `sha1`, `sha256` or `sha512`
435
482
  # @return [FactorInstance] Updated FactorInstance
436
- def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset)
483
+ def update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset)
437
484
  context.update(
438
485
  auth_payload: auth_payload,
439
486
  friendly_name: friendly_name,
440
487
  config_notification_token: config_notification_token,
441
488
  config_sdk_version: config_sdk_version,
489
+ config_time_step: config_time_step,
490
+ config_skew: config_skew,
491
+ config_code_length: config_code_length,
492
+ config_alg: config_alg,
442
493
  )
443
494
  end
444
495