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

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

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.



174
175
176
177
178
179
180
181
182
183
184
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 174

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:



237
238
239
240
241
242
243
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 237

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

#fetchSimInstance

Fetch the SimInstance

Returns:



188
189
190
191
192
193
194
195
196
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 188

def fetch

    payload = @version.fetch('GET', @uri)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



265
266
267
268
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 265

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:



248
249
250
251
252
253
254
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 248

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



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

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:



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/twilio-ruby/rest/supersim/v1/sim.rb', line 207

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' => ,
    })

    payload = @version.update('POST', @uri, data: data)
    SimInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end