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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +7 -7
  3. data/.travis.yml +2 -2
  4. data/CHANGES.md +62 -0
  5. data/README.md +10 -2
  6. data/lib/twilio-ruby.rb +5 -15
  7. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  8. data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  9. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  10. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  11. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  12. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  13. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
  14. data/lib/twilio-ruby/http.rb +5 -0
  15. data/lib/twilio-ruby/http/http_client.rb +11 -1
  16. data/lib/twilio-ruby/rest.rb +13 -0
  17. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +8 -7
  18. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +2 -2
  19. data/lib/twilio-ruby/rest/client.rb +7 -0
  20. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +7 -0
  21. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +7 -0
  22. data/lib/twilio-ruby/rest/events/v1/event_type.rb +12 -5
  23. data/lib/twilio-ruby/rest/events/v1/sink.rb +19 -5
  24. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +28 -22
  25. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  26. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  27. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  28. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +7 -0
  29. data/lib/twilio-ruby/rest/messaging/v1/service.rb +8 -2
  30. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +175 -15
  31. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +30 -1
  32. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  33. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +15 -6
  34. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +6 -7
  35. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +8 -8
  36. data/lib/twilio-ruby/rest/video/v1/composition.rb +0 -8
  37. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  38. data/lib/twilio-ruby/version.rb +1 -1
  39. 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
- # Delete the UsAppToPersonInstance
66
- # @return [Boolean] true if delete succeeds, false otherwise
67
- def delete
68
- @version.delete('DELETE', @uri)
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
- # Fetch the UsAppToPersonInstance
73
- # @return [UsAppToPersonInstance] Fetched UsAppToPersonInstance
74
- def fetch
75
- payload = @version.fetch('GET', @uri)
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
- UsAppToPersonInstance.new(
78
- @version,
79
- payload,
80
- messaging_service_sid: @solution[:messaging_service_sid],
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
- "<Twilio.Messaging.V1.UsAppToPersonInstance>"
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
- "<Twilio.Messaging.V1.UsAppToPersonInstance>"
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 digit code required to claim the Super
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