class Netscaler::ServiceGroup

Public Class Methods

new(netscaler) click to toggle source
# File lib/netscaler/servicegroup.rb, line 5
def initialize(netscaler)
  @netscaler=netscaler
end

Public Instance Methods

add(:serviceGroupName => 'foo', :serviceType => 'HTTP') click to toggle source
# File lib/netscaler/servicegroup.rb, line 9
def add(payload)  # :args: :serviceGroupName => 'foo', :serviceType => 'HTTP'
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName, :serviceType])
  return @netscaler.adapter.post_no_body("config/servicegroup/", "servicegroup" => payload)
end
bind(:serviceGroupName => 'foo', :port => '80', :serverName => 'bar') click to toggle source
# File lib/netscaler/servicegroup.rb, line 62
def bind(payload) # :args:  :serviceGroupName => 'foo', :port => '80', :serverName => 'bar'
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName, :port, :serverName])
  return @netscaler.adapter.post_no_body("config/servicegroup_servicegroupmember_binding/#{payload['serviceGroupName']}?action=bind", {'params' => {'action' => 'bind'}, 'servicegroup_servicegroupmember_binding' => payload})
end
disable(service_group) click to toggle source
# File lib/netscaler/servicegroup.rb, line 32
def disable(payload) # :arg: service_group
  toggle('disable', payload)
end
disable_server(service_group, servername, port) click to toggle source
# File lib/netscaler/servicegroup.rb, line 47
def disable_server(payload) # :arg: service_group, servername, port
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName, :serverName, :port])
  return @netscaler.adapter.post('config/', {"params" =>
                                                 {"action" => "disable"},
                                             "servicegroup" =>
                                                 {"servicegroupname" => payload[:serviceGroupName],
                                                  "serverName" => payload[:serverName],
                                                  "port" => payload[:port] }})
end
enable(service_group) click to toggle source
# File lib/netscaler/servicegroup.rb, line 28
def enable(payload) # :arg: service_group
  toggle('enable', payload)
end
enable_server(service_group, serverName, port) click to toggle source
# File lib/netscaler/servicegroup.rb, line 36
def enable_server(payload) # :arg: service_group, serverName, port
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName, :serverName, :port])
  return @netscaler.adapter.post('config/', {"params" =>
                                                 {"action" => "enable"},
                                             "servicegroup" =>
                                                 {"servicegroupname" => payload[:serviceGroupName],
                                                  "serverName" => payload[:serverName],
                                                  "port" => payload[:port] }})
end
remove(serviceGroupName) click to toggle source
# File lib/netscaler/servicegroup.rb, line 15
def remove(payload) # :arg: serviceGroupName
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName])
  return @netscaler.adapter.delete("config/servicegroup/#{payload[:serviceGroupName]}")
end
show(servicegroupname) click to toggle source

argument is optional, if left empty it will return all servicegroups

# File lib/netscaler/servicegroup.rb, line 23
def show(payload={}) # :arg: servicegroupname
  @netscaler.adapter.get("config/servicegroup/") if payload.empty?
  @netscaler.adapter.get("config/servicegroup/#{payload}")
end
show_bindings(servicegroupname) click to toggle source
# File lib/netscaler/servicegroup.rb, line 58
def show_bindings(payload)  # :args: servicegroupname
  return @netscaler.adapter.get("config/servicegroup_servicegroupmember_binding/#{payload}")
end
stat(payload={}) click to toggle source
# File lib/netscaler/servicegroup.rb, line 74
def stat(payload={})
  if payload[:name] != nil then
    validate_payload(payload, [:name])
    @netscaler.adapter.get("stat/servicegroup/#{payload[:name]}")
  elsif payload == {} then
    @netscaler.adapter.get('stat/servicegroup')
  else
    raise ArgumentError, 'payload cannot be null' if payload.nil?
  end
end
unbind(:serviceGroupName => 'foo', :port => '80', :serverName => 'bar') click to toggle source
# File lib/netscaler/servicegroup.rb, line 68
def unbind(payload) # :args:  :serviceGroupName => 'foo', :port => '80', :serverName => 'bar'
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName, :port, :serverName])
  return @netscaler.adapter.post_no_body("config/servicegroup_servicegroupmember_binding/#{payload['serviceGroupName']}?action=unbind", {'params' => {'action' => 'unbind'}, 'servicegroup_servicegroupmember_binding' => payload})
end

Private Instance Methods

toggle(toggle_action, payload) click to toggle source
# File lib/netscaler/servicegroup.rb, line 86
def toggle(toggle_action, payload)
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:serviceGroupName])
  service_group_options = {"servicegroupname" => payload[:serviceGroupName]}
  service_group_options.merge!("serverName" => payload[:serverName]) if payload[:serverName]
  service_group_options.merge!("port" => payload[:port]) if payload[:port]
  return @netscaler.adapter.post('config/', {"params" => {"action" => toggle_action}, "servicegroup" => service_group_options})
end