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,329 @@
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 Verify < Domain
12
+ class V2 < Version
13
+ class VerificationAttemptList < ListResource
14
+ ##
15
+ # Initialize the VerificationAttemptList
16
+ # @param [Version] version Version that contains the resource
17
+ # @return [VerificationAttemptList] VerificationAttemptList
18
+ def initialize(version)
19
+ super(version)
20
+
21
+ # Path Solution
22
+ @solution = {}
23
+ @uri = "/Attempts"
24
+ end
25
+
26
+ ##
27
+ # Lists VerificationAttemptInstance records from the API as a list.
28
+ # Unlike stream(), this operation is eager and will load `limit` records into
29
+ # memory before returning.
30
+ # @param [Time] date_created_after Datetime filter used to query Verification
31
+ # Attempts created after this datetime.
32
+ # @param [Time] date_created_before Datetime filter used to query Verification
33
+ # Attempts created before this datetime.
34
+ # @param [String] channel_data_to Destination of a verification. Depending on the
35
+ # type of channel, it could be a phone number in E.164 format or an email address.
36
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
37
+ # guarantees to never return more than limit. Default is no limit
38
+ # @param [Integer] page_size Number of records to fetch per request, when
39
+ # not set will use the default value of 50 records. If no page_size is defined
40
+ # but a limit is defined, stream() will attempt to read the limit with the most
41
+ # efficient page size, i.e. min(limit, 1000)
42
+ # @return [Array] Array of up to limit results
43
+ def list(date_created_after: :unset, date_created_before: :unset, channel_data_to: :unset, limit: nil, page_size: nil)
44
+ self.stream(
45
+ date_created_after: date_created_after,
46
+ date_created_before: date_created_before,
47
+ channel_data_to: channel_data_to,
48
+ limit: limit,
49
+ page_size: page_size
50
+ ).entries
51
+ end
52
+
53
+ ##
54
+ # Streams VerificationAttemptInstance records from the API as an Enumerable.
55
+ # This operation lazily loads records as efficiently as possible until the limit
56
+ # is reached.
57
+ # @param [Time] date_created_after Datetime filter used to query Verification
58
+ # Attempts created after this datetime.
59
+ # @param [Time] date_created_before Datetime filter used to query Verification
60
+ # Attempts created before this datetime.
61
+ # @param [String] channel_data_to Destination of a verification. Depending on the
62
+ # type of channel, it could be a phone number in E.164 format or an email address.
63
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
64
+ # guarantees to never return more than limit. Default is no limit.
65
+ # @param [Integer] page_size Number of records to fetch per request, when
66
+ # not set will use the default value of 50 records. If no page_size is defined
67
+ # but a limit is defined, stream() will attempt to read the limit with the most
68
+ # efficient page size, i.e. min(limit, 1000)
69
+ # @return [Enumerable] Enumerable that will yield up to limit results
70
+ def stream(date_created_after: :unset, date_created_before: :unset, channel_data_to: :unset, limit: nil, page_size: nil)
71
+ limits = @version.read_limits(limit, page_size)
72
+
73
+ page = self.page(
74
+ date_created_after: date_created_after,
75
+ date_created_before: date_created_before,
76
+ channel_data_to: channel_data_to,
77
+ page_size: limits[:page_size],
78
+ )
79
+
80
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
81
+ end
82
+
83
+ ##
84
+ # When passed a block, yields VerificationAttemptInstance records from the API.
85
+ # This operation lazily loads records as efficiently as possible until the limit
86
+ # is reached.
87
+ def each
88
+ limits = @version.read_limits
89
+
90
+ page = self.page(page_size: limits[:page_size], )
91
+
92
+ @version.stream(page,
93
+ limit: limits[:limit],
94
+ page_limit: limits[:page_limit]).each {|x| yield x}
95
+ end
96
+
97
+ ##
98
+ # Retrieve a single page of VerificationAttemptInstance records from the API.
99
+ # Request is executed immediately.
100
+ # @param [Time] date_created_after Datetime filter used to query Verification
101
+ # Attempts created after this datetime.
102
+ # @param [Time] date_created_before Datetime filter used to query Verification
103
+ # Attempts created before this datetime.
104
+ # @param [String] channel_data_to Destination of a verification. Depending on the
105
+ # type of channel, it could be a phone number in E.164 format or an email address.
106
+ # @param [String] page_token PageToken provided by the API
107
+ # @param [Integer] page_number Page Number, this value is simply for client state
108
+ # @param [Integer] page_size Number of records to return, defaults to 50
109
+ # @return [Page] Page of VerificationAttemptInstance
110
+ def page(date_created_after: :unset, date_created_before: :unset, channel_data_to: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
111
+ params = Twilio::Values.of({
112
+ 'DateCreatedAfter' => Twilio.serialize_iso8601_datetime(date_created_after),
113
+ 'DateCreatedBefore' => Twilio.serialize_iso8601_datetime(date_created_before),
114
+ 'ChannelData.To' => channel_data_to,
115
+ 'PageToken' => page_token,
116
+ 'Page' => page_number,
117
+ 'PageSize' => page_size,
118
+ })
119
+
120
+ response = @version.page('GET', @uri, params: params)
121
+
122
+ VerificationAttemptPage.new(@version, response, @solution)
123
+ end
124
+
125
+ ##
126
+ # Retrieve a single page of VerificationAttemptInstance records from the API.
127
+ # Request is executed immediately.
128
+ # @param [String] target_url API-generated URL for the requested results page
129
+ # @return [Page] Page of VerificationAttemptInstance
130
+ def get_page(target_url)
131
+ response = @version.domain.request(
132
+ 'GET',
133
+ target_url
134
+ )
135
+ VerificationAttemptPage.new(@version, response, @solution)
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '#<Twilio.Verify.V2.VerificationAttemptList>'
142
+ end
143
+ end
144
+
145
+ class VerificationAttemptPage < Page
146
+ ##
147
+ # Initialize the VerificationAttemptPage
148
+ # @param [Version] version Version that contains the resource
149
+ # @param [Response] response Response from the API
150
+ # @param [Hash] solution Path solution for the resource
151
+ # @return [VerificationAttemptPage] VerificationAttemptPage
152
+ def initialize(version, response, solution)
153
+ super(version, response)
154
+
155
+ # Path Solution
156
+ @solution = solution
157
+ end
158
+
159
+ ##
160
+ # Build an instance of VerificationAttemptInstance
161
+ # @param [Hash] payload Payload response from the API
162
+ # @return [VerificationAttemptInstance] VerificationAttemptInstance
163
+ def get_instance(payload)
164
+ VerificationAttemptInstance.new(@version, payload, )
165
+ end
166
+
167
+ ##
168
+ # Provide a user friendly representation
169
+ def to_s
170
+ '<Twilio.Verify.V2.VerificationAttemptPage>'
171
+ end
172
+ end
173
+
174
+ class VerificationAttemptContext < InstanceContext
175
+ ##
176
+ # Initialize the VerificationAttemptContext
177
+ # @param [Version] version Version that contains the resource
178
+ # @param [String] sid The unique SID identifier of a Verification Attempt
179
+ # @return [VerificationAttemptContext] VerificationAttemptContext
180
+ def initialize(version, sid)
181
+ super(version)
182
+
183
+ # Path Solution
184
+ @solution = {sid: sid, }
185
+ @uri = "/Attempts/#{@solution[:sid]}"
186
+ end
187
+
188
+ ##
189
+ # Fetch the VerificationAttemptInstance
190
+ # @return [VerificationAttemptInstance] Fetched VerificationAttemptInstance
191
+ def fetch
192
+ payload = @version.fetch('GET', @uri)
193
+
194
+ VerificationAttemptInstance.new(@version, payload, sid: @solution[:sid], )
195
+ end
196
+
197
+ ##
198
+ # Provide a user friendly representation
199
+ def to_s
200
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
201
+ "#<Twilio.Verify.V2.VerificationAttemptContext #{context}>"
202
+ end
203
+
204
+ ##
205
+ # Provide a detailed, user friendly representation
206
+ def inspect
207
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
208
+ "#<Twilio.Verify.V2.VerificationAttemptContext #{context}>"
209
+ end
210
+ end
211
+
212
+ class VerificationAttemptInstance < InstanceResource
213
+ ##
214
+ # Initialize the VerificationAttemptInstance
215
+ # @param [Version] version Version that contains the resource
216
+ # @param [Hash] payload payload that contains response from Twilio
217
+ # @param [String] sid The unique SID identifier of a Verification Attempt
218
+ # @return [VerificationAttemptInstance] VerificationAttemptInstance
219
+ def initialize(version, payload, sid: nil)
220
+ super(version)
221
+
222
+ # Marshaled Properties
223
+ @properties = {
224
+ 'sid' => payload['sid'],
225
+ 'account_sid' => payload['account_sid'],
226
+ 'service_sid' => payload['service_sid'],
227
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
228
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
229
+ 'conversion_status' => payload['conversion_status'],
230
+ 'channel' => payload['channel'],
231
+ 'channel_data' => payload['channel_data'],
232
+ 'url' => payload['url'],
233
+ }
234
+
235
+ # Context
236
+ @instance_context = nil
237
+ @params = {'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 [VerificationAttemptContext] VerificationAttemptContext for this VerificationAttemptInstance
244
+ def context
245
+ unless @instance_context
246
+ @instance_context = VerificationAttemptContext.new(@version, @params['sid'], )
247
+ end
248
+ @instance_context
249
+ end
250
+
251
+ ##
252
+ # @return [String] A string that uniquely identifies this Verification Attempt
253
+ def sid
254
+ @properties['sid']
255
+ end
256
+
257
+ ##
258
+ # @return [String] Account Sid
259
+ def account_sid
260
+ @properties['account_sid']
261
+ end
262
+
263
+ ##
264
+ # @return [String] The service_sid
265
+ def service_sid
266
+ @properties['service_sid']
267
+ end
268
+
269
+ ##
270
+ # @return [Time] The date this Attempt was created
271
+ def date_created
272
+ @properties['date_created']
273
+ end
274
+
275
+ ##
276
+ # @return [Time] The date this Attempt was updated
277
+ def date_updated
278
+ @properties['date_updated']
279
+ end
280
+
281
+ ##
282
+ # @return [verification_attempt.ConversionStatus] Status of a conversion
283
+ def conversion_status
284
+ @properties['conversion_status']
285
+ end
286
+
287
+ ##
288
+ # @return [verification_attempt.Channels] Channel used for the attempt
289
+ def channel
290
+ @properties['channel']
291
+ end
292
+
293
+ ##
294
+ # @return [Hash] Object with the channel information for an attempt
295
+ def channel_data
296
+ @properties['channel_data']
297
+ end
298
+
299
+ ##
300
+ # @return [String] The url
301
+ def url
302
+ @properties['url']
303
+ end
304
+
305
+ ##
306
+ # Fetch the VerificationAttemptInstance
307
+ # @return [VerificationAttemptInstance] Fetched VerificationAttemptInstance
308
+ def fetch
309
+ context.fetch
310
+ end
311
+
312
+ ##
313
+ # Provide a user friendly representation
314
+ def to_s
315
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
316
+ "<Twilio.Verify.V2.VerificationAttemptInstance #{values}>"
317
+ end
318
+
319
+ ##
320
+ # Provide a detailed, user friendly representation
321
+ def inspect
322
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
323
+ "<Twilio.Verify.V2.VerificationAttemptInstance #{values}>"
324
+ end
325
+ end
326
+ end
327
+ end
328
+ end
329
+ end
@@ -29,11 +29,12 @@ module Twilio
29
29
  # @return [Twilio::REST::Video::V1::CompositionList]
30
30
  def compositions(sid=:unset)
31
31
  if sid.nil?
32
- raise ArgumentError, 'sid cannot be nil'
33
- elsif sid == :unset
34
- @compositions ||= CompositionList.new self
32
+ raise ArgumentError, 'sid cannot be nil'
33
+ end
34
+ if sid == :unset
35
+ @compositions ||= CompositionList.new self
35
36
  else
36
- CompositionContext.new(self, sid)
37
+ CompositionContext.new(self, sid)
37
38
  end
38
39
  end
39
40
 
@@ -43,11 +44,12 @@ module Twilio
43
44
  # @return [Twilio::REST::Video::V1::CompositionHookList]
44
45
  def composition_hooks(sid=:unset)
45
46
  if sid.nil?
46
- raise ArgumentError, 'sid cannot be nil'
47
- elsif sid == :unset
48
- @composition_hooks ||= CompositionHookList.new self
47
+ raise ArgumentError, 'sid cannot be nil'
48
+ end
49
+ if sid == :unset
50
+ @composition_hooks ||= CompositionHookList.new self
49
51
  else
50
- CompositionHookContext.new(self, sid)
52
+ CompositionHookContext.new(self, sid)
51
53
  end
52
54
  end
53
55
 
@@ -63,11 +65,12 @@ module Twilio
63
65
  # @return [Twilio::REST::Video::V1::RecordingList]
64
66
  def recordings(sid=:unset)
65
67
  if sid.nil?
66
- raise ArgumentError, 'sid cannot be nil'
67
- elsif sid == :unset
68
- @recordings ||= RecordingList.new self
68
+ raise ArgumentError, 'sid cannot be nil'
69
+ end
70
+ if sid == :unset
71
+ @recordings ||= RecordingList.new self
69
72
  else
70
- RecordingContext.new(self, sid)
73
+ RecordingContext.new(self, sid)
71
74
  end
72
75
  end
73
76
 
@@ -83,11 +86,12 @@ module Twilio
83
86
  # @return [Twilio::REST::Video::V1::RoomList]
84
87
  def rooms(sid=:unset)
85
88
  if sid.nil?
86
- raise ArgumentError, 'sid cannot be nil'
87
- elsif sid == :unset
88
- @rooms ||= RoomList.new self
89
+ raise ArgumentError, 'sid cannot be nil'
90
+ end
91
+ if sid == :unset
92
+ @rooms ||= RoomList.new self
89
93
  else
90
- RoomContext.new(self, sid)
94
+ RoomContext.new(self, sid)
91
95
  end
92
96
  end
93
97
 
@@ -55,8 +55,10 @@ module Twilio
55
55
  # Can be: one of the {available Media
56
56
  # Regions}[https://www.twilio.com/docs/video/ip-address-whitelisting#group-rooms-media-servers].
57
57
  # ***This feature is not available in `peer-to-peer` rooms.***
58
+ # @param [Hash] recording_rules A collection of Recording Rules that describe how
59
+ # to include or exclude matching tracks for recording
58
60
  # @return [RoomInstance] Created RoomInstance
59
- def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset)
61
+ def create(enable_turn: :unset, type: :unset, unique_name: :unset, status_callback: :unset, status_callback_method: :unset, max_participants: :unset, record_participants_on_connect: :unset, video_codecs: :unset, media_region: :unset, recording_rules: :unset)
60
62
  data = Twilio::Values.of({
61
63
  'EnableTurn' => enable_turn,
62
64
  'Type' => type,
@@ -67,6 +69,7 @@ module Twilio
67
69
  'RecordParticipantsOnConnect' => record_participants_on_connect,
68
70
  'VideoCodecs' => Twilio.serialize_list(video_codecs) { |e| e },
69
71
  'MediaRegion' => media_region,
72
+ 'RecordingRules' => Twilio.serialize_object(recording_rules),
70
73
  })
71
74
 
72
75
  payload = @version.create('POST', @uri, data: data)
@@ -11,8 +11,6 @@ module Twilio
11
11
  class Video < Domain
12
12
  class V1 < Version
13
13
  class RoomContext < InstanceContext
14
- ##
15
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
14
  class RecordingRulesList < ListResource
17
15
  ##
18
16
  # Initialize the RecordingRulesList
@@ -55,8 +53,6 @@ module Twilio
55
53
  end
56
54
  end
57
55
 
58
- ##
59
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
60
56
  class RecordingRulesPage < Page
61
57
  ##
62
58
  # Initialize the RecordingRulesPage
@@ -86,8 +82,6 @@ module Twilio
86
82
  end
87
83
  end
88
84
 
89
- ##
90
- # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
91
85
  class RecordingRulesInstance < InstanceResource
92
86
  ##
93
87
  # Initialize the RecordingRulesInstance
@@ -29,11 +29,12 @@ module Twilio
29
29
  # @return [Twilio::REST::Voice::V1::ByocTrunkList]
30
30
  def byoc_trunks(sid=:unset)
31
31
  if sid.nil?
32
- raise ArgumentError, 'sid cannot be nil'
33
- elsif sid == :unset
34
- @byoc_trunks ||= ByocTrunkList.new self
32
+ raise ArgumentError, 'sid cannot be nil'
33
+ end
34
+ if sid == :unset
35
+ @byoc_trunks ||= ByocTrunkList.new self
35
36
  else
36
- ByocTrunkContext.new(self, sid)
37
+ ByocTrunkContext.new(self, sid)
37
38
  end
38
39
  end
39
40
 
@@ -44,11 +45,12 @@ module Twilio
44
45
  # @return [Twilio::REST::Voice::V1::ConnectionPolicyList]
45
46
  def connection_policies(sid=:unset)
46
47
  if sid.nil?
47
- raise ArgumentError, 'sid cannot be nil'
48
- elsif sid == :unset
49
- @connection_policies ||= ConnectionPolicyList.new self
48
+ raise ArgumentError, 'sid cannot be nil'
49
+ end
50
+ if sid == :unset
51
+ @connection_policies ||= ConnectionPolicyList.new self
50
52
  else
51
- ConnectionPolicyContext.new(self, sid)
53
+ ConnectionPolicyContext.new(self, sid)
52
54
  end
53
55
  end
54
56
 
@@ -65,11 +67,12 @@ module Twilio
65
67
  # @return [Twilio::REST::Voice::V1::IpRecordList]
66
68
  def ip_records(sid=:unset)
67
69
  if sid.nil?
68
- raise ArgumentError, 'sid cannot be nil'
69
- elsif sid == :unset
70
- @ip_records ||= IpRecordList.new self
70
+ raise ArgumentError, 'sid cannot be nil'
71
+ end
72
+ if sid == :unset
73
+ @ip_records ||= IpRecordList.new self
71
74
  else
72
- IpRecordContext.new(self, sid)
75
+ IpRecordContext.new(self, sid)
73
76
  end
74
77
  end
75
78
 
@@ -80,11 +83,12 @@ module Twilio
80
83
  # @return [Twilio::REST::Voice::V1::SourceIpMappingList]
81
84
  def source_ip_mappings(sid=:unset)
82
85
  if sid.nil?
83
- raise ArgumentError, 'sid cannot be nil'
84
- elsif sid == :unset
85
- @source_ip_mappings ||= SourceIpMappingList.new self
86
+ raise ArgumentError, 'sid cannot be nil'
87
+ end
88
+ if sid == :unset
89
+ @source_ip_mappings ||= SourceIpMappingList.new self
86
90
  else
87
- SourceIpMappingContext.new(self, sid)
91
+ SourceIpMappingContext.new(self, sid)
88
92
  end
89
93
  end
90
94