Class: Twilio::REST::IpMessaging::V2::ServiceInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/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

  • account_sid (String) —

    The SID of the Account that created this Service resource.

  • sid (String) (defaults to: nil) —

    The SID of the Call resource to fetch.



789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 789

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'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
        'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['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'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
        'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['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_sid ⇒ String

Returns:

  • (String)


844
845
846
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 844

def 
    @properties['account_sid']
end

#bindings ⇒ bindings

Access the bindings

Returns:



1096
1097
1098
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1096

def bindings
    context.bindings
end

#channels ⇒ channels

Access the channels

Returns:



1103
1104
1105
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1103

def channels
    context.channels
end

#consumption_report_interval ⇒ String

Returns:

  • (String)


904
905
906
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 904

def consumption_report_interval
    @properties['consumption_report_interval']
end

#context ⇒ ServiceContext

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

Returns:



829
830
831
832
833
834
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 829

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

#date_created ⇒ Time

Returns:

  • (Time)


856
857
858
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 856

def date_created
    @properties['date_created']
end

#date_updated ⇒ Time

Returns:

  • (Time)


862
863
864
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 862

def date_updated
    @properties['date_updated']
end

#default_channel_creator_role_sid ⇒ String

Returns:

  • (String)


880
881
882
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 880

def default_channel_creator_role_sid
    @properties['default_channel_creator_role_sid']
end

#default_channel_role_sid ⇒ String

Returns:

  • (String)


874
875
876
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 874

def default_channel_role_sid
    @properties['default_channel_role_sid']
end

#default_service_role_sid ⇒ String

Returns:

  • (String)


868
869
870
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 868

def default_service_role_sid
    @properties['default_service_role_sid']
end

#delete ⇒ Boolean

Delete the ServiceInstance

Returns:

  • (Boolean) —

    True if delete succeeds, false otherwise



977
978
979
980
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 977

def delete

    context.delete
end

#fetch ⇒ ServiceInstance

Fetch the ServiceInstance

Returns:



985
986
987
988
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 985

def fetch

    context.fetch
end

#friendly_name ⇒ String

Returns:

  • (String)


850
851
852
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 850

def friendly_name
    @properties['friendly_name']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



1130
1131
1132
1133
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1130

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

#limits ⇒ Hash

Returns:

  • (Hash)


910
911
912
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 910

def limits
    @properties['limits']
end

Returns:

  • (Hash)


970
971
972
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 970

def links
    @properties['links']
end

#media ⇒ Hash

Returns:

  • (Hash)


958
959
960
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 958

def media
    @properties['media']
end

#notifications ⇒ Hash

Returns:

  • (Hash)


952
953
954
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 952

def notifications
    @properties['notifications']
end

#post_webhook_retry_count ⇒ String

Returns:

  • (String)


946
947
948
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 946

def post_webhook_retry_count
    @properties['post_webhook_retry_count']
end

#post_webhook_url ⇒ String

Returns:

  • (String)


922
923
924
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 922

def post_webhook_url
    @properties['post_webhook_url']
end

#pre_webhook_retry_count ⇒ String

Returns:

  • (String)


940
941
942
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 940

def pre_webhook_retry_count
    @properties['pre_webhook_retry_count']
end

#pre_webhook_url ⇒ String

Returns:

  • (String)


916
917
918
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 916

def pre_webhook_url
    @properties['pre_webhook_url']
end

#reachability_enabled ⇒ Boolean

Returns:

  • (Boolean)


892
893
894
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 892

def reachability_enabled
    @properties['reachability_enabled']
end

#read_status_enabled ⇒ Boolean

Returns:

  • (Boolean)


886
887
888
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 886

def read_status_enabled
    @properties['read_status_enabled']
end

#roles ⇒ roles

Access the roles

Returns:



1110
1111
1112
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1110

def roles
    context.roles
end

#sid ⇒ String

Returns:

  • (String)


838
839
840
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 838

def sid
    @properties['sid']
end

#to_s ⇒ Object

Provide a user friendly representation



1123
1124
1125
1126
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1123

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

#typing_indicator_timeout ⇒ String

Returns:

  • (String)


898
899
900
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 898

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)
  • default_service_role_sid (String) (defaults to: :unset)
  • default_channel_role_sid (String) (defaults to: :unset)
  • default_channel_creator_role_sid (String) (defaults to: :unset)
  • read_status_enabled (Boolean) (defaults to: :unset)
  • reachability_enabled (Boolean) (defaults to: :unset)
  • typing_indicator_timeout (String) (defaults to: :unset)
  • consumption_report_interval (String) (defaults to: :unset)
  • notifications_new_message_enabled (Boolean) (defaults to: :unset)
  • notifications_new_message_template (String) (defaults to: :unset)
  • notifications_new_message_sound (String) (defaults to: :unset)
  • notifications_new_message_badge_count_enabled (Boolean) (defaults to: :unset)
  • notifications_added_to_channel_enabled (Boolean) (defaults to: :unset)
  • notifications_added_to_channel_template (String) (defaults to: :unset)
  • notifications_added_to_channel_sound (String) (defaults to: :unset)
  • notifications_removed_from_channel_enabled (Boolean) (defaults to: :unset)
  • notifications_removed_from_channel_template (String) (defaults to: :unset)
  • notifications_removed_from_channel_sound (String) (defaults to: :unset)
  • notifications_invited_to_channel_enabled (Boolean) (defaults to: :unset)
  • notifications_invited_to_channel_template (String) (defaults to: :unset)
  • notifications_invited_to_channel_sound (String) (defaults to: :unset)
  • pre_webhook_url (String) (defaults to: :unset)
  • post_webhook_url (String) (defaults to: :unset)
  • webhook_method (String) (defaults to: :unset)
  • webhook_filters (Array[String]) (defaults to: :unset)
  • limits_channel_members (String) (defaults to: :unset)
  • limits_user_channels (String) (defaults to: :unset)
  • media_compatibility_message (String) (defaults to: :unset)
  • pre_webhook_retry_count (String) (defaults to: :unset)
  • post_webhook_retry_count (String) (defaults to: :unset)
  • notifications_log_enabled (Boolean) (defaults to: :unset)

Returns:



1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1024

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

#url ⇒ String

Returns:

  • (String)


964
965
966
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 964

def url
    @properties['url']
end

#users ⇒ users

Access the users

Returns:



1117
1118
1119
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 1117

def users
    context.users
end

#webhook_filters ⇒ Array<String>

Returns:

  • (Array<String>)


934
935
936
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 934

def webhook_filters
    @properties['webhook_filters']
end

#webhook_method ⇒ String

Returns:

  • (String)


928
929
930
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 928

def webhook_method
    @properties['webhook_method']
end