twilio-ruby 5.32.0 → 5.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +26 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/jwt/task_router.rb +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +22 -3
  6. data/lib/twilio-ruby/rest/authy/v1/service.rb +14 -5
  7. data/lib/twilio-ruby/rest/authy/v1/service/entity/factor/challenge.rb +89 -0
  8. data/lib/twilio-ruby/rest/bulkexports.rb +54 -0
  9. data/lib/twilio-ruby/rest/bulkexports/v1.rb +58 -0
  10. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +254 -0
  11. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +316 -0
  12. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +298 -0
  13. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +253 -0
  14. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +242 -0
  15. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  16. data/lib/twilio-ruby/rest/client.rb +7 -0
  17. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +14 -0
  18. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  19. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +1 -1
  20. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +30 -0
  21. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +247 -0
  22. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +5 -5
  23. data/lib/twilio-ruby/version.rb +1 -1
  24. data/spec/integration/api/v2010/account/sip/domain_spec.rb +8 -4
  25. data/spec/integration/authy/v1/service/entity/factor/challenge_spec.rb +91 -0
  26. data/spec/integration/bulkexports/v1/export/day_spec.rb +117 -0
  27. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +129 -0
  28. data/spec/integration/bulkexports/v1/export/job_spec.rb +80 -0
  29. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +79 -0
  30. data/spec/integration/bulkexports/v1/export_spec.rb +45 -0
  31. data/spec/integration/flex_api/v1/configuration_spec.rb +150 -0
  32. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +3 -4
  33. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +52 -0
  34. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +4 -1
  35. metadata +22 -2
@@ -0,0 +1,316 @@
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 Bulkexports < Domain
12
+ class V1 < Version
13
+ class ExportContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class DayList < ListResource
17
+ ##
18
+ # Initialize the DayList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] resource_type The type of communication – Messages, Calls
21
+ # @return [DayList] DayList
22
+ def initialize(version, resource_type: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {resource_type: resource_type}
27
+ @uri = "/Exports/#{@solution[:resource_type]}/Days"
28
+ end
29
+
30
+ ##
31
+ # Lists DayInstance records from the API as a list.
32
+ # Unlike stream(), this operation is eager and will load `limit` records into
33
+ # memory before returning.
34
+ # @param [String] next_token The next_token
35
+ # @param [String] previous_token The previous_token
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(next_token: :unset, previous_token: :unset, limit: nil, page_size: nil)
44
+ self.stream(
45
+ next_token: next_token,
46
+ previous_token: previous_token,
47
+ limit: limit,
48
+ page_size: page_size
49
+ ).entries
50
+ end
51
+
52
+ ##
53
+ # Streams DayInstance records from the API as an Enumerable.
54
+ # This operation lazily loads records as efficiently as possible until the limit
55
+ # is reached.
56
+ # @param [String] next_token The next_token
57
+ # @param [String] previous_token The previous_token
58
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
59
+ # guarantees to never return more than limit. Default is no limit.
60
+ # @param [Integer] page_size Number of records to fetch per request, when
61
+ # not set will use the default value of 50 records. If no page_size is defined
62
+ # but a limit is defined, stream() will attempt to read the limit with the most
63
+ # efficient page size, i.e. min(limit, 1000)
64
+ # @return [Enumerable] Enumerable that will yield up to limit results
65
+ def stream(next_token: :unset, previous_token: :unset, limit: nil, page_size: nil)
66
+ limits = @version.read_limits(limit, page_size)
67
+
68
+ page = self.page(
69
+ next_token: next_token,
70
+ previous_token: previous_token,
71
+ page_size: limits[:page_size],
72
+ )
73
+
74
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
75
+ end
76
+
77
+ ##
78
+ # When passed a block, yields DayInstance records from the API.
79
+ # This operation lazily loads records as efficiently as possible until the limit
80
+ # is reached.
81
+ def each
82
+ limits = @version.read_limits
83
+
84
+ page = self.page(page_size: limits[:page_size], )
85
+
86
+ @version.stream(page,
87
+ limit: limits[:limit],
88
+ page_limit: limits[:page_limit]).each {|x| yield x}
89
+ end
90
+
91
+ ##
92
+ # Retrieve a single page of DayInstance records from the API.
93
+ # Request is executed immediately.
94
+ # @param [String] next_token The next_token
95
+ # @param [String] previous_token The previous_token
96
+ # @param [String] page_token PageToken provided by the API
97
+ # @param [Integer] page_number Page Number, this value is simply for client state
98
+ # @param [Integer] page_size Number of records to return, defaults to 50
99
+ # @return [Page] Page of DayInstance
100
+ def page(next_token: :unset, previous_token: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
101
+ params = Twilio::Values.of({
102
+ 'NextToken' => next_token,
103
+ 'PreviousToken' => previous_token,
104
+ 'PageToken' => page_token,
105
+ 'Page' => page_number,
106
+ 'PageSize' => page_size,
107
+ })
108
+ response = @version.page(
109
+ 'GET',
110
+ @uri,
111
+ params
112
+ )
113
+ DayPage.new(@version, response, @solution)
114
+ end
115
+
116
+ ##
117
+ # Retrieve a single page of DayInstance records from the API.
118
+ # Request is executed immediately.
119
+ # @param [String] target_url API-generated URL for the requested results page
120
+ # @return [Page] Page of DayInstance
121
+ def get_page(target_url)
122
+ response = @version.domain.request(
123
+ 'GET',
124
+ target_url
125
+ )
126
+ DayPage.new(@version, response, @solution)
127
+ end
128
+
129
+ ##
130
+ # Provide a user friendly representation
131
+ def to_s
132
+ '#<Twilio.Bulkexports.V1.DayList>'
133
+ end
134
+ end
135
+
136
+ ##
137
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
138
+ class DayPage < Page
139
+ ##
140
+ # Initialize the DayPage
141
+ # @param [Version] version Version that contains the resource
142
+ # @param [Response] response Response from the API
143
+ # @param [Hash] solution Path solution for the resource
144
+ # @return [DayPage] DayPage
145
+ def initialize(version, response, solution)
146
+ super(version, response)
147
+
148
+ # Path Solution
149
+ @solution = solution
150
+ end
151
+
152
+ ##
153
+ # Build an instance of DayInstance
154
+ # @param [Hash] payload Payload response from the API
155
+ # @return [DayInstance] DayInstance
156
+ def get_instance(payload)
157
+ DayInstance.new(@version, payload, resource_type: @solution[:resource_type], )
158
+ end
159
+
160
+ ##
161
+ # Provide a user friendly representation
162
+ def to_s
163
+ '<Twilio.Bulkexports.V1.DayPage>'
164
+ end
165
+ end
166
+
167
+ ##
168
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
169
+ class DayContext < InstanceContext
170
+ ##
171
+ # Initialize the DayContext
172
+ # @param [Version] version Version that contains the resource
173
+ # @param [String] resource_type The type of communication – Messages, Calls
174
+ # @param [String] day The ISO 8601 format date of the resources in the file, for a
175
+ # UTC day
176
+ # @return [DayContext] DayContext
177
+ def initialize(version, resource_type, day)
178
+ super(version)
179
+
180
+ # Path Solution
181
+ @solution = {resource_type: resource_type, day: day, }
182
+ @uri = "/Exports/#{@solution[:resource_type]}/Days/#{@solution[:day]}"
183
+ end
184
+
185
+ ##
186
+ # Fetch a DayInstance
187
+ # @return [DayInstance] Fetched DayInstance
188
+ def fetch
189
+ params = Twilio::Values.of({})
190
+
191
+ payload = @version.fetch(
192
+ 'GET',
193
+ @uri,
194
+ params,
195
+ )
196
+
197
+ DayInstance.new(@version, payload, resource_type: @solution[:resource_type], day: @solution[:day], )
198
+ end
199
+
200
+ ##
201
+ # Provide a user friendly representation
202
+ def to_s
203
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
204
+ "#<Twilio.Bulkexports.V1.DayContext #{context}>"
205
+ end
206
+
207
+ ##
208
+ # Provide a detailed, user friendly representation
209
+ def inspect
210
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
211
+ "#<Twilio.Bulkexports.V1.DayContext #{context}>"
212
+ end
213
+ end
214
+
215
+ ##
216
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
217
+ class DayInstance < InstanceResource
218
+ ##
219
+ # Initialize the DayInstance
220
+ # @param [Version] version Version that contains the resource
221
+ # @param [Hash] payload payload that contains response from Twilio
222
+ # @param [String] resource_type The type of communication – Messages, Calls
223
+ # @param [String] day The ISO 8601 format date of the resources in the file, for a
224
+ # UTC day
225
+ # @return [DayInstance] DayInstance
226
+ def initialize(version, payload, resource_type: nil, day: nil)
227
+ super(version)
228
+
229
+ # Marshaled Properties
230
+ @properties = {
231
+ 'redirect_to' => payload['redirect_to'],
232
+ 'day' => payload['day'],
233
+ 'size' => payload['size'].to_i,
234
+ 'create_date' => payload['create_date'],
235
+ 'friendly_name' => payload['friendly_name'],
236
+ 'resource_type' => payload['resource_type'],
237
+ }
238
+
239
+ # Context
240
+ @instance_context = nil
241
+ @params = {'resource_type' => resource_type, 'day' => day || @properties['day'], }
242
+ end
243
+
244
+ ##
245
+ # Generate an instance context for the instance, the context is capable of
246
+ # performing various actions. All instance actions are proxied to the context
247
+ # @return [DayContext] DayContext for this DayInstance
248
+ def context
249
+ unless @instance_context
250
+ @instance_context = DayContext.new(@version, @params['resource_type'], @params['day'], )
251
+ end
252
+ @instance_context
253
+ end
254
+
255
+ ##
256
+ # @return [String] The redirect_to
257
+ def redirect_to
258
+ @properties['redirect_to']
259
+ end
260
+
261
+ ##
262
+ # @return [String] The date of the data in the file
263
+ def day
264
+ @properties['day']
265
+ end
266
+
267
+ ##
268
+ # @return [String] Size of the file in bytes
269
+ def size
270
+ @properties['size']
271
+ end
272
+
273
+ ##
274
+ # @return [String] The date when resource is created
275
+ def create_date
276
+ @properties['create_date']
277
+ end
278
+
279
+ ##
280
+ # @return [String] The friendly name specified when creating the job
281
+ def friendly_name
282
+ @properties['friendly_name']
283
+ end
284
+
285
+ ##
286
+ # @return [String] The type of communication – Messages, Calls
287
+ def resource_type
288
+ @properties['resource_type']
289
+ end
290
+
291
+ ##
292
+ # Fetch a DayInstance
293
+ # @return [DayInstance] Fetched DayInstance
294
+ def fetch
295
+ context.fetch
296
+ end
297
+
298
+ ##
299
+ # Provide a user friendly representation
300
+ def to_s
301
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
302
+ "<Twilio.Bulkexports.V1.DayInstance #{values}>"
303
+ end
304
+
305
+ ##
306
+ # Provide a detailed, user friendly representation
307
+ def inspect
308
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
309
+ "<Twilio.Bulkexports.V1.DayInstance #{values}>"
310
+ end
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end
316
+ end
@@ -0,0 +1,298 @@
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 Bulkexports < Domain
12
+ class V1 < Version
13
+ class ExportContext < InstanceContext
14
+ ##
15
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
16
+ class ExportCustomJobList < ListResource
17
+ ##
18
+ # Initialize the ExportCustomJobList
19
+ # @param [Version] version Version that contains the resource
20
+ # @param [String] resource_type The type of communication – Messages, Calls
21
+ # @return [ExportCustomJobList] ExportCustomJobList
22
+ def initialize(version, resource_type: nil)
23
+ super(version)
24
+
25
+ # Path Solution
26
+ @solution = {resource_type: resource_type}
27
+ @uri = "/Exports/#{@solution[:resource_type]}/Jobs"
28
+ end
29
+
30
+ ##
31
+ # Lists ExportCustomJobInstance records from the API as a list.
32
+ # Unlike stream(), this operation is eager and will load `limit` records into
33
+ # memory before returning.
34
+ # @param [String] next_token The token for the next page of job results, and may
35
+ # be null if there are no more pages
36
+ # @param [String] previous_token The token for the previous page of results, and
37
+ # may be null if this is the first page
38
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
39
+ # guarantees to never return more than limit. Default is no limit
40
+ # @param [Integer] page_size Number of records to fetch per request, when
41
+ # not set will use the default value of 50 records. If no page_size is defined
42
+ # but a limit is defined, stream() will attempt to read the limit with the most
43
+ # efficient page size, i.e. min(limit, 1000)
44
+ # @return [Array] Array of up to limit results
45
+ def list(next_token: :unset, previous_token: :unset, limit: nil, page_size: nil)
46
+ self.stream(
47
+ next_token: next_token,
48
+ previous_token: previous_token,
49
+ limit: limit,
50
+ page_size: page_size
51
+ ).entries
52
+ end
53
+
54
+ ##
55
+ # Streams ExportCustomJobInstance records from the API as an Enumerable.
56
+ # This operation lazily loads records as efficiently as possible until the limit
57
+ # is reached.
58
+ # @param [String] next_token The token for the next page of job results, and may
59
+ # be null if there are no more pages
60
+ # @param [String] previous_token The token for the previous page of results, and
61
+ # may be null if this is the first page
62
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
63
+ # guarantees to never return more than limit. Default is no limit.
64
+ # @param [Integer] page_size Number of records to fetch per request, when
65
+ # not set will use the default value of 50 records. If no page_size is defined
66
+ # but a limit is defined, stream() will attempt to read the limit with the most
67
+ # efficient page size, i.e. min(limit, 1000)
68
+ # @return [Enumerable] Enumerable that will yield up to limit results
69
+ def stream(next_token: :unset, previous_token: :unset, limit: nil, page_size: nil)
70
+ limits = @version.read_limits(limit, page_size)
71
+
72
+ page = self.page(
73
+ next_token: next_token,
74
+ previous_token: previous_token,
75
+ page_size: limits[:page_size],
76
+ )
77
+
78
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
79
+ end
80
+
81
+ ##
82
+ # When passed a block, yields ExportCustomJobInstance records from the API.
83
+ # This operation lazily loads records as efficiently as possible until the limit
84
+ # is reached.
85
+ def each
86
+ limits = @version.read_limits
87
+
88
+ page = self.page(page_size: limits[:page_size], )
89
+
90
+ @version.stream(page,
91
+ limit: limits[:limit],
92
+ page_limit: limits[:page_limit]).each {|x| yield x}
93
+ end
94
+
95
+ ##
96
+ # Retrieve a single page of ExportCustomJobInstance records from the API.
97
+ # Request is executed immediately.
98
+ # @param [String] next_token The token for the next page of job results, and may
99
+ # be null if there are no more pages
100
+ # @param [String] previous_token The token for the previous page of results, and
101
+ # may be null if this is the first page
102
+ # @param [String] page_token PageToken provided by the API
103
+ # @param [Integer] page_number Page Number, this value is simply for client state
104
+ # @param [Integer] page_size Number of records to return, defaults to 50
105
+ # @return [Page] Page of ExportCustomJobInstance
106
+ def page(next_token: :unset, previous_token: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
107
+ params = Twilio::Values.of({
108
+ 'NextToken' => next_token,
109
+ 'PreviousToken' => previous_token,
110
+ 'PageToken' => page_token,
111
+ 'Page' => page_number,
112
+ 'PageSize' => page_size,
113
+ })
114
+ response = @version.page(
115
+ 'GET',
116
+ @uri,
117
+ params
118
+ )
119
+ ExportCustomJobPage.new(@version, response, @solution)
120
+ end
121
+
122
+ ##
123
+ # Retrieve a single page of ExportCustomJobInstance records from the API.
124
+ # Request is executed immediately.
125
+ # @param [String] target_url API-generated URL for the requested results page
126
+ # @return [Page] Page of ExportCustomJobInstance
127
+ def get_page(target_url)
128
+ response = @version.domain.request(
129
+ 'GET',
130
+ target_url
131
+ )
132
+ ExportCustomJobPage.new(@version, response, @solution)
133
+ end
134
+
135
+ ##
136
+ # Retrieve a single page of ExportCustomJobInstance records from the API.
137
+ # Request is executed immediately.
138
+ # @param [String] friendly_name The friendly_name
139
+ # @param [String] start_day The start_day
140
+ # @param [String] end_day The end_day
141
+ # @param [String] webhook_url The webhook_url
142
+ # @param [String] webhook_method The webhook_method
143
+ # @param [String] email The email
144
+ # @return [ExportCustomJobInstance] Newly created ExportCustomJobInstance
145
+ def create(friendly_name: :unset, start_day: :unset, end_day: :unset, webhook_url: :unset, webhook_method: :unset, email: :unset)
146
+ data = Twilio::Values.of({
147
+ 'FriendlyName' => friendly_name,
148
+ 'StartDay' => start_day,
149
+ 'EndDay' => end_day,
150
+ 'WebhookUrl' => webhook_url,
151
+ 'WebhookMethod' => webhook_method,
152
+ 'Email' => email,
153
+ })
154
+
155
+ payload = @version.create(
156
+ 'POST',
157
+ @uri,
158
+ data: data
159
+ )
160
+
161
+ ExportCustomJobInstance.new(@version, payload, resource_type: @solution[:resource_type], )
162
+ end
163
+
164
+ ##
165
+ # Provide a user friendly representation
166
+ def to_s
167
+ '#<Twilio.Bulkexports.V1.ExportCustomJobList>'
168
+ end
169
+ end
170
+
171
+ ##
172
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
173
+ class ExportCustomJobPage < Page
174
+ ##
175
+ # Initialize the ExportCustomJobPage
176
+ # @param [Version] version Version that contains the resource
177
+ # @param [Response] response Response from the API
178
+ # @param [Hash] solution Path solution for the resource
179
+ # @return [ExportCustomJobPage] ExportCustomJobPage
180
+ def initialize(version, response, solution)
181
+ super(version, response)
182
+
183
+ # Path Solution
184
+ @solution = solution
185
+ end
186
+
187
+ ##
188
+ # Build an instance of ExportCustomJobInstance
189
+ # @param [Hash] payload Payload response from the API
190
+ # @return [ExportCustomJobInstance] ExportCustomJobInstance
191
+ def get_instance(payload)
192
+ ExportCustomJobInstance.new(@version, payload, resource_type: @solution[:resource_type], )
193
+ end
194
+
195
+ ##
196
+ # Provide a user friendly representation
197
+ def to_s
198
+ '<Twilio.Bulkexports.V1.ExportCustomJobPage>'
199
+ end
200
+ end
201
+
202
+ ##
203
+ # PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
204
+ class ExportCustomJobInstance < InstanceResource
205
+ ##
206
+ # Initialize the ExportCustomJobInstance
207
+ # @param [Version] version Version that contains the resource
208
+ # @param [Hash] payload payload that contains response from Twilio
209
+ # @param [String] resource_type The type of communication – Messages, Calls
210
+ # @return [ExportCustomJobInstance] ExportCustomJobInstance
211
+ def initialize(version, payload, resource_type: nil)
212
+ super(version)
213
+
214
+ # Marshaled Properties
215
+ @properties = {
216
+ 'friendly_name' => payload['friendly_name'],
217
+ 'resource_type' => payload['resource_type'],
218
+ 'start_day' => payload['start_day'],
219
+ 'end_day' => payload['end_day'],
220
+ 'webhook_url' => payload['webhook_url'],
221
+ 'webhook_method' => payload['webhook_method'],
222
+ 'email' => payload['email'],
223
+ 'job_sid' => payload['job_sid'],
224
+ 'details' => payload['details'],
225
+ }
226
+ end
227
+
228
+ ##
229
+ # @return [String] The friendly name specified when creating the job
230
+ def friendly_name
231
+ @properties['friendly_name']
232
+ end
233
+
234
+ ##
235
+ # @return [String] The type of communication – Messages, Calls
236
+ def resource_type
237
+ @properties['resource_type']
238
+ end
239
+
240
+ ##
241
+ # @return [String] The start time for the export specified when creating the job
242
+ def start_day
243
+ @properties['start_day']
244
+ end
245
+
246
+ ##
247
+ # @return [String] The end time for the export specified when creating the job
248
+ def end_day
249
+ @properties['end_day']
250
+ end
251
+
252
+ ##
253
+ # @return [String] The optional webhook url called on completion
254
+ def webhook_url
255
+ @properties['webhook_url']
256
+ end
257
+
258
+ ##
259
+ # @return [String] This is the method used to call the webhook
260
+ def webhook_method
261
+ @properties['webhook_method']
262
+ end
263
+
264
+ ##
265
+ # @return [String] The optional email to send the completion notification to
266
+ def email
267
+ @properties['email']
268
+ end
269
+
270
+ ##
271
+ # @return [String] The job_sid returned when the export was created
272
+ def job_sid
273
+ @properties['job_sid']
274
+ end
275
+
276
+ ##
277
+ # @return [Hash] The details
278
+ def details
279
+ @properties['details']
280
+ end
281
+
282
+ ##
283
+ # Provide a user friendly representation
284
+ def to_s
285
+ "<Twilio.Bulkexports.V1.ExportCustomJobInstance>"
286
+ end
287
+
288
+ ##
289
+ # Provide a detailed, user friendly representation
290
+ def inspect
291
+ "<Twilio.Bulkexports.V1.ExportCustomJobInstance>"
292
+ end
293
+ end
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end