class CloudstackNagios::Base

Attributes

config[R]

Public Class Methods

exit_on_failure?() click to toggle source

exit with return code 1 in case of a error

   # File lib/cloudstack-nagios/base.rb
19 def self.exit_on_failure?
20   true
21 end

Public Instance Methods

client(opts = {}) click to toggle source
   # File lib/cloudstack-nagios/base.rb
24 def client(opts = {})
25   @config ||= load_configuration
26   @client ||= CloudstackClient::Client.new(
27     @config[:url],
28     @config[:api_key],
29     @config[:secret_key],
30   )
31   @client.debug = true if options[:debug]
32   @client
33 end
load_configuration(config_file = options[:config], env = options[:environment]) click to toggle source
   # File lib/cloudstack-nagios/base.rb
35 def load_configuration(config_file = options[:config], env = options[:environment])
36   unless File.exists?(config_file)
37     say "Configuration file #{config_file} not found.", :red
38     say "Please run \'cs-nagios setup\' to create one."
39     exit 1
40   end
41   begin
42     config = YAML::load(IO.read(config_file))
43   rescue
44     error "Can't load configuration from file #{config_file}."
45     exit 1
46   end
47   if env
48     config = config[env]
49     unless config
50       error "Can't find environment #{env} in configuration file."
51       exit 1
52     end
53   end
54   config
55 end
sshoptions(ssh_key) click to toggle source
   # File lib/cloudstack-nagios/base.rb
57 def sshoptions(ssh_key)
58  {
59    timeout: 5,
60    keys: [ssh_key],
61    auth_methods: %w(publickey)
62  }
63 end