Class: Ovirt::HostNic

Inherits:
Base
  • Object
show all
Defined in:
lib/ovirt/host_nic.rb

Instance Attribute Summary

Attributes inherited from Base

#attributes, #operations, #relationships, #service

Class Method Summary collapse

Methods inherited from Base

#[], all, all_xml_objects, api_endpoint, #api_endpoint, #class_suffix, create_from_xml, #destroy, element_names, find_by_href, find_by_id, find_by_name, has_first_node?, hash_from_id_and_href, href_from_creation_status_link, #initialize, #keys, #method_missing, object_to_id, #operation, parse_attribute, parse_boolean, parse_first_node, parse_first_node_with_hash, parse_first_text, parse_xml, #relationship, #reload, #replace, set_value, #update, #update!, xml_to_actions, xml_to_hash, xml_to_nokogiri, xml_to_relationships

Constructor Details

This class inherits a constructor from Ovirt::Base

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ovirt::Base

Class Method Details

.element_nameObject



7
8
9
# File 'lib/ovirt/host_nic.rb', line 7

def self.element_name
  "host_nic"
end

.parse_node_extended(node, hash) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ovirt/host_nic.rb', line 11

def self.parse_node_extended(node, hash)
  parse_first_node(node, :status,  hash, :node      => [:state])
  parse_first_node(node, :mac,     hash, :attribute => [:address])
  parse_first_node(node, :ip,      hash, :attribute => [:address, :netmask, :gateway])
  parse_first_node(node, :network, hash, :node      => [:name])

  hash[:bonding] = {}
  node.xpath('bonding/options').each do |opts|
    hash[:bonding][:options] = []
    opts.xpath('option').each do |opt|
      hash[:bonding][:options] << {:name => opt[:name], :value => opt[:value], :type => opt[:type]}
    end
  end

  node.xpath('bonding/slaves').each do |slaves|
    hash[:bonding][:slaves] = {:host_nics => []}
    slaves.xpath('host_nic').each do |slave|
      hash[:bonding][:slaves][:host_nics] << {:id => slave[:id], :href => slave[:href]}
    end
  end
end