Class: VMware::VirtualMachine

Inherits:
ManagedEntity show all
Defined in:
lib/vmware/objects/virtual_machine.rb

Instance Attribute Summary

Attributes inherited from ManagedEntity

#object_reference

Instance Method Summary collapse

Methods inherited from ManagedEntity

#[], #initialize, #properties

Constructor Details

This class inherits a constructor from VMware::ManagedEntity

Instance Method Details

#cloneVM(folder, name, power_on = false) ⇒ Object



72
73
74
75
76
77
78
# File 'lib/vmware/objects/virtual_machine.rb', line 72

def cloneVM folder, name, power_on=false
  spec = VirtualMachineCloneSpec.new
  spec.template = false
  spec.powerOn = power_on
  spec.location = VirtualMachineRelocateSpec.new
  cloneVM_Task folder, name, spec
end

#cloneVM_Task(folder, name, spec) ⇒ Object



79
80
81
82
83
84
85
# File 'lib/vmware/objects/virtual_machine.rb', line 79

def cloneVM_Task folder, name, spec
  rt = CloneVMRequestType.new self.object_reference
  rt.folder = folder
  rt.name = name
  rt.spec = spec
  @session.cloneVM_Task rt
end

#cloneVMToTemplate(folder, name, pool) ⇒ Object



63
64
65
66
67
68
69
70
71
# File 'lib/vmware/objects/virtual_machine.rb', line 63

def cloneVMToTemplate folder, name, pool
  location = VirtualMachineRelocateSpec.new
  location.pool = pool
  spec = VirtualMachineCloneSpec.new
  spec.template = true
  spec.powerOn = false
  spec.location = location
  cloneVM_Task folder, name, spec
end

#datastoresObject



10
11
12
13
14
15
# File 'lib/vmware/objects/virtual_machine.rb', line 10

def datastores
  return [] if self['datastore'].nil?
  self["datastore"].collect do |datastore|
    @session.managed_object_wrapper_factory("Datastore", datastore)
  end
end

#destroy_TaskObject



60
61
62
# File 'lib/vmware/objects/virtual_machine.rb', line 60

def destroy_Task
  @session.destroy_Task DestroyRequestType.new self.object_reference
end

#markAsTemplateObject



32
33
34
# File 'lib/vmware/objects/virtual_machine.rb', line 32

def markAsTemplate
  @session.markAsTemplate MarkAsTemplateRequestType.new self.object_reference
end

#markAsVirtualMachine(pool) ⇒ Object



50
51
52
53
54
# File 'lib/vmware/objects/virtual_machine.rb', line 50

def markAsVirtualMachine pool
  rt = MarkAsVirtualMachineRequestType.new self.object_reference
  rt.pool = pool
  @session.markAsVirtualMachine rt
end

#migrateVM_Task(host) ⇒ Object



44
45
46
47
48
49
# File 'lib/vmware/objects/virtual_machine.rb', line 44

def migrateVM_Task host
  rt = MigrateVMRequestType.new self.object_reference
  rt.priority = VirtualMachineMovePriority.new("defaultPriority")
  rt.host = host
  @session.migrateVM_Task rt
end

#networksObject



3
4
5
6
7
8
# File 'lib/vmware/objects/virtual_machine.rb', line 3

def networks
  return [] if self['network'].nil?
  self["network"].collect do |network|
    @session.managed_object_wrapper_factory("Network", network)
  end
end

#powerOffVMObject



26
27
28
# File 'lib/vmware/objects/virtual_machine.rb', line 26

def powerOffVM
  @session.powerOffVM_Task PowerOffVMRequestType.new self.object_reference
end

#powerOnVM_Task(host = nil) ⇒ Object



21
22
23
24
25
# File 'lib/vmware/objects/virtual_machine.rb', line 21

def powerOnVM_Task host=nil
  rt = PowerOnVMRequestType.new self.object_reference
  rt.host = host
  @session.powerOnVM_Task rt
end

#rebootGuestObject



41
42
43
# File 'lib/vmware/objects/virtual_machine.rb', line 41

def rebootGuest
  @session.rebootGuest RebootGuestRequestType.new self.object_reference
end

#rename_Task(name) ⇒ Object



55
56
57
58
59
# File 'lib/vmware/objects/virtual_machine.rb', line 55

def rename_Task name
  rt = RenameRequestType.new self.object_reference
  rt.newName = name
  @session.rename_Task rt
end

#resetVM_TaskObject



38
39
40
# File 'lib/vmware/objects/virtual_machine.rb', line 38

def resetVM_Task
  @session.resetVM_Task ResetVMRequestType.new self.object_reference
end

#resource_poolObject



17
18
19
# File 'lib/vmware/objects/virtual_machine.rb', line 17

def resource_pool
  @session.managed_object_wrapper_factory("ResourcePool", self["resourcePool"])
end

#shutdownGuestObject



29
30
31
# File 'lib/vmware/objects/virtual_machine.rb', line 29

def shutdownGuest
  @session.shutdownGuest ShutdownGuestRequestType.new self.object_reference
end

#suspendVM_TaskObject



35
36
37
# File 'lib/vmware/objects/virtual_machine.rb', line 35

def suspendVM_Task
  @session.suspendVM_Task SuspendVMRequestType.new self.object_reference
end