Class: Twilio::REST::Supersim::V1::SimContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/supersim/v1/sim.rb,
lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb,
lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb

Defined Under Namespace

Classes: BillingPeriodInstance, BillingPeriodList, BillingPeriodPage, SimIpAddressInstance, SimIpAddressList, SimIpAddressPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ SimContext

Initialize the SimContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The SID of the Sim resource to update.



182
183
184
185
186
187
188
189
190
191
192
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 182

def initialize(version, sid)
    super(version)

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Sims/#{@solution[:sid]}"

    # Dependents
    @billing_periods = nil
    @sim_ip_addresses = nil
end

Instance Method Details

#billing_periodsBillingPeriodList, BillingPeriodContext

Access the billing_periods

Returns:



257
258
259
260
261
262
263
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 257

def billing_periods
  unless @billing_periods
    @billing_periods = BillingPeriodList.new(
            @version, sim_sid: @solution[:sid], )
  end
  @billing_periods
end

#fetchSimInstance

Fetch the SimInstance

Returns:



196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 196

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



285
286
287
288
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 285

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Supersim.V1.SimContext #{context}>"
end

#sim_ip_addressesSimIpAddressList, SimIpAddressContext

Access the sim_ip_addresses

Returns:



268
269
270
271
272
273
274
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 268

def sim_ip_addresses
  unless @sim_ip_addresses
    @sim_ip_addresses = SimIpAddressList.new(
            @version, sim_sid: @solution[:sid], )
  end
  @sim_ip_addresses
end

#to_sObject

Provide a user friendly representation



278
279
280
281
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 278

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Supersim.V1.SimContext #{context}>"
end

#update(unique_name: :unset, status: :unset, fleet: :unset, callback_url: :unset, callback_method: :unset, account_sid: :unset) ⇒ SimInstance

Update the SimInstance

Parameters:

  • unique_name (String) (defaults to: :unset)

    An application-defined string that uniquely identifies the resource. It can be used in place of the resource’s ‘sid` in the URL to address the resource.

  • status (StatusUpdate) (defaults to: :unset)
  • fleet (String) (defaults to: :unset)

    The SID or unique name of the Fleet to which the SIM resource should be assigned.

  • callback_url (String) (defaults to: :unset)

    The URL we should call using the ‘callback_method` after an asynchronous update has finished.

  • callback_method (String) (defaults to: :unset)

    The HTTP method we should use to call ‘callback_url`. Can be: `GET` or `POST` and the default is POST.

  • account_sid (String) (defaults to: :unset)

    The SID of the Account to which the Sim resource should belong. The Account SID can only be that of the requesting Account or that of a Subaccount of the requesting Account. Only valid when the Sim resource’s status is new.

Returns:



221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 221

def update(
    unique_name: :unset, 
    status: :unset, 
    fleet: :unset, 
    callback_url: :unset, 
    callback_method: :unset, 
    account_sid: :unset
)

    data = Twilio::Values.of({
        'UniqueName' => unique_name,
        'Status' => status,
        'Fleet' => fleet,
        'CallbackUrl' => callback_url,
        'CallbackMethod' => callback_method,
        'AccountSid' => ,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end