class Rubyipmi::Freeipmi::Connection
Constants
- DRIVERS_MAP
Attributes
options[RW]
Public Class Methods
new(user, pass, host, opts)
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 21 def initialize(user, pass, host, opts) @options = Rubyipmi::ObservableHash.new raise("Must provide a host to connect to") unless host @options["hostname"] = host # Credentials can also be stored in the freeipmi configuration file # So they are not required @options["username"] = user if user @options["password"] = pass if pass if opts.key?(:privilege) @options["privilege-level"] = opts[:privilege] # privilege type end # Note: rubyipmi should auto detect which driver to use so its unnecessary to specify the driver unless # the user really wants to @options['driver-type'] = DRIVERS_MAP[opts[:driver]] unless DRIVERS_MAP[opts[:driver]].nil? end
Public Instance Methods
bmc()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 52 def bmc @bmc ||= Rubyipmi::Freeipmi::Bmc.new(@options) end
chassis()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 56 def chassis @chassis ||= Rubyipmi::Freeipmi::Chassis.new(@options) end
connection_works?()
click to toggle source
test the connection to ensure we can at least make a single call
# File lib/rubyipmi/freeipmi/connection.rb, line 38 def connection_works? ! (bmc.info.nil? || bmc.info.empty?) rescue false end
fru()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 48 def fru @fru ||= Rubyipmi::Freeipmi::Fru.new(@options) end
get_diag()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 64 def get_diag data = {} data[:provider] = provider data[:frus] = fru.getfrus data[:sensors] = sensors.getsensors data[:bmc_info] = bmc.info data[:version] = bmc.version data end
provider()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 44 def provider 'freeipmi' end
sensors()
click to toggle source
# File lib/rubyipmi/freeipmi/connection.rb, line 60 def sensors @sensors ||= Rubyipmi::Freeipmi::Sensors.new(@options) end