twilio-ruby 5.31.1 → 5.31.2

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +4 -3
  4. data/CHANGES.md +16 -0
  5. data/LICENSE.md +1 -1
  6. data/README.md +2 -2
  7. data/lib/twilio-ruby.rb +5 -5
  8. data/lib/twilio-ruby/rest/client.rb +7 -0
  9. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  10. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  11. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  12. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +482 -0
  13. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +333 -0
  14. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +361 -0
  15. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +281 -0
  16. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +374 -0
  17. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +281 -0
  18. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +30 -5
  19. data/lib/twilio-ruby/rest/studio.rb +16 -3
  20. data/lib/twilio-ruby/rest/studio/v2.rb +50 -0
  21. data/lib/twilio-ruby/rest/studio/v2/flow.rb +451 -0
  22. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +343 -0
  23. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +126 -0
  24. data/lib/twilio-ruby/twiml/voice_response.rb +3 -2
  25. data/lib/twilio-ruby/version.rb +1 -1
  26. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +198 -0
  27. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +226 -0
  28. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +214 -0
  29. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +143 -0
  30. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +226 -0
  31. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +133 -0
  32. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +12 -0
  33. data/spec/integration/serverless/v1/service/environment/log_spec.rb +2 -2
  34. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +112 -0
  35. data/spec/integration/studio/v2/flow_spec.rb +234 -0
  36. data/spec/integration/studio/v2/flow_validate_spec.rb +42 -0
  37. data/twilio-ruby.gemspec +2 -2
  38. metadata +39 -6
@@ -0,0 +1,281 @@
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 Numbers < Domain
12
+ class V2 < Version
13
+ class RegulatoryComplianceList < ListResource
14
+ class EndUserTypeList < ListResource
15
+ ##
16
+ # Initialize the EndUserTypeList
17
+ # @param [Version] version Version that contains the resource
18
+ # @return [EndUserTypeList] EndUserTypeList
19
+ def initialize(version)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {}
24
+ @uri = "/RegulatoryCompliance/EndUserTypes"
25
+ end
26
+
27
+ ##
28
+ # Lists EndUserTypeInstance records from the API as a list.
29
+ # Unlike stream(), this operation is eager and will load `limit` records into
30
+ # memory before returning.
31
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
32
+ # guarantees to never return more than limit. Default is no limit
33
+ # @param [Integer] page_size Number of records to fetch per request, when
34
+ # not set will use the default value of 50 records. If no page_size is defined
35
+ # but a limit is defined, stream() will attempt to read the limit with the most
36
+ # efficient page size, i.e. min(limit, 1000)
37
+ # @return [Array] Array of up to limit results
38
+ def list(limit: nil, page_size: nil)
39
+ self.stream(limit: limit, page_size: page_size).entries
40
+ end
41
+
42
+ ##
43
+ # Streams EndUserTypeInstance records from the API as an Enumerable.
44
+ # This operation lazily loads records as efficiently as possible until the limit
45
+ # is reached.
46
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
47
+ # guarantees to never return more than limit. Default is no limit.
48
+ # @param [Integer] page_size Number of records to fetch per request, when
49
+ # not set will use the default value of 50 records. If no page_size is defined
50
+ # but a limit is defined, stream() will attempt to read the limit with the most
51
+ # efficient page size, i.e. min(limit, 1000)
52
+ # @return [Enumerable] Enumerable that will yield up to limit results
53
+ def stream(limit: nil, page_size: nil)
54
+ limits = @version.read_limits(limit, page_size)
55
+
56
+ page = self.page(page_size: limits[:page_size], )
57
+
58
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
59
+ end
60
+
61
+ ##
62
+ # When passed a block, yields EndUserTypeInstance records from the API.
63
+ # This operation lazily loads records as efficiently as possible until the limit
64
+ # is reached.
65
+ def each
66
+ limits = @version.read_limits
67
+
68
+ page = self.page(page_size: limits[:page_size], )
69
+
70
+ @version.stream(page,
71
+ limit: limits[:limit],
72
+ page_limit: limits[:page_limit]).each {|x| yield x}
73
+ end
74
+
75
+ ##
76
+ # Retrieve a single page of EndUserTypeInstance records from the API.
77
+ # Request is executed immediately.
78
+ # @param [String] page_token PageToken provided by the API
79
+ # @param [Integer] page_number Page Number, this value is simply for client state
80
+ # @param [Integer] page_size Number of records to return, defaults to 50
81
+ # @return [Page] Page of EndUserTypeInstance
82
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
83
+ params = Twilio::Values.of({
84
+ 'PageToken' => page_token,
85
+ 'Page' => page_number,
86
+ 'PageSize' => page_size,
87
+ })
88
+ response = @version.page(
89
+ 'GET',
90
+ @uri,
91
+ params
92
+ )
93
+ EndUserTypePage.new(@version, response, @solution)
94
+ end
95
+
96
+ ##
97
+ # Retrieve a single page of EndUserTypeInstance records from the API.
98
+ # Request is executed immediately.
99
+ # @param [String] target_url API-generated URL for the requested results page
100
+ # @return [Page] Page of EndUserTypeInstance
101
+ def get_page(target_url)
102
+ response = @version.domain.request(
103
+ 'GET',
104
+ target_url
105
+ )
106
+ EndUserTypePage.new(@version, response, @solution)
107
+ end
108
+
109
+ ##
110
+ # Provide a user friendly representation
111
+ def to_s
112
+ '#<Twilio.Numbers.V2.EndUserTypeList>'
113
+ end
114
+ end
115
+
116
+ class EndUserTypePage < Page
117
+ ##
118
+ # Initialize the EndUserTypePage
119
+ # @param [Version] version Version that contains the resource
120
+ # @param [Response] response Response from the API
121
+ # @param [Hash] solution Path solution for the resource
122
+ # @return [EndUserTypePage] EndUserTypePage
123
+ def initialize(version, response, solution)
124
+ super(version, response)
125
+
126
+ # Path Solution
127
+ @solution = solution
128
+ end
129
+
130
+ ##
131
+ # Build an instance of EndUserTypeInstance
132
+ # @param [Hash] payload Payload response from the API
133
+ # @return [EndUserTypeInstance] EndUserTypeInstance
134
+ def get_instance(payload)
135
+ EndUserTypeInstance.new(@version, payload, )
136
+ end
137
+
138
+ ##
139
+ # Provide a user friendly representation
140
+ def to_s
141
+ '<Twilio.Numbers.V2.EndUserTypePage>'
142
+ end
143
+ end
144
+
145
+ class EndUserTypeContext < InstanceContext
146
+ ##
147
+ # Initialize the EndUserTypeContext
148
+ # @param [Version] version Version that contains the resource
149
+ # @param [String] sid The unique string that identifies the End-User Type
150
+ # resource.
151
+ # @return [EndUserTypeContext] EndUserTypeContext
152
+ def initialize(version, sid)
153
+ super(version)
154
+
155
+ # Path Solution
156
+ @solution = {sid: sid, }
157
+ @uri = "/RegulatoryCompliance/EndUserTypes/#{@solution[:sid]}"
158
+ end
159
+
160
+ ##
161
+ # Fetch a EndUserTypeInstance
162
+ # @return [EndUserTypeInstance] Fetched EndUserTypeInstance
163
+ def fetch
164
+ params = Twilio::Values.of({})
165
+
166
+ payload = @version.fetch(
167
+ 'GET',
168
+ @uri,
169
+ params,
170
+ )
171
+
172
+ EndUserTypeInstance.new(@version, payload, sid: @solution[:sid], )
173
+ end
174
+
175
+ ##
176
+ # Provide a user friendly representation
177
+ def to_s
178
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
179
+ "#<Twilio.Numbers.V2.EndUserTypeContext #{context}>"
180
+ end
181
+
182
+ ##
183
+ # Provide a detailed, user friendly representation
184
+ def inspect
185
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
186
+ "#<Twilio.Numbers.V2.EndUserTypeContext #{context}>"
187
+ end
188
+ end
189
+
190
+ class EndUserTypeInstance < InstanceResource
191
+ ##
192
+ # Initialize the EndUserTypeInstance
193
+ # @param [Version] version Version that contains the resource
194
+ # @param [Hash] payload payload that contains response from Twilio
195
+ # @param [String] sid The unique string that identifies the End-User Type
196
+ # resource.
197
+ # @return [EndUserTypeInstance] EndUserTypeInstance
198
+ def initialize(version, payload, sid: nil)
199
+ super(version)
200
+
201
+ # Marshaled Properties
202
+ @properties = {
203
+ 'sid' => payload['sid'],
204
+ 'friendly_name' => payload['friendly_name'],
205
+ 'machine_name' => payload['machine_name'],
206
+ 'fields' => payload['fields'],
207
+ 'url' => payload['url'],
208
+ }
209
+
210
+ # Context
211
+ @instance_context = nil
212
+ @params = {'sid' => sid || @properties['sid'], }
213
+ end
214
+
215
+ ##
216
+ # Generate an instance context for the instance, the context is capable of
217
+ # performing various actions. All instance actions are proxied to the context
218
+ # @return [EndUserTypeContext] EndUserTypeContext for this EndUserTypeInstance
219
+ def context
220
+ unless @instance_context
221
+ @instance_context = EndUserTypeContext.new(@version, @params['sid'], )
222
+ end
223
+ @instance_context
224
+ end
225
+
226
+ ##
227
+ # @return [String] The unique string that identifies the End-User Type resource
228
+ def sid
229
+ @properties['sid']
230
+ end
231
+
232
+ ##
233
+ # @return [String] A human-readable description of the End-User Type resource
234
+ def friendly_name
235
+ @properties['friendly_name']
236
+ end
237
+
238
+ ##
239
+ # @return [String] A machine-readable description of the End-User Type resource
240
+ def machine_name
241
+ @properties['machine_name']
242
+ end
243
+
244
+ ##
245
+ # @return [Hash] The required information for creating an End-User.
246
+ def fields
247
+ @properties['fields']
248
+ end
249
+
250
+ ##
251
+ # @return [String] The absolute URL of the End-User Type resource
252
+ def url
253
+ @properties['url']
254
+ end
255
+
256
+ ##
257
+ # Fetch a EndUserTypeInstance
258
+ # @return [EndUserTypeInstance] Fetched EndUserTypeInstance
259
+ def fetch
260
+ context.fetch
261
+ end
262
+
263
+ ##
264
+ # Provide a user friendly representation
265
+ def to_s
266
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
267
+ "<Twilio.Numbers.V2.EndUserTypeInstance #{values}>"
268
+ end
269
+
270
+ ##
271
+ # Provide a detailed, user friendly representation
272
+ def inspect
273
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
274
+ "<Twilio.Numbers.V2.EndUserTypeInstance #{values}>"
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
@@ -0,0 +1,374 @@
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 Numbers < Domain
12
+ class V2 < Version
13
+ class RegulatoryComplianceList < ListResource
14
+ class SupportingDocumentList < ListResource
15
+ ##
16
+ # Initialize the SupportingDocumentList
17
+ # @param [Version] version Version that contains the resource
18
+ # @return [SupportingDocumentList] SupportingDocumentList
19
+ def initialize(version)
20
+ super(version)
21
+
22
+ # Path Solution
23
+ @solution = {}
24
+ @uri = "/RegulatoryCompliance/SupportingDocuments"
25
+ end
26
+
27
+ ##
28
+ # Retrieve a single page of SupportingDocumentInstance records from the API.
29
+ # Request is executed immediately.
30
+ # @param [String] friendly_name The string that you assigned to describe the
31
+ # resource.
32
+ # @param [String] type The type of the Supporting Document.
33
+ # @param [Hash] attributes The set of parameters that are the attributes of the
34
+ # Supporting Documents resource which are derived Supporting Document Types.
35
+ # @return [SupportingDocumentInstance] Newly created SupportingDocumentInstance
36
+ def create(friendly_name: nil, type: nil, attributes: :unset)
37
+ data = Twilio::Values.of({
38
+ 'FriendlyName' => friendly_name,
39
+ 'Type' => type,
40
+ 'Attributes' => Twilio.serialize_object(attributes),
41
+ })
42
+
43
+ payload = @version.create(
44
+ 'POST',
45
+ @uri,
46
+ data: data
47
+ )
48
+
49
+ SupportingDocumentInstance.new(@version, payload, )
50
+ end
51
+
52
+ ##
53
+ # Lists SupportingDocumentInstance records from the API as a list.
54
+ # Unlike stream(), this operation is eager and will load `limit` records into
55
+ # memory before returning.
56
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
57
+ # guarantees to never return more than limit. Default is no limit
58
+ # @param [Integer] page_size Number of records to fetch per request, when
59
+ # not set will use the default value of 50 records. If no page_size is defined
60
+ # but a limit is defined, stream() will attempt to read the limit with the most
61
+ # efficient page size, i.e. min(limit, 1000)
62
+ # @return [Array] Array of up to limit results
63
+ def list(limit: nil, page_size: nil)
64
+ self.stream(limit: limit, page_size: page_size).entries
65
+ end
66
+
67
+ ##
68
+ # Streams SupportingDocumentInstance records from the API as an Enumerable.
69
+ # This operation lazily loads records as efficiently as possible until the limit
70
+ # is reached.
71
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
72
+ # guarantees to never return more than limit. Default is no limit.
73
+ # @param [Integer] page_size Number of records to fetch per request, when
74
+ # not set will use the default value of 50 records. If no page_size is defined
75
+ # but a limit is defined, stream() will attempt to read the limit with the most
76
+ # efficient page size, i.e. min(limit, 1000)
77
+ # @return [Enumerable] Enumerable that will yield up to limit results
78
+ def stream(limit: nil, page_size: nil)
79
+ limits = @version.read_limits(limit, page_size)
80
+
81
+ page = self.page(page_size: limits[:page_size], )
82
+
83
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
84
+ end
85
+
86
+ ##
87
+ # When passed a block, yields SupportingDocumentInstance records from the API.
88
+ # This operation lazily loads records as efficiently as possible until the limit
89
+ # is reached.
90
+ def each
91
+ limits = @version.read_limits
92
+
93
+ page = self.page(page_size: limits[:page_size], )
94
+
95
+ @version.stream(page,
96
+ limit: limits[:limit],
97
+ page_limit: limits[:page_limit]).each {|x| yield x}
98
+ end
99
+
100
+ ##
101
+ # Retrieve a single page of SupportingDocumentInstance records from the API.
102
+ # Request is executed immediately.
103
+ # @param [String] page_token PageToken provided by the API
104
+ # @param [Integer] page_number Page Number, this value is simply for client state
105
+ # @param [Integer] page_size Number of records to return, defaults to 50
106
+ # @return [Page] Page of SupportingDocumentInstance
107
+ def page(page_token: :unset, page_number: :unset, page_size: :unset)
108
+ params = Twilio::Values.of({
109
+ 'PageToken' => page_token,
110
+ 'Page' => page_number,
111
+ 'PageSize' => page_size,
112
+ })
113
+ response = @version.page(
114
+ 'GET',
115
+ @uri,
116
+ params
117
+ )
118
+ SupportingDocumentPage.new(@version, response, @solution)
119
+ end
120
+
121
+ ##
122
+ # Retrieve a single page of SupportingDocumentInstance records from the API.
123
+ # Request is executed immediately.
124
+ # @param [String] target_url API-generated URL for the requested results page
125
+ # @return [Page] Page of SupportingDocumentInstance
126
+ def get_page(target_url)
127
+ response = @version.domain.request(
128
+ 'GET',
129
+ target_url
130
+ )
131
+ SupportingDocumentPage.new(@version, response, @solution)
132
+ end
133
+
134
+ ##
135
+ # Provide a user friendly representation
136
+ def to_s
137
+ '#<Twilio.Numbers.V2.SupportingDocumentList>'
138
+ end
139
+ end
140
+
141
+ class SupportingDocumentPage < Page
142
+ ##
143
+ # Initialize the SupportingDocumentPage
144
+ # @param [Version] version Version that contains the resource
145
+ # @param [Response] response Response from the API
146
+ # @param [Hash] solution Path solution for the resource
147
+ # @return [SupportingDocumentPage] SupportingDocumentPage
148
+ def initialize(version, response, solution)
149
+ super(version, response)
150
+
151
+ # Path Solution
152
+ @solution = solution
153
+ end
154
+
155
+ ##
156
+ # Build an instance of SupportingDocumentInstance
157
+ # @param [Hash] payload Payload response from the API
158
+ # @return [SupportingDocumentInstance] SupportingDocumentInstance
159
+ def get_instance(payload)
160
+ SupportingDocumentInstance.new(@version, payload, )
161
+ end
162
+
163
+ ##
164
+ # Provide a user friendly representation
165
+ def to_s
166
+ '<Twilio.Numbers.V2.SupportingDocumentPage>'
167
+ end
168
+ end
169
+
170
+ class SupportingDocumentContext < InstanceContext
171
+ ##
172
+ # Initialize the SupportingDocumentContext
173
+ # @param [Version] version Version that contains the resource
174
+ # @param [String] sid The unique string that we created to identify the Supporting
175
+ # Document resource.
176
+ # @return [SupportingDocumentContext] SupportingDocumentContext
177
+ def initialize(version, sid)
178
+ super(version)
179
+
180
+ # Path Solution
181
+ @solution = {sid: sid, }
182
+ @uri = "/RegulatoryCompliance/SupportingDocuments/#{@solution[:sid]}"
183
+ end
184
+
185
+ ##
186
+ # Fetch a SupportingDocumentInstance
187
+ # @return [SupportingDocumentInstance] Fetched SupportingDocumentInstance
188
+ def fetch
189
+ params = Twilio::Values.of({})
190
+
191
+ payload = @version.fetch(
192
+ 'GET',
193
+ @uri,
194
+ params,
195
+ )
196
+
197
+ SupportingDocumentInstance.new(@version, payload, sid: @solution[:sid], )
198
+ end
199
+
200
+ ##
201
+ # Update the SupportingDocumentInstance
202
+ # @param [String] friendly_name The string that you assigned to describe the
203
+ # resource.
204
+ # @param [Hash] attributes The set of parameters that are the attributes of the
205
+ # Supporting Document resource which are derived Supporting Document Types.
206
+ # @return [SupportingDocumentInstance] Updated SupportingDocumentInstance
207
+ def update(friendly_name: :unset, attributes: :unset)
208
+ data = Twilio::Values.of({
209
+ 'FriendlyName' => friendly_name,
210
+ 'Attributes' => Twilio.serialize_object(attributes),
211
+ })
212
+
213
+ payload = @version.update(
214
+ 'POST',
215
+ @uri,
216
+ data: data,
217
+ )
218
+
219
+ SupportingDocumentInstance.new(@version, payload, sid: @solution[:sid], )
220
+ end
221
+
222
+ ##
223
+ # Provide a user friendly representation
224
+ def to_s
225
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
226
+ "#<Twilio.Numbers.V2.SupportingDocumentContext #{context}>"
227
+ end
228
+
229
+ ##
230
+ # Provide a detailed, user friendly representation
231
+ def inspect
232
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
233
+ "#<Twilio.Numbers.V2.SupportingDocumentContext #{context}>"
234
+ end
235
+ end
236
+
237
+ class SupportingDocumentInstance < InstanceResource
238
+ ##
239
+ # Initialize the SupportingDocumentInstance
240
+ # @param [Version] version Version that contains the resource
241
+ # @param [Hash] payload payload that contains response from Twilio
242
+ # @param [String] sid The unique string that we created to identify the Supporting
243
+ # Document resource.
244
+ # @return [SupportingDocumentInstance] SupportingDocumentInstance
245
+ def initialize(version, payload, sid: nil)
246
+ super(version)
247
+
248
+ # Marshaled Properties
249
+ @properties = {
250
+ 'sid' => payload['sid'],
251
+ 'account_sid' => payload['account_sid'],
252
+ 'friendly_name' => payload['friendly_name'],
253
+ 'mime_type' => payload['mime_type'],
254
+ 'status' => payload['status'],
255
+ 'type' => payload['type'],
256
+ 'attributes' => payload['attributes'],
257
+ 'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
258
+ 'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
259
+ 'url' => payload['url'],
260
+ }
261
+
262
+ # Context
263
+ @instance_context = nil
264
+ @params = {'sid' => sid || @properties['sid'], }
265
+ end
266
+
267
+ ##
268
+ # Generate an instance context for the instance, the context is capable of
269
+ # performing various actions. All instance actions are proxied to the context
270
+ # @return [SupportingDocumentContext] SupportingDocumentContext for this SupportingDocumentInstance
271
+ def context
272
+ unless @instance_context
273
+ @instance_context = SupportingDocumentContext.new(@version, @params['sid'], )
274
+ end
275
+ @instance_context
276
+ end
277
+
278
+ ##
279
+ # @return [String] The unique string that identifies the resource
280
+ def sid
281
+ @properties['sid']
282
+ end
283
+
284
+ ##
285
+ # @return [String] The SID of the Account that created the resource
286
+ def account_sid
287
+ @properties['account_sid']
288
+ end
289
+
290
+ ##
291
+ # @return [String] The string that you assigned to describe the resource
292
+ def friendly_name
293
+ @properties['friendly_name']
294
+ end
295
+
296
+ ##
297
+ # @return [String] The image type of the file
298
+ def mime_type
299
+ @properties['mime_type']
300
+ end
301
+
302
+ ##
303
+ # @return [supporting_document.Status] The verification status of the Supporting Document resource
304
+ def status
305
+ @properties['status']
306
+ end
307
+
308
+ ##
309
+ # @return [String] The type of the Supporting Document
310
+ def type
311
+ @properties['type']
312
+ end
313
+
314
+ ##
315
+ # @return [Hash] The set of parameters that compose the Supporting Documents resource
316
+ def attributes
317
+ @properties['attributes']
318
+ end
319
+
320
+ ##
321
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was created
322
+ def date_created
323
+ @properties['date_created']
324
+ end
325
+
326
+ ##
327
+ # @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
328
+ def date_updated
329
+ @properties['date_updated']
330
+ end
331
+
332
+ ##
333
+ # @return [String] The absolute URL of the Supporting Document resource
334
+ def url
335
+ @properties['url']
336
+ end
337
+
338
+ ##
339
+ # Fetch a SupportingDocumentInstance
340
+ # @return [SupportingDocumentInstance] Fetched SupportingDocumentInstance
341
+ def fetch
342
+ context.fetch
343
+ end
344
+
345
+ ##
346
+ # Update the SupportingDocumentInstance
347
+ # @param [String] friendly_name The string that you assigned to describe the
348
+ # resource.
349
+ # @param [Hash] attributes The set of parameters that are the attributes of the
350
+ # Supporting Document resource which are derived Supporting Document Types.
351
+ # @return [SupportingDocumentInstance] Updated SupportingDocumentInstance
352
+ def update(friendly_name: :unset, attributes: :unset)
353
+ context.update(friendly_name: friendly_name, attributes: attributes, )
354
+ end
355
+
356
+ ##
357
+ # Provide a user friendly representation
358
+ def to_s
359
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
360
+ "<Twilio.Numbers.V2.SupportingDocumentInstance #{values}>"
361
+ end
362
+
363
+ ##
364
+ # Provide a detailed, user friendly representation
365
+ def inspect
366
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
367
+ "<Twilio.Numbers.V2.SupportingDocumentInstance #{values}>"
368
+ end
369
+ end
370
+ end
371
+ end
372
+ end
373
+ end
374
+ end