Class: Twilio::REST::Chat::V2::ServiceInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/chat/v2/service.rb

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)

    The sid



405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 405

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      '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']),
      'default_service_role_sid' => payload['default_service_role_sid'],
      'default_channel_role_sid' => payload['default_channel_role_sid'],
      'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
      'read_status_enabled' => payload['read_status_enabled'],
      'reachability_enabled' => payload['reachability_enabled'],
      'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
      'consumption_report_interval' => payload['consumption_report_interval'].to_i,
      'limits' => payload['limits'],
      'pre_webhook_url' => payload['pre_webhook_url'],
      'post_webhook_url' => payload['post_webhook_url'],
      'webhook_method' => payload['webhook_method'],
      'webhook_filters' => payload['webhook_filters'],
      'pre_webhook_retry_count' => payload['pre_webhook_retry_count'].to_i,
      'post_webhook_retry_count' => payload['post_webhook_retry_count'].to_i,
      'notifications' => payload['notifications'],
      'media' => payload['media'],
      'url' => payload['url'],
      '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



464
465
466
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 464

def 
  @properties['account_sid']
end

#channelschannels

Access the channels

Returns:



693
694
695
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 693

def channels
  context.channels
end

#consumption_report_intervalString

Returns The consumption_report_interval.

Returns:

  • (String)

    The consumption_report_interval



524
525
526
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 524

def consumption_report_interval
  @properties['consumption_report_interval']
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:



446
447
448
449
450
451
452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 446

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



476
477
478
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 476

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



482
483
484
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 482

def date_updated
  @properties['date_updated']
end

#default_channel_creator_role_sidString

Returns The default_channel_creator_role_sid.

Returns:

  • (String)

    The default_channel_creator_role_sid



500
501
502
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 500

def default_channel_creator_role_sid
  @properties['default_channel_creator_role_sid']
end

#default_channel_role_sidString

Returns The default_channel_role_sid.

Returns:

  • (String)

    The default_channel_role_sid



494
495
496
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 494

def default_channel_role_sid
  @properties['default_channel_role_sid']
end

#default_service_role_sidString

Returns The default_service_role_sid.

Returns:

  • (String)

    The default_service_role_sid



488
489
490
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 488

def default_service_role_sid
  @properties['default_service_role_sid']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



604
605
606
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 604

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



597
598
599
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 597

def fetch
  context.fetch
end

#friendly_nameString

Returns The friendly_name.

Returns:

  • (String)

    The friendly_name



470
471
472
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 470

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



720
721
722
723
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 720

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

#limitsHash

Returns The limits.

Returns:

  • (Hash)

    The limits



530
531
532
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 530

def limits
  @properties['limits']
end

Returns The links.

Returns:

  • (String)

    The links



590
591
592
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 590

def links
  @properties['links']
end

#mediaHash

Returns The media.

Returns:

  • (Hash)

    The media



578
579
580
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 578

def media
  @properties['media']
end

#notificationsHash

Returns The notifications.

Returns:

  • (Hash)

    The notifications



572
573
574
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 572

def notifications
  @properties['notifications']
end

#post_webhook_retry_countString

Returns The post_webhook_retry_count.

Returns:

  • (String)

    The post_webhook_retry_count



566
567
568
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 566

def post_webhook_retry_count
  @properties['post_webhook_retry_count']
end

#post_webhook_urlString

Returns The post_webhook_url.

Returns:

  • (String)

    The post_webhook_url



542
543
544
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 542

def post_webhook_url
  @properties['post_webhook_url']
end

#pre_webhook_retry_countString

Returns The pre_webhook_retry_count.

Returns:

  • (String)

    The pre_webhook_retry_count



560
561
562
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 560

def pre_webhook_retry_count
  @properties['pre_webhook_retry_count']
end

#pre_webhook_urlString

Returns The pre_webhook_url.

Returns:

  • (String)

    The pre_webhook_url



536
537
538
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 536

def pre_webhook_url
  @properties['pre_webhook_url']
end

#reachability_enabledBoolean

Returns The reachability_enabled.

Returns:

  • (Boolean)

    The reachability_enabled



512
513
514
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 512

def reachability_enabled
  @properties['reachability_enabled']
end

#read_status_enabledBoolean

Returns The read_status_enabled.

Returns:

  • (Boolean)

    The read_status_enabled



506
507
508
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 506

def read_status_enabled
  @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



700
701
702
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 700

def roles
  context.roles
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



458
459
460
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 458

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



713
714
715
716
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 713

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

#typing_indicator_timeoutString

Returns The typing_indicator_timeout.

Returns:

  • (String)

    The typing_indicator_timeout



518
519
520
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 518

def typing_indicator_timeout
  @properties['typing_indicator_timeout']
end

#update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

    The friendly_name

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

    The default_service_role_sid

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

    The default_channel_role_sid

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

    The default_channel_creator_role_sid

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

    The read_status_enabled

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

    The reachability_enabled

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

    The typing_indicator_timeout

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

    The consumption_report_interval

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

    The notifications.new_message.enabled

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

    The notifications.new_message.template

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

    The notifications.new_message.sound

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

    The notifications.new_message.badge_count_enabled

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

    The notifications.added_to_channel.enabled

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

    The notifications.added_to_channel.template

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

    The notifications.added_to_channel.sound

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

    The notifications.removed_from_channel.enabled

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

    The notifications.removed_from_channel.template

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

    The notifications.removed_from_channel.sound

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

    The notifications.invited_to_channel.enabled

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

    The notifications.invited_to_channel.template

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

    The notifications.invited_to_channel.sound

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

    The pre_webhook_url

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

    The post_webhook_url

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

    The webhook_method

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

    The webhook_filters

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

    The limits.channel_members

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

    The limits.user_channels

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

    The media.compatibility_message

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

    The pre_webhook_retry_count

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

    The post_webhook_retry_count

Returns:



655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 655

def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset)
  context.update(
      friendly_name: friendly_name,
      default_service_role_sid: default_service_role_sid,
      default_channel_role_sid: default_channel_role_sid,
      default_channel_creator_role_sid: default_channel_creator_role_sid,
      read_status_enabled: read_status_enabled,
      reachability_enabled: reachability_enabled,
      typing_indicator_timeout: typing_indicator_timeout,
      consumption_report_interval: consumption_report_interval,
      notifications_new_message_enabled: notifications_new_message_enabled,
      notifications_new_message_template: notifications_new_message_template,
      notifications_new_message_sound: notifications_new_message_sound,
      notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
      notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
      notifications_added_to_channel_template: notifications_added_to_channel_template,
      notifications_added_to_channel_sound: notifications_added_to_channel_sound,
      notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
      notifications_removed_from_channel_template: notifications_removed_from_channel_template,
      notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
      notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
      notifications_invited_to_channel_template: notifications_invited_to_channel_template,
      notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
      pre_webhook_url: pre_webhook_url,
      post_webhook_url: post_webhook_url,
      webhook_method: webhook_method,
      webhook_filters: webhook_filters,
      limits_channel_members: limits_channel_members,
      limits_user_channels: limits_user_channels,
      media_compatibility_message: media_compatibility_message,
      pre_webhook_retry_count: pre_webhook_retry_count,
      post_webhook_retry_count: post_webhook_retry_count,
  )
end

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end

#usersusers

Access the users

Returns:



707
708
709
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 707

def users
  context.users
end

#webhook_filtersString

Returns The webhook_filters.

Returns:

  • (String)

    The webhook_filters



554
555
556
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 554

def webhook_filters
  @properties['webhook_filters']
end

#webhook_methodString

Returns The webhook_method.

Returns:

  • (String)

    The webhook_method



548
549
550
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 548

def webhook_method
  @properties['webhook_method']
end