Sha256: ce3110249b5a3d23f303d14f752ae8f980640cad55e2349936519af7df0d2abe

Contents?: true

Size: 1.22 KB

Versions: 3

Compression:

Stored size: 1.22 KB

Contents

require 'netscaler/netscaler_service'

module Netscaler
  class Server < NetscalerService
    def initialize(netscaler)
      @netscaler = netscaler
    end

    ##
    # method #add requires arg :name but :ipaddress and :domain are optional but requires one of them.
    def add(server) # :args: :name => 'foo', :ipaddress => '192.168.1.10', :domain => 'bar.com'
      raise ArgumentError, 'server cannot be null' if server.nil?
      server = Netscaler.hash_hack(server)
      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

    def remove(payload) # :args: :server
      raise ArgumentError, 'payload cannot be null' if payload.nil?
      payload = Netscaler.hash_hack(payload)
      validate_payload(payload, [:server])
      return @netscaler.adapter.delete("config/server/#{payload[:server]}")
    end

    ##
    # :category: Deprecated Methods
    # DEPRECATED: Please use #add instead=.
    def add_server(server)
      warn '[DEPRECATION] "add_server" is deprecated.  Please use "#add" instead.'
      self.add server
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
netscaler-0.3.2 lib/netscaler/server.rb
netscaler-0.3.1 lib/netscaler/server.rb
netscaler-0.3.0 lib/netscaler/server.rb