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



380
381
382
383
384
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
410
411
412
413
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 380

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



434
435
436
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 434

def 
  @properties['account_sid']
end

#bindingsbindings

Access the bindings

Returns:



686
687
688
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 686

def bindings
  context.bindings
end

#channelschannels

Access the channels

Returns:



665
666
667
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 665

def channels
  context.channels
end

#consumption_report_intervalString

Returns The consumption_report_interval.

Returns:

  • (String)

    The consumption_report_interval



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

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:



419
420
421
422
423
424
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 419

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



446
447
448
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 446

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 452

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



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

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



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

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



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

def default_service_role_sid
  @properties['default_service_role_sid']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



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

def fetch
  context.fetch
end

#friendly_nameString

Returns The friendly_name.

Returns:

  • (String)

    The friendly_name



440
441
442
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 440

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



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

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

#limitsHash

Returns The limits.

Returns:

  • (Hash)

    The limits



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

def limits
  @properties['limits']
end

Returns The links.

Returns:

  • (String)

    The links



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

def links
  @properties['links']
end

#mediaHash

Returns The media.

Returns:

  • (Hash)

    The media



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

def media
  @properties['media']
end

#notificationsHash

Returns The notifications.

Returns:

  • (Hash)

    The notifications



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

def notifications
  @properties['notifications']
end

#post_webhook_retry_countString

Returns The post_webhook_retry_count.

Returns:

  • (String)

    The post_webhook_retry_count



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

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



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

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



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

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



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

def pre_webhook_url
  @properties['pre_webhook_url']
end

#reachability_enabledBoolean

Returns The reachability_enabled.

Returns:

  • (Boolean)

    The reachability_enabled



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

def reachability_enabled
  @properties['reachability_enabled']
end

#read_status_enabledBoolean

Returns The read_status_enabled.

Returns:

  • (Boolean)

    The read_status_enabled



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

def read_status_enabled
  @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



672
673
674
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 672

def roles
  context.roles
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



428
429
430
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 428

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



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

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



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

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, notifications_log_enabled: :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

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

    The notifications.log_enabled

Returns:



626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 626

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, notifications_log_enabled: :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,
      notifications_log_enabled: notifications_log_enabled,
  )
end

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end

#usersusers

Access the users

Returns:



679
680
681
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 679

def users
  context.users
end

#webhook_filtersString

Returns The webhook_filters.

Returns:

  • (String)

    The webhook_filters



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

def webhook_filters
  @properties['webhook_filters']
end

#webhook_methodString

Returns The webhook_method.

Returns:

  • (String)

    The webhook_method



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

def webhook_method
  @properties['webhook_method']
end