class VirtualMachineDevice::Device

Device Classes

Device base class

@param id [Integer] The OpenNebula resource id @param one_res [XMLElement] The OpenNebula representation of the object @param vc_res [vCenter_class_specific] vCenter object representation

Public Class Methods

new(id, one_res, vc_res) click to toggle source
# File lib/vm_device.rb, line 14
def initialize(id, one_res, vc_res)
    @id      = id
    @one_res = one_res
    @vc_res  = vc_res
end

Public Instance Methods

detached?() click to toggle source
# File lib/vm_device.rb, line 65
def detached?
    !one?
end
exists?() click to toggle source
# File lib/vm_device.rb, line 39
def exists?
    !@vc_res.nil?
end
id() click to toggle source
# File lib/vm_device.rb, line 20
def id
    raise_if_no_exists_in_one
    @id
end
managed?() click to toggle source
# File lib/vm_device.rb, line 69
def managed?
    raise_if_no_exists_in_one

    return unless @one_res

    !(@one_res['OPENNEBULA_MANAGED'] &&
      @one_res['OPENNEBULA_MANAGED'].downcase == 'no')
end
no_exists?() click to toggle source
# File lib/vm_device.rb, line 53
def no_exists?
    !exists?
end
one?() click to toggle source
# File lib/vm_device.rb, line 35
def one?
    !@one_res.nil?
end
one_item() click to toggle source
# File lib/vm_device.rb, line 25
def one_item
    raise_if_no_exists_in_one
    @one_res
end
raise_if_no_exists_in_one() click to toggle source

Fails if the device is not present in OpenNebula

# File lib/vm_device.rb, line 44
def raise_if_no_exists_in_one
    raise 'OpenNebula device does not exist at the moment' unless one?
end
raise_if_no_exists_in_vcenter() click to toggle source

Fails if the device is not present in vCenter

# File lib/vm_device.rb, line 49
def raise_if_no_exists_in_vcenter
    raise 'vCenter device does not exist at the moment' unless exists?
end
synced?() click to toggle source
# File lib/vm_device.rb, line 57
def synced?
    one? && exists?
end
unsynced?() click to toggle source
# File lib/vm_device.rb, line 61
def unsynced?
    !synced?
end
vc_item() click to toggle source
# File lib/vm_device.rb, line 30
def vc_item
    raise_if_no_exists_in_vcenter
    @vc_res
end