Sha256: 76be7b39386187a1296d61b7ea7a62401b7069ec517b10da80ff757622c52913

Contents?: true

Size: 833 Bytes

Versions: 4

Compression:

Stored size: 833 Bytes

Contents

module OVIRT

  class Interface < BaseObject
    attr_reader :name, :mac, :interface, :network, :vm

    def initialize(client, xml)
      super(client, xml[:id], xml[:href], (xml/'name').first.text)
      parse_xml_attributes!(xml)
      self
    end

    def self.to_xml(opts={})
      builder = Nokogiri::XML::Builder.new do
        nic{
          name_(opts[:name] || 'eth0')
          network{
            name_(opts[:network] || 'ovirtmgmt')
          }
        }
      end
      Nokogiri::XML(builder.to_xml).root.to_s
    end

    def parse_xml_attributes!(xml)
     @name = (xml/'name').first.text
     @mac = (xml/'mac').first[:address]
     @interface = (xml/'interface').first.text
     @network = (xml/'network').first[:id]
     @vm = Link::new(@client, (xml/'vm').first[:id], (xml/'vm').first[:href])
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rbovirt-0.0.7 lib/ovirt/interface.rb
rbovirt-0.0.6 lib/ovirt/interface.rb
rbovirt-0.0.5 lib/ovirt/interface.rb
rbovirt-0.0.4 lib/ovirt/interface.rb