class Netscaler::Lb::Monitor
Public Class Methods
new(netscaler)
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 7 def initialize(netscaler) @netscaler = netscaler end
Public Instance Methods
add(:monitorName => 'HTTP-updates.dev.rs.com', :serviceType => 'HTTP')
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 11 def add(payload) # :args: :monitorName => 'HTTP-updates.dev.rs.com', :serviceType => 'HTTP' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName, :type]) return @netscaler.adapter.post_no_body("config/lbmonitor/", "lbmonitor" => payload) end
bind(:monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]')
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 39 def bind(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName, :entityName, :entityType]) valid_entityTypes = %w(service servicegroup) raise ArgumentError, ":entityType does not equal one of the following: #{valid_entityTypes.flatten}" unless valid_entityTypes.include?(payload[:entityType]) new_payload = {:monitorName => payload[:monitorName], :"#{payload[:entityType]}Name" => payload[:entityName]} return @netscaler.adapter.post_no_body("config/lbmonitor_#{payload[:entityType]}_binding/#{payload[:monitorName]}?action=bind", {'params' => {'action' => 'bind'}, "lbmonitor_#{payload[:entityType]}_binding" => new_payload}) end
remove(:monitorName => 'HTTP-updates.dev.rs.com')
click to toggle source
not working. always dies saying it wants a type no matter how i pass the type. :)
# File lib/netscaler/lb/monitor.rb, line 18 def remove(payload) # :args: :monitorName => 'HTTP-updates.dev.rs.com' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName, :type]) return @netscaler.adapter.delete("config/lbmonitor/#{payload[:monitorName]}", "lbmonitor" => payload) end
show(:monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]')
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 24 def show(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName]) return @netscaler.adapter.get("config/lbmonitor/#{payload[:monitorName]}") end
show_binding(:monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]')
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 30 def show_binding(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName, :entityType]) valid_entityTypes = %w(service servicegroup) raise ArgumentError, ":entityType does not equal one of the following: #{valid_entityTypes.flatten}" unless valid_entityTypes.include?(payload[:entityType]) return @netscaler.adapter.get("config/lbmonbindings_#{payload[:entityType]}_binding/#{payload[:monitorName]}") end
unbind(:monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]')
click to toggle source
# File lib/netscaler/lb/monitor.rb, line 51 def unbind(payload) # :args: :monitorName => 'http', :entityName => 'foo' :entityType => '[service|servicegroup]' raise ArgumentError, 'payload cannot be null' if payload.nil? validate_payload(payload, [:monitorName, :entityName, :entityType]) valid_entityTypes = %w(service servicegroup) raise ArgumentError, ":entityType does not equal one of the following: #{valid_entityTypes.flatten}" unless valid_entityTypes.include?(payload[:entityType]) new_payload = {:monitorName => payload[:monitorName], :"#{payload[:entityType]}Name" => payload[:entityName]} return @netscaler.adapter.post_no_body("config/lbmonitor_servicegroup_binding/#{payload[:monitorName]}?action=unbind", {'params' => {'action' => 'unbind'}, 'lbmonitor_servicegroup_binding' => new_payload}) end