class Netscaler::Server

Public Class Methods

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

Public Instance Methods

add(:name => 'foo', :ipaddress => '192.168.1.10', :domain => 'bar.com') click to toggle source

method add requires arg :name but :ipaddress and :domain are optional but requires one of them.

# File lib/netscaler/server.rb, line 11
def add(server) # :args: :name => 'foo', :ipaddress => '192.168.1.10', :domain => 'bar.com'
  raise ArgumentError, 'server cannot be null' if server.nil?
  if server[:domain] != nil then
    validate_payload(server, [:name, :domain])
  else
    validate_payload(server, [:name, :ipaddress])
  end

  return @netscaler.adapter.post_no_body('config/server/', {'server' => server})
end
disable(:server, :service_group) click to toggle source
# File lib/netscaler/server.rb, line 32
def disable(payload) # :args: :server, :service_group
  toggle('disable', payload)
end
enable(:server, :service_group) click to toggle source
# File lib/netscaler/server.rb, line 28
def enable(payload) # :args: :server, :service_group
  toggle('enable', payload)
end
remove(:server) click to toggle source
# File lib/netscaler/server.rb, line 22
def remove(payload) # :args: :server
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:server])
  return @netscaler.adapter.delete("config/server/#{payload[:server]}")
end
show(:server => 'foo') click to toggle source

:server is optional, if omitted it will return all servers configured on the Netscaler.

# File lib/netscaler/server.rb, line 45
def show(payload = {}) # :args:  :server => 'foo'
  if payload[:server] != nil then
    validate_payload(payload, [:server])
    return @netscaler.adapter.get("config/server/#{payload[:server]}")
  elsif payload == {} then
    return @netscaler.adapter.get('config/server/')
  else
    raise ArgumentError, 'payload supplied must have been missing :server'
  end
end
show_bindings(:server => 'foo') click to toggle source
# File lib/netscaler/server.rb, line 36
def show_bindings(payload)  # :args:  :server => 'foo'
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  validate_payload(payload, [:server])
  return @netscaler.adapter.get("config/server_binding/#{payload[:server]}")
end

Private Instance Methods

toggle(toggle_action, payload) click to toggle source
# File lib/netscaler/server.rb, line 57
def toggle(toggle_action, payload)
  raise ArgumentError, 'payload cannot be null' if payload.nil?
  #validate_payload(payload, [:server, :service_group])
  validate_payload(payload, [:server])
  return @netscaler.adapter.post('config/', {"params" => {"action" => toggle_action}, "server" => {"name" => payload[:server]}})
end