twilio-ruby 5.53.0 → 5.56.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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +7 -7
- data/.travis.yml +2 -2
- data/CHANGES.md +62 -0
- data/README.md +10 -2
- data/lib/twilio-ruby.rb +5 -15
- data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
- data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
- data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
- data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
- data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
- data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
- data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
- data/lib/twilio-ruby/http.rb +5 -0
- data/lib/twilio-ruby/http/http_client.rb +11 -1
- data/lib/twilio-ruby/rest.rb +13 -0
- data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +8 -7
- data/lib/twilio-ruby/rest/api/v2010/account/message.rb +2 -2
- data/lib/twilio-ruby/rest/client.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
- data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
- data/lib/twilio-ruby/rest/events/v1/sink.rb +19 -5
- data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
- data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
- data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
- data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
- data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +7 -0
- data/lib/twilio-ruby/rest/messaging/v1/service.rb +8 -2
- data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +175 -15
- data/lib/twilio-ruby/rest/supersim/v1/sim.rb +30 -1
- data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +15 -6
- data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +6 -7
- data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +8 -8
- data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
- data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
- data/lib/twilio-ruby/version.rb +1 -1
- metadata +15 -9
@@ -94,6 +94,7 @@ module Twilio
|
|
94
94
|
|
95
95
|
# Marshaled Properties
|
96
96
|
@properties = {
|
97
|
+
'sid' => payload['sid'],
|
97
98
|
'account_sid' => payload['account_sid'],
|
98
99
|
'campaign_id' => payload['campaign_id'],
|
99
100
|
'messaging_service_sid' => payload['messaging_service_sid'],
|
@@ -101,6 +102,12 @@ module Twilio
|
|
101
102
|
}
|
102
103
|
end
|
103
104
|
|
105
|
+
##
|
106
|
+
# @return [String] The unique string that identifies a US A2P Compliance resource
|
107
|
+
def sid
|
108
|
+
@properties['sid']
|
109
|
+
end
|
110
|
+
|
104
111
|
##
|
105
112
|
# @return [String] The SID of the Account that created the resource
|
106
113
|
def account_sid
|
@@ -385,8 +385,14 @@ module Twilio
|
|
385
385
|
##
|
386
386
|
# Access the us_app_to_person
|
387
387
|
# @return [UsAppToPersonList]
|
388
|
-
# @return [UsAppToPersonContext]
|
389
|
-
def us_app_to_person
|
388
|
+
# @return [UsAppToPersonContext] if sid was passed.
|
389
|
+
def us_app_to_person(sid=:unset)
|
390
|
+
raise ArgumentError, 'sid cannot be nil' if sid.nil?
|
391
|
+
|
392
|
+
if sid != :unset
|
393
|
+
return UsAppToPersonContext.new(@version, @solution[:sid], sid, )
|
394
|
+
end
|
395
|
+
|
390
396
|
unless @us_app_to_person
|
391
397
|
@us_app_to_person = UsAppToPersonList.new(@version, messaging_service_sid: @solution[:sid], )
|
392
398
|
end
|
@@ -62,23 +62,83 @@ module Twilio
|
|
62
62
|
end
|
63
63
|
|
64
64
|
##
|
65
|
-
#
|
66
|
-
#
|
67
|
-
|
68
|
-
|
65
|
+
# Lists UsAppToPersonInstance records from the API as a list.
|
66
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
67
|
+
# memory before returning.
|
68
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
69
|
+
# guarantees to never return more than limit. Default is no limit
|
70
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
71
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
72
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
73
|
+
# efficient page size, i.e. min(limit, 1000)
|
74
|
+
# @return [Array] Array of up to limit results
|
75
|
+
def list(limit: nil, page_size: nil)
|
76
|
+
self.stream(limit: limit, page_size: page_size).entries
|
69
77
|
end
|
70
78
|
|
71
79
|
##
|
72
|
-
#
|
73
|
-
#
|
74
|
-
|
75
|
-
|
80
|
+
# Streams UsAppToPersonInstance records from the API as an Enumerable.
|
81
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
82
|
+
# is reached.
|
83
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
84
|
+
# guarantees to never return more than limit. Default is no limit.
|
85
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
86
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
87
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
88
|
+
# efficient page size, i.e. min(limit, 1000)
|
89
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
90
|
+
def stream(limit: nil, page_size: nil)
|
91
|
+
limits = @version.read_limits(limit, page_size)
|
92
|
+
|
93
|
+
page = self.page(page_size: limits[:page_size], )
|
94
|
+
|
95
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
96
|
+
end
|
76
97
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
98
|
+
##
|
99
|
+
# When passed a block, yields UsAppToPersonInstance records from the API.
|
100
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
101
|
+
# is reached.
|
102
|
+
def each
|
103
|
+
limits = @version.read_limits
|
104
|
+
|
105
|
+
page = self.page(page_size: limits[:page_size], )
|
106
|
+
|
107
|
+
@version.stream(page,
|
108
|
+
limit: limits[:limit],
|
109
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
110
|
+
end
|
111
|
+
|
112
|
+
##
|
113
|
+
# Retrieve a single page of UsAppToPersonInstance records from the API.
|
114
|
+
# Request is executed immediately.
|
115
|
+
# @param [String] page_token PageToken provided by the API
|
116
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
117
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
118
|
+
# @return [Page] Page of UsAppToPersonInstance
|
119
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
120
|
+
params = Twilio::Values.of({
|
121
|
+
'PageToken' => page_token,
|
122
|
+
'Page' => page_number,
|
123
|
+
'PageSize' => page_size,
|
124
|
+
})
|
125
|
+
|
126
|
+
response = @version.page('GET', @uri, params: params)
|
127
|
+
|
128
|
+
UsAppToPersonPage.new(@version, response, @solution)
|
129
|
+
end
|
130
|
+
|
131
|
+
##
|
132
|
+
# Retrieve a single page of UsAppToPersonInstance records from the API.
|
133
|
+
# Request is executed immediately.
|
134
|
+
# @param [String] target_url API-generated URL for the requested results page
|
135
|
+
# @return [Page] Page of UsAppToPersonInstance
|
136
|
+
def get_page(target_url)
|
137
|
+
response = @version.domain.request(
|
138
|
+
'GET',
|
139
|
+
target_url
|
81
140
|
)
|
141
|
+
UsAppToPersonPage.new(@version, response, @solution)
|
82
142
|
end
|
83
143
|
|
84
144
|
##
|
@@ -123,6 +183,62 @@ module Twilio
|
|
123
183
|
end
|
124
184
|
end
|
125
185
|
|
186
|
+
##
|
187
|
+
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
188
|
+
class UsAppToPersonContext < InstanceContext
|
189
|
+
##
|
190
|
+
# Initialize the UsAppToPersonContext
|
191
|
+
# @param [Version] version Version that contains the resource
|
192
|
+
# @param [String] messaging_service_sid The SID of the {Messaging
|
193
|
+
# Service}[https://www.twilio.com/docs/messaging/services/api] to fetch the
|
194
|
+
# resource from.
|
195
|
+
# @param [String] sid The SID of the US A2P Compliance resource to fetch
|
196
|
+
# `QE2c6890da8086d771620e9b13fadeba0b`.
|
197
|
+
# @return [UsAppToPersonContext] UsAppToPersonContext
|
198
|
+
def initialize(version, messaging_service_sid, sid)
|
199
|
+
super(version)
|
200
|
+
|
201
|
+
# Path Solution
|
202
|
+
@solution = {messaging_service_sid: messaging_service_sid, sid: sid, }
|
203
|
+
@uri = "/Services/#{@solution[:messaging_service_sid]}/Compliance/Usa2p/#{@solution[:sid]}"
|
204
|
+
end
|
205
|
+
|
206
|
+
##
|
207
|
+
# Delete the UsAppToPersonInstance
|
208
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
209
|
+
def delete
|
210
|
+
@version.delete('DELETE', @uri)
|
211
|
+
end
|
212
|
+
|
213
|
+
##
|
214
|
+
# Fetch the UsAppToPersonInstance
|
215
|
+
# @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
|
216
|
+
def fetch
|
217
|
+
payload = @version.fetch('GET', @uri)
|
218
|
+
|
219
|
+
UsAppToPersonInstance.new(
|
220
|
+
@version,
|
221
|
+
payload,
|
222
|
+
messaging_service_sid: @solution[:messaging_service_sid],
|
223
|
+
sid: @solution[:sid],
|
224
|
+
)
|
225
|
+
end
|
226
|
+
|
227
|
+
##
|
228
|
+
# Provide a user friendly representation
|
229
|
+
def to_s
|
230
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
231
|
+
"#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
|
232
|
+
end
|
233
|
+
|
234
|
+
##
|
235
|
+
# Provide a detailed, user friendly representation
|
236
|
+
def inspect
|
237
|
+
context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
|
238
|
+
"#<Twilio.Messaging.V1.UsAppToPersonContext #{context}>"
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
126
242
|
##
|
127
243
|
# PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
|
128
244
|
class UsAppToPersonInstance < InstanceResource
|
@@ -133,12 +249,15 @@ module Twilio
|
|
133
249
|
# @param [String] messaging_service_sid The SID of the {Messaging
|
134
250
|
# Service}[https://www.twilio.com/docs/messaging/services/api] that the resource
|
135
251
|
# is associated with.
|
252
|
+
# @param [String] sid The SID of the US A2P Compliance resource to fetch
|
253
|
+
# `QE2c6890da8086d771620e9b13fadeba0b`.
|
136
254
|
# @return [UsAppToPersonInstance] UsAppToPersonInstance
|
137
|
-
def initialize(version, payload, messaging_service_sid: nil)
|
255
|
+
def initialize(version, payload, messaging_service_sid: nil, sid: nil)
|
138
256
|
super(version)
|
139
257
|
|
140
258
|
# Marshaled Properties
|
141
259
|
@properties = {
|
260
|
+
'sid' => payload['sid'],
|
142
261
|
'account_sid' => payload['account_sid'],
|
143
262
|
'brand_registration_sid' => payload['brand_registration_sid'],
|
144
263
|
'messaging_service_sid' => payload['messaging_service_sid'],
|
@@ -155,6 +274,31 @@ module Twilio
|
|
155
274
|
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
156
275
|
'url' => payload['url'],
|
157
276
|
}
|
277
|
+
|
278
|
+
# Context
|
279
|
+
@instance_context = nil
|
280
|
+
@params = {'messaging_service_sid' => messaging_service_sid, 'sid' => sid || @properties['sid'], }
|
281
|
+
end
|
282
|
+
|
283
|
+
##
|
284
|
+
# Generate an instance context for the instance, the context is capable of
|
285
|
+
# performing various actions. All instance actions are proxied to the context
|
286
|
+
# @return [UsAppToPersonContext] UsAppToPersonContext for this UsAppToPersonInstance
|
287
|
+
def context
|
288
|
+
unless @instance_context
|
289
|
+
@instance_context = UsAppToPersonContext.new(
|
290
|
+
@version,
|
291
|
+
@params['messaging_service_sid'],
|
292
|
+
@params['sid'],
|
293
|
+
)
|
294
|
+
end
|
295
|
+
@instance_context
|
296
|
+
end
|
297
|
+
|
298
|
+
##
|
299
|
+
# @return [String] The unique string that identifies a US A2P Compliance resource
|
300
|
+
def sid
|
301
|
+
@properties['sid']
|
158
302
|
end
|
159
303
|
|
160
304
|
##
|
@@ -247,16 +391,32 @@ module Twilio
|
|
247
391
|
@properties['url']
|
248
392
|
end
|
249
393
|
|
394
|
+
##
|
395
|
+
# Delete the UsAppToPersonInstance
|
396
|
+
# @return [Boolean] true if delete succeeds, false otherwise
|
397
|
+
def delete
|
398
|
+
context.delete
|
399
|
+
end
|
400
|
+
|
401
|
+
##
|
402
|
+
# Fetch the UsAppToPersonInstance
|
403
|
+
# @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
|
404
|
+
def fetch
|
405
|
+
context.fetch
|
406
|
+
end
|
407
|
+
|
250
408
|
##
|
251
409
|
# Provide a user friendly representation
|
252
410
|
def to_s
|
253
|
-
"
|
411
|
+
values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
|
412
|
+
"<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
|
254
413
|
end
|
255
414
|
|
256
415
|
##
|
257
416
|
# Provide a detailed, user friendly representation
|
258
417
|
def inspect
|
259
|
-
"
|
418
|
+
values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
|
419
|
+
"<Twilio.Messaging.V1.UsAppToPersonInstance #{values}>"
|
260
420
|
end
|
261
421
|
end
|
262
422
|
end
|
@@ -30,7 +30,7 @@ module Twilio
|
|
30
30
|
# @param [String] iccid The
|
31
31
|
# {ICCID}[https://en.wikipedia.org/wiki/Subscriber_identity_module#ICCID] of the
|
32
32
|
# Super SIM to be added to your Account.
|
33
|
-
# @param [String] registration_code The 10
|
33
|
+
# @param [String] registration_code The 10-digit code required to claim the Super
|
34
34
|
# SIM for your Account.
|
35
35
|
# @return [SimInstance] Created SimInstance
|
36
36
|
def create(iccid: nil, registration_code: nil)
|
@@ -200,6 +200,9 @@ module Twilio
|
|
200
200
|
# Path Solution
|
201
201
|
@solution = {sid: sid, }
|
202
202
|
@uri = "/Sims/#{@solution[:sid]}"
|
203
|
+
|
204
|
+
# Dependents
|
205
|
+
@billing_periods = nil
|
203
206
|
end
|
204
207
|
|
205
208
|
##
|
@@ -246,6 +249,18 @@ module Twilio
|
|
246
249
|
SimInstance.new(@version, payload, sid: @solution[:sid], )
|
247
250
|
end
|
248
251
|
|
252
|
+
##
|
253
|
+
# Access the billing_periods
|
254
|
+
# @return [BillingPeriodList]
|
255
|
+
# @return [BillingPeriodContext]
|
256
|
+
def billing_periods
|
257
|
+
unless @billing_periods
|
258
|
+
@billing_periods = BillingPeriodList.new(@version, sim_sid: @solution[:sid], )
|
259
|
+
end
|
260
|
+
|
261
|
+
@billing_periods
|
262
|
+
end
|
263
|
+
|
249
264
|
##
|
250
265
|
# Provide a user friendly representation
|
251
266
|
def to_s
|
@@ -284,6 +299,7 @@ module Twilio
|
|
284
299
|
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
285
300
|
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
286
301
|
'url' => payload['url'],
|
302
|
+
'links' => payload['links'],
|
287
303
|
}
|
288
304
|
|
289
305
|
# Context
|
@@ -356,6 +372,12 @@ module Twilio
|
|
356
372
|
@properties['url']
|
357
373
|
end
|
358
374
|
|
375
|
+
##
|
376
|
+
# @return [String] The links
|
377
|
+
def links
|
378
|
+
@properties['links']
|
379
|
+
end
|
380
|
+
|
359
381
|
##
|
360
382
|
# Fetch the SimInstance
|
361
383
|
# @return [SimInstance] Fetched SimInstance
|
@@ -394,6 +416,13 @@ module Twilio
|
|
394
416
|
)
|
395
417
|
end
|
396
418
|
|
419
|
+
##
|
420
|
+
# Access the billing_periods
|
421
|
+
# @return [billing_periods] billing_periods
|
422
|
+
def billing_periods
|
423
|
+
context.billing_periods
|
424
|
+
end
|
425
|
+
|
397
426
|
##
|
398
427
|
# Provide a user friendly representation
|
399
428
|
def to_s
|
@@ -0,0 +1,231 @@
|
|
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 Supersim < Domain
|
12
|
+
class V1 < Version
|
13
|
+
class SimContext < InstanceContext
|
14
|
+
class BillingPeriodList < ListResource
|
15
|
+
##
|
16
|
+
# Initialize the BillingPeriodList
|
17
|
+
# @param [Version] version Version that contains the resource
|
18
|
+
# @param [String] sim_sid The SID of the Super SIM the Billing Period belongs to.
|
19
|
+
# @return [BillingPeriodList] BillingPeriodList
|
20
|
+
def initialize(version, sim_sid: nil)
|
21
|
+
super(version)
|
22
|
+
|
23
|
+
# Path Solution
|
24
|
+
@solution = {sim_sid: sim_sid}
|
25
|
+
@uri = "/Sims/#{@solution[:sim_sid]}/BillingPeriods"
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Lists BillingPeriodInstance records from the API as a list.
|
30
|
+
# Unlike stream(), this operation is eager and will load `limit` records into
|
31
|
+
# memory before returning.
|
32
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
33
|
+
# guarantees to never return more than limit. Default is no limit
|
34
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
35
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
36
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
37
|
+
# efficient page size, i.e. min(limit, 1000)
|
38
|
+
# @return [Array] Array of up to limit results
|
39
|
+
def list(limit: nil, page_size: nil)
|
40
|
+
self.stream(limit: limit, page_size: page_size).entries
|
41
|
+
end
|
42
|
+
|
43
|
+
##
|
44
|
+
# Streams BillingPeriodInstance records from the API as an Enumerable.
|
45
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
46
|
+
# is reached.
|
47
|
+
# @param [Integer] limit Upper limit for the number of records to return. stream()
|
48
|
+
# guarantees to never return more than limit. Default is no limit.
|
49
|
+
# @param [Integer] page_size Number of records to fetch per request, when
|
50
|
+
# not set will use the default value of 50 records. If no page_size is defined
|
51
|
+
# but a limit is defined, stream() will attempt to read the limit with the most
|
52
|
+
# efficient page size, i.e. min(limit, 1000)
|
53
|
+
# @return [Enumerable] Enumerable that will yield up to limit results
|
54
|
+
def stream(limit: nil, page_size: nil)
|
55
|
+
limits = @version.read_limits(limit, page_size)
|
56
|
+
|
57
|
+
page = self.page(page_size: limits[:page_size], )
|
58
|
+
|
59
|
+
@version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
|
60
|
+
end
|
61
|
+
|
62
|
+
##
|
63
|
+
# When passed a block, yields BillingPeriodInstance records from the API.
|
64
|
+
# This operation lazily loads records as efficiently as possible until the limit
|
65
|
+
# is reached.
|
66
|
+
def each
|
67
|
+
limits = @version.read_limits
|
68
|
+
|
69
|
+
page = self.page(page_size: limits[:page_size], )
|
70
|
+
|
71
|
+
@version.stream(page,
|
72
|
+
limit: limits[:limit],
|
73
|
+
page_limit: limits[:page_limit]).each {|x| yield x}
|
74
|
+
end
|
75
|
+
|
76
|
+
##
|
77
|
+
# Retrieve a single page of BillingPeriodInstance records from the API.
|
78
|
+
# Request is executed immediately.
|
79
|
+
# @param [String] page_token PageToken provided by the API
|
80
|
+
# @param [Integer] page_number Page Number, this value is simply for client state
|
81
|
+
# @param [Integer] page_size Number of records to return, defaults to 50
|
82
|
+
# @return [Page] Page of BillingPeriodInstance
|
83
|
+
def page(page_token: :unset, page_number: :unset, page_size: :unset)
|
84
|
+
params = Twilio::Values.of({
|
85
|
+
'PageToken' => page_token,
|
86
|
+
'Page' => page_number,
|
87
|
+
'PageSize' => page_size,
|
88
|
+
})
|
89
|
+
|
90
|
+
response = @version.page('GET', @uri, params: params)
|
91
|
+
|
92
|
+
BillingPeriodPage.new(@version, response, @solution)
|
93
|
+
end
|
94
|
+
|
95
|
+
##
|
96
|
+
# Retrieve a single page of BillingPeriodInstance records from the API.
|
97
|
+
# Request is executed immediately.
|
98
|
+
# @param [String] target_url API-generated URL for the requested results page
|
99
|
+
# @return [Page] Page of BillingPeriodInstance
|
100
|
+
def get_page(target_url)
|
101
|
+
response = @version.domain.request(
|
102
|
+
'GET',
|
103
|
+
target_url
|
104
|
+
)
|
105
|
+
BillingPeriodPage.new(@version, response, @solution)
|
106
|
+
end
|
107
|
+
|
108
|
+
##
|
109
|
+
# Provide a user friendly representation
|
110
|
+
def to_s
|
111
|
+
'#<Twilio.Supersim.V1.BillingPeriodList>'
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
class BillingPeriodPage < Page
|
116
|
+
##
|
117
|
+
# Initialize the BillingPeriodPage
|
118
|
+
# @param [Version] version Version that contains the resource
|
119
|
+
# @param [Response] response Response from the API
|
120
|
+
# @param [Hash] solution Path solution for the resource
|
121
|
+
# @return [BillingPeriodPage] BillingPeriodPage
|
122
|
+
def initialize(version, response, solution)
|
123
|
+
super(version, response)
|
124
|
+
|
125
|
+
# Path Solution
|
126
|
+
@solution = solution
|
127
|
+
end
|
128
|
+
|
129
|
+
##
|
130
|
+
# Build an instance of BillingPeriodInstance
|
131
|
+
# @param [Hash] payload Payload response from the API
|
132
|
+
# @return [BillingPeriodInstance] BillingPeriodInstance
|
133
|
+
def get_instance(payload)
|
134
|
+
BillingPeriodInstance.new(@version, payload, sim_sid: @solution[:sim_sid], )
|
135
|
+
end
|
136
|
+
|
137
|
+
##
|
138
|
+
# Provide a user friendly representation
|
139
|
+
def to_s
|
140
|
+
'<Twilio.Supersim.V1.BillingPeriodPage>'
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
class BillingPeriodInstance < InstanceResource
|
145
|
+
##
|
146
|
+
# Initialize the BillingPeriodInstance
|
147
|
+
# @param [Version] version Version that contains the resource
|
148
|
+
# @param [Hash] payload payload that contains response from Twilio
|
149
|
+
# @param [String] sim_sid The SID of the Super SIM the Billing Period belongs to.
|
150
|
+
# @return [BillingPeriodInstance] BillingPeriodInstance
|
151
|
+
def initialize(version, payload, sim_sid: nil)
|
152
|
+
super(version)
|
153
|
+
|
154
|
+
# Marshaled Properties
|
155
|
+
@properties = {
|
156
|
+
'sid' => payload['sid'],
|
157
|
+
'account_sid' => payload['account_sid'],
|
158
|
+
'sim_sid' => payload['sim_sid'],
|
159
|
+
'start_time' => Twilio.deserialize_iso8601_datetime(payload['start_time']),
|
160
|
+
'end_time' => Twilio.deserialize_iso8601_datetime(payload['end_time']),
|
161
|
+
'period_type' => payload['period_type'],
|
162
|
+
'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
|
163
|
+
'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
|
164
|
+
}
|
165
|
+
end
|
166
|
+
|
167
|
+
##
|
168
|
+
# @return [String] The SID of the Billing Period
|
169
|
+
def sid
|
170
|
+
@properties['sid']
|
171
|
+
end
|
172
|
+
|
173
|
+
##
|
174
|
+
# @return [String] The SID of the Account the Super SIM belongs to
|
175
|
+
def account_sid
|
176
|
+
@properties['account_sid']
|
177
|
+
end
|
178
|
+
|
179
|
+
##
|
180
|
+
# @return [String] The SID of the Super SIM the Billing Period belongs to
|
181
|
+
def sim_sid
|
182
|
+
@properties['sim_sid']
|
183
|
+
end
|
184
|
+
|
185
|
+
##
|
186
|
+
# @return [Time] The start time of the Billing Period
|
187
|
+
def start_time
|
188
|
+
@properties['start_time']
|
189
|
+
end
|
190
|
+
|
191
|
+
##
|
192
|
+
# @return [Time] The end time of the Billing Period
|
193
|
+
def end_time
|
194
|
+
@properties['end_time']
|
195
|
+
end
|
196
|
+
|
197
|
+
##
|
198
|
+
# @return [billing_period.BpType] The type of the Billing Period
|
199
|
+
def period_type
|
200
|
+
@properties['period_type']
|
201
|
+
end
|
202
|
+
|
203
|
+
##
|
204
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was created
|
205
|
+
def date_created
|
206
|
+
@properties['date_created']
|
207
|
+
end
|
208
|
+
|
209
|
+
##
|
210
|
+
# @return [Time] The ISO 8601 date and time in GMT when the resource was last updated
|
211
|
+
def date_updated
|
212
|
+
@properties['date_updated']
|
213
|
+
end
|
214
|
+
|
215
|
+
##
|
216
|
+
# Provide a user friendly representation
|
217
|
+
def to_s
|
218
|
+
"<Twilio.Supersim.V1.BillingPeriodInstance>"
|
219
|
+
end
|
220
|
+
|
221
|
+
##
|
222
|
+
# Provide a detailed, user friendly representation
|
223
|
+
def inspect
|
224
|
+
"<Twilio.Supersim.V1.BillingPeriodInstance>"
|
225
|
+
end
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
231
|
+
end
|