class Netscaler::Connection

Public Class Methods

new(options={}) click to toggle source
# File lib/netscaler/connection.rb, line 23
def initialize(options={})
  missing_options=[]
  options = Netscaler.hash_hack(options)
  [:username, :password, :hostname].each do |required_option|
    missing_options << required_option unless options[required_option] != nil
  end

  raise ArgumentError, "Required options are missing. #{missing_options.join(', ')}" if missing_options.length > 0

  @username   = options[:username]
  @password   = options[:password]
  @verify_ssl = options[:verify_ssl].nil? ? true : options[:verify_ssl]
  @adapter = HttpAdapter.new :hostname => "https://#{options[:hostname]}", :username => @username, :password => @password, :verify_ssl => @verify_ssl
  @load_balancing = LoadBalancing.new self
  @service = Service.new self
  @servicegroups = ServiceGroup.new self
  @servers = Server.new self
  @policy = Policy.new self
  @lb = Lb.new self
  @cs = Cs.new self
  @rewrite = Rewrite.new self
  @responder = Responder.new self
  @ssl =Ssl.new self
  @system = System.new self
  @ha = Ha.new self
end

Public Instance Methods

adapter() click to toggle source
# File lib/netscaler/connection.rb, line 50
def adapter
  return @adapter
end
adapter=(value) click to toggle source
# File lib/netscaler/connection.rb, line 54
def adapter=(value)
  @adapter=value
end
cs() click to toggle source
# File lib/netscaler/connection.rb, line 82
def cs
  @cs
end
ha() click to toggle source
# File lib/netscaler/connection.rb, line 102
def ha
  @ha
end
lb() click to toggle source
# File lib/netscaler/connection.rb, line 78
def lb
  @lb
end
load_balancing() click to toggle source
# File lib/netscaler/connection.rb, line 70
def load_balancing
  return @load_balancing
end
login() click to toggle source
# File lib/netscaler/connection.rb, line 122
def login()
  payload = {
    'username' => @username,
    'password' => @password
  }

  result = @adapter.post('config/login', { 'login' => payload})
  @adapter.session = result['sessionid']
  return @adapter.session
end
logout() click to toggle source
# File lib/netscaler/connection.rb, line 133
def logout
  result = @adapter.post_no_body('config/logout', {'logout'=>{}})
end
policy() click to toggle source
# File lib/netscaler/connection.rb, line 74
def policy
  @policy
end
responder() click to toggle source
# File lib/netscaler/connection.rb, line 94
def responder
  @responder
end
rewrite() click to toggle source
# File lib/netscaler/connection.rb, line 90
def rewrite
  @rewrite
end
server() click to toggle source
# File lib/netscaler/connection.rb, line 110
def server
  return @servers
end
servers() click to toggle source
# File lib/netscaler/connection.rb, line 106
def servers
  return @servers
end
service() click to toggle source
# File lib/netscaler/connection.rb, line 58
def service
  return @service
end
servicegroup() click to toggle source
# File lib/netscaler/connection.rb, line 66
def servicegroup
  return @servicegroups
end
servicegroups() click to toggle source
# File lib/netscaler/connection.rb, line 62
def servicegroups
  return @servicegroups
end
session() click to toggle source
# File lib/netscaler/connection.rb, line 114
def session
  return @adapter.session
end
ssl() click to toggle source
# File lib/netscaler/connection.rb, line 86
def ssl
  @ssl
end
system() click to toggle source
# File lib/netscaler/connection.rb, line 98
def system
  @system
end
verify_ssl() click to toggle source
# File lib/netscaler/connection.rb, line 118
def verify_ssl
  return @verify_ssl
end