Class: Twilio::REST::Sync::V1::ServiceInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/sync/v1/service.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, sid: nil) ⇒ ServiceInstance

Initialize the ServiceInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    A unique identifier for this service instance.



385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 385

def initialize(version, payload, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'unique_name' => payload['unique_name'],
      'account_sid' => payload['account_sid'],
      'friendly_name' => payload['friendly_name'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'url' => payload['url'],
      'webhook_url' => payload['webhook_url'],
      'webhooks_from_rest_enabled' => payload['webhooks_from_rest_enabled'],
      'reachability_webhooks_enabled' => payload['reachability_webhooks_enabled'],
      'acl_enabled' => payload['acl_enabled'],
      'reachability_debouncing_enabled' => payload['reachability_debouncing_enabled'],
      'reachability_debouncing_window' => payload['reachability_debouncing_window'].to_i,
      'links' => payload['links'],
  }

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

Instance Method Details

#account_sidString

Returns The account_sid.

Returns:

  • (String)

    The account_sid



436
437
438
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 436

def 
  @properties['account_sid']
end

#acl_enabledBoolean

Returns true or false - determines whether token identities must be granted access to Sync objects via the Permissions API in this Service.

Returns:

  • (Boolean)

    true or false - determines whether token identities must be granted access to Sync objects via the Permissions API in this Service.



484
485
486
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 484

def acl_enabled
  @properties['acl_enabled']
end

#contextServiceContext

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

Returns:



415
416
417
418
419
420
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 415

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

#date_createdTime

Returns The date_created.

Returns:

  • (Time)

    The date_created



448
449
450
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 448

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



454
455
456
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 454

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



516
517
518
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 516

def delete
  context.delete
end

#documentsdocuments

Access the documents

Returns:



563
564
565
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 563

def documents
  context.documents
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



509
510
511
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 509

def fetch
  context.fetch
end

#friendly_nameString

Returns Human-readable name for this service instance.

Returns:

  • (String)

    Human-readable name for this service instance



442
443
444
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 442

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



597
598
599
600
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 597

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

Returns The links.

Returns:

  • (String)

    The links



502
503
504
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 502

def links
  @properties['links']
end

#reachability_debouncing_enabledBoolean

Returns true or false - Determines whether transient disconnections (i.e. an immediate reconnect succeeds) cause reachability webhooks.

Returns:

  • (Boolean)

    true or false - Determines whether transient disconnections (i.e. an immediate reconnect succeeds) cause reachability webhooks.



490
491
492
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 490

def reachability_debouncing_enabled
  @properties['reachability_debouncing_enabled']
end

#reachability_debouncing_windowString

Returns Determines how long an identity must be offline before reachability webhooks fire.

Returns:

  • (String)

    Determines how long an identity must be offline before reachability webhooks fire.



496
497
498
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 496

def reachability_debouncing_window
  @properties['reachability_debouncing_window']
end

#reachability_webhooks_enabledBoolean

Returns true or false - controls whether this instance fires webhooks when client endpoints connect to Sync.

Returns:

  • (Boolean)

    true or false - controls whether this instance fires webhooks when client endpoints connect to Sync



478
479
480
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 478

def reachability_webhooks_enabled
  @properties['reachability_webhooks_enabled']
end

#sidString

Returns A unique identifier for this service instance.

Returns:

  • (String)

    A unique identifier for this service instance.



424
425
426
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 424

def sid
  @properties['sid']
end

#sync_listssync_lists

Access the sync_lists

Returns:



570
571
572
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 570

def sync_lists
  context.sync_lists
end

#sync_mapssync_maps

Access the sync_maps

Returns:



577
578
579
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 577

def sync_maps
  context.sync_maps
end

#sync_streamssync_streams

Access the sync_streams

Returns:



584
585
586
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 584

def sync_streams
  context.sync_streams
end

#to_sObject

Provide a user friendly representation



590
591
592
593
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 590

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

#unique_nameString

Returns The unique_name.

Returns:

  • (String)

    The unique_name



430
431
432
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 430

def unique_name
  @properties['unique_name']
end

#update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

    A URL that will receive event updates when objects are manipulated.

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

    Human-readable name for this service instance

  • reachability_webhooks_enabled (Boolean) (defaults to: :unset)

    True or false - controls whether this instance fires webhooks when client endpoints connect to Sync Defaults to false.

  • acl_enabled (Boolean) (defaults to: :unset)

    ‘true` or `false` - determines whether token identities must be granted access to Sync objects via the [Permissions API](www.twilio.com/docs/api/sync/rest/sync-rest-api-permissions) in this Service.

  • reachability_debouncing_enabled (Boolean) (defaults to: :unset)

    ‘true` or `false` - If false, every endpoint disconnection immediately yields a reachability webhook (if enabled). If true, then ’disconnection’ webhook events will only be fired after a configurable delay. Intervening reconnections would effectively cancel that webhook. Defaults to false.

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

    Reachability webhook delay period in milliseconds. Determines the delay after which a Sync identity is declared actually offline, measured from the moment the last running client disconnects. If all endpoints remain offline throughout this delay, then reachability webhooks will be fired (if enabled). A reconnection by any endpoint during this window — from the same identity — means no reachability webhook would be fired. Must be between 1000 and 30000. Defaults to 5000.

  • webhooks_from_rest_enabled (Boolean) (defaults to: :unset)

    ‘true` or `false` - controls whether this instance fires webhooks when Sync objects are updated through REST. Defaults to false.

Returns:



548
549
550
551
552
553
554
555
556
557
558
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 548

def update(webhook_url: :unset, friendly_name: :unset, reachability_webhooks_enabled: :unset, acl_enabled: :unset, reachability_debouncing_enabled: :unset, reachability_debouncing_window: :unset, webhooks_from_rest_enabled: :unset)
  context.update(
      webhook_url: webhook_url,
      friendly_name: friendly_name,
      reachability_webhooks_enabled: reachability_webhooks_enabled,
      acl_enabled: acl_enabled,
      reachability_debouncing_enabled: reachability_debouncing_enabled,
      reachability_debouncing_window: reachability_debouncing_window,
      webhooks_from_rest_enabled: webhooks_from_rest_enabled,
  )
end

#urlString

Returns The url.

Returns:

  • (String)

    The url



460
461
462
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 460

def url
  @properties['url']
end

#webhook_urlString

Returns A URL that will receive event updates when objects are manipulated.

Returns:

  • (String)

    A URL that will receive event updates when objects are manipulated.



466
467
468
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 466

def webhook_url
  @properties['webhook_url']
end

#webhooks_from_rest_enabledBoolean

Returns true or false - controls whether this instance fires webhooks when Sync objects are updated through REST.

Returns:

  • (Boolean)

    true or false - controls whether this instance fires webhooks when Sync objects are updated through REST



472
473
474
# File 'lib/twilio-ruby/rest/sync/v1/service.rb', line 472

def webhooks_from_rest_enabled
  @properties['webhooks_from_rest_enabled']
end