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

Overview

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

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

  • service_sid (String) (defaults to: nil)

    The unique SID identifier of the Service.

  • identity (String) (defaults to: nil)

    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.

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Factor.



280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 280

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'],
      'url' => payload['url'],
  }

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

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



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

def 
  @properties['account_sid']
end

#configHash

Returns Configurations for a ‘factor_type`.

Returns:

  • (Hash)

    Configurations for a ‘factor_type`.



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

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:



308
309
310
311
312
313
314
315
316
317
318
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 308

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 this Factor was created.

Returns:

  • (Time)

    The date this Factor was created



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date this Factor was updated.

Returns:

  • (Time)

    The date this Factor was updated



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Delete the FactorInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



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

def delete
  context.delete
end

#entity_sidString

Returns Entity Sid.

Returns:

  • (String)

    Entity Sid.



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

def entity_sid
  @properties['entity_sid']
end

#factor_typefactor.FactorTypes

Returns The Type of this Factor.

Returns:

  • (factor.FactorTypes)

    The Type of this Factor



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

def factor_type
  @properties['factor_type']
end

#fetchFactorInstance

Fetch the FactorInstance

Returns:



402
403
404
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 402

def fetch
  context.fetch
end

#friendly_nameString

Returns A human readable description of this resource.

Returns:

  • (String)

    A human readable description of this resource.



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

def friendly_name
  @properties['friendly_name']
end

#identityString

Returns Unique external identifier of the Entity.

Returns:

  • (String)

    Unique external identifier of the Entity



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

def identity
  @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



455
456
457
458
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 455

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

#service_sidString

Returns Service Sid.

Returns:

  • (String)

    Service Sid.



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

def service_sid
  @properties['service_sid']
end

#sidString

Returns A string that uniquely identifies this Factor.

Returns:

  • (String)

    A string that uniquely identifies this Factor.



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

def sid
  @properties['sid']
end

#statusfactor.FactorStatuses

Returns The Status of this Factor.

Returns:

  • (factor.FactorStatuses)

    The Status of this Factor



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

def status
  @properties['status']
end

#to_sObject

Provide a user friendly representation



448
449
450
451
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 448

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 (factor.TotpAlgorithms) (defaults to: :unset)

    The algorithm used to derive the TOTP codes. Can be ‘sha1`, `sha256` or `sha512`

  • 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:



432
433
434
435
436
437
438
439
440
441
442
443
444
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb', line 432

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.



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

def url
  @properties['url']
end