can_be_cloned?()
click to toggle source
def can_be_cloned?
allowed_operations.include?("clone")
end
clean_shutdown()
click to toggle source
def clean_shutdown
return false if halted?
service.clean_shutdown_vm(reference)
wait_for(&:halted?)
true
end
clone(name)
click to toggle source
def clone(name)
raise "Clone Operation not Allowed" unless can_be_cloned?
self.reference = service.clone_vm(reference, name)
reload
end
destroy()
click to toggle source
def destroy
hard_shutdown
vbds.map(&:destroy)
service.destroy_record(reference, provider_class)
end
halted?()
click to toggle source
def halted?
reload
power_state == "Halted"
end
hard_shutdown()
click to toggle source
def hard_shutdown
return false if halted?
service.hard_shutdown_vm(reference)
wait_for(&:halted?)
true
end
home_hypervisor()
click to toggle source
def home_hypervisor
service.hosts.first
end
mac_address()
click to toggle source
def mac_address
vifs.first.mac
end
revert(snapshot)
click to toggle source
def revert(snapshot)
snapshot = collection.get_by_reference_or_name_or_uuid(snapshot)
service.revert_vm(snapshot.reference)
end
running?()
click to toggle source
def running?
reload
power_state == "Running"
end
start()
click to toggle source
def start
return false if running?
service.start_vm(reference)
wait_for(&:running?)
true
end