Class: Twilio::REST::Verify::V2::ServiceContext::EntityContext::FactorInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, identity: nil, sid: nil) ⇒ FactorInstance

Initialize the FactorInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Factor resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 289

def initialize(version, payload , service_sid: nil, identity: nil, sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'account_sid' => payload['account_sid'],
        'service_sid' => payload['service_sid'],
        'entity_sid' => payload['entity_sid'],
        'identity' => payload['identity'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'friendly_name' => payload['friendly_name'],
        'status' => payload['status'],
        'factor_type' => payload['factor_type'],
        'config' => payload['config'],
        'metadata' => payload['metadata'],
        'url' => payload['url'],
    }

    # Context
    @instance_context = nil
    @params = { 'service_sid' => service_sid  || @properties['service_sid']  ,'identity' => identity  || @properties['identity']  ,'sid' => sid  || @properties['sid']  , }
end

Instance Method Details

#account_sidString

Returns The unique SID identifier of the Account.

Returns:

  • (String)

    The unique SID identifier of the Account.



333
334
335
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 333

def 
    @properties['account_sid']
end

#configHash

Returns An object that contains configurations specific to a ‘factor_type`.

Returns:

  • (Hash)

    An object that contains configurations specific to a ‘factor_type`.



387
388
389
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 387

def config
    @properties['config']
end

#contextFactorContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



318
319
320
321
322
323
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 318

def context
    unless @instance_context
        @instance_context = FactorContext.new(@version , @params['service_sid'], @params['identity'], @params['sid'])
    end
    @instance_context
end

#date_createdTime

Returns The date that this Factor was created, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



357
358
359
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 357

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date that this Factor was updated, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



363
364
365
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 363

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the FactorInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



406
407
408
409
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 406

def delete

    context.delete
end

#entity_sidString

Returns The unique SID identifier of the Entity.

Returns:

  • (String)

    The unique SID identifier of the Entity.



345
346
347
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 345

def entity_sid
    @properties['entity_sid']
end

#factor_typeFactorTypes

Returns:

  • (FactorTypes)


381
382
383
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 381

def factor_type
    @properties['factor_type']
end

#fetchFactorInstance

Fetch the FactorInstance

Returns:



414
415
416
417
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 414

def fetch

    context.fetch
end

#friendly_nameString

Returns A human readable description of this resource, up to 64 characters. For a push factor, this can be the device’s name.

Returns:

  • (String)

    A human readable description of this resource, up to 64 characters. For a push factor, this can be the device’s name.



369
370
371
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 369

def friendly_name
    @properties['friendly_name']
end

#identityString

Returns Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user’s UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.

Returns:

  • (String)

    Customer unique identity for the Entity owner of the Factor. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user’s UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.



351
352
353
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 351

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



465
466
467
468
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 465

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Verify.V2.FactorInstance #{values}>"
end

#metadataHash

Returns Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. ‘"Android"`. Can be up to 1024 characters in length.

Returns:

  • (Hash)

    Custom metadata associated with the factor. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. ‘"Android"`. Can be up to 1024 characters in length.



393
394
395
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 393

def 
    @properties['metadata']
end

#service_sidString

Returns The unique SID identifier of the Service.

Returns:

  • (String)

    The unique SID identifier of the Service.



339
340
341
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 339

def service_sid
    @properties['service_sid']
end

#sidString

Returns A 34 character string that uniquely identifies this Factor.

Returns:

  • (String)

    A 34 character string that uniquely identifies this Factor.



327
328
329
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 327

def sid
    @properties['sid']
end

#statusFactorStatuses

Returns:

  • (FactorStatuses)


375
376
377
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 375

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



458
459
460
461
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 458

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Verify.V2.FactorInstance #{values}>"
end

#update(auth_payload: :unset, friendly_name: :unset, config_notification_token: :unset, config_sdk_version: :unset, config_time_step: :unset, config_skew: :unset, config_code_length: :unset, config_alg: :unset, config_notification_platform: :unset) ⇒ FactorInstance

Update the FactorInstance

Parameters:

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

    The optional payload needed to verify the Factor for the first time. E.g. for a TOTP, the numeric code.

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

    The new friendly name of this Factor. It can be up to 64 characters.

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

    For APN, the device token. For FCM, the registration token. It is used to send the push notifications. Required when ‘factor_type` is `push`. If specified, this value must be between 32 and 255 characters long.

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

    The Verify Push SDK version used to configure the factor

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

    Defines how often, in seconds, are TOTP codes generated. i.e, a new TOTP code is generated every time_step seconds. Must be between 20 and 60 seconds, inclusive

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

    The number of time-steps, past and future, that are valid for validation of TOTP codes. Must be between 0 and 2, inclusive

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

    Number of digits for generated TOTP codes. Must be between 3 and 8, inclusive

  • config_alg (TotpAlgorithms) (defaults to: :unset)
  • config_notification_platform (String) (defaults to: :unset)

    The transport technology used to generate the Notification Token. Can be ‘apn`, `fcm` or `none`. Required when `factor_type` is `push`.

Returns:



431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 431

def update(
    auth_payload: :unset, 
    friendly_name: :unset, 
    config_notification_token: :unset, 
    config_sdk_version: :unset, 
    config_time_step: :unset, 
    config_skew: :unset, 
    config_code_length: :unset, 
    config_alg: :unset, 
    config_notification_platform: :unset
)

    context.update(
        auth_payload: auth_payload, 
        friendly_name: friendly_name, 
        config_notification_token: config_notification_token, 
        config_sdk_version: config_sdk_version, 
        config_time_step: config_time_step, 
        config_skew: config_skew, 
        config_code_length: config_code_length, 
        config_alg: config_alg, 
        config_notification_platform: config_notification_platform, 
    )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



399
400
401
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 399

def url
    @properties['url']
end