class OpenNebula::HostPool

Constants

HOST_POOL_METHODS

Constants and Class attribute accessors

Public Class Methods

new(client) click to toggle source

client a Client object that represents a XML-RPC connection

Calls superclass method
# File lib/opennebula/host_pool.rb, line 38
def initialize(client)
    super('HOST_POOL','HOST',client)
end

Public Instance Methods

factory(element_xml) click to toggle source

Factory Method for the Host Pool

# File lib/opennebula/host_pool.rb, line 43
def factory(element_xml)
    OpenNebula::Host.new(element_xml,@client)
end
info() click to toggle source

Retrieves all the Hosts in the pool.

Calls superclass method
# File lib/opennebula/host_pool.rb, line 52
def info()
    super(HOST_POOL_METHODS[:info])
end
Also aliased as: info!
info!()
Alias for: info
monitoring(xpath_expressions) click to toggle source

Retrieves the monitoring data for all the Hosts in the pool

@param [Array<String>] xpath_expressions Elements to retrieve.

@return [Hash<String, <Hash<String, Array<Array<int>>>>>,

OpenNebula::Error] The first level hash uses the Host ID as keys,
and as value a Hash with the requested xpath expressions,
and an Array of 'timestamp, value'.

@example

host_pool.monitoring(
  ['HOST_SHARE/FREE_CPU',
  'HOST_SHARE/RUNNING_VMS',
  'TEMPLATE/CUSTOM_PROBE'] )

{"1"=>
  {"TEMPLATE/CUSTOM_PROBE"=>[],
   "HOST_SHARE/FREE_CPU"=>[["1337609673", "800"]],
   "HOST_SHARE/RUNNING_VMS"=>[["1337609673", "3"]]},
 "0"=>
  {"TEMPLATE/CUSTOM_PROBE"=>[],
   "HOST_SHARE/FREE_CPU"=>[["1337609673", "800"]],
   "HOST_SHARE/RUNNING_VMS"=>[["1337609673", "3"]]}}
Calls superclass method
# File lib/opennebula/host_pool.rb, line 81
def monitoring(xpath_expressions)
    return super(HOST_POOL_METHODS[:monitoring],
        'HOST', 'LAST_MON_TIME', xpath_expressions)
end
monitoring_xml() click to toggle source

Retrieves the monitoring data for all the Hosts in the pool, in XML

@return [String] VM monitoring data, in XML

# File lib/opennebula/host_pool.rb, line 89
def monitoring_xml()
    return @client.call(HOST_POOL_METHODS[:monitoring])
end