Class: VMware::VirtualMachine
Instance Attribute Summary
#object_reference
Instance Method Summary
collapse
#[], #initialize, #properties
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
|
#datastores ⇒ Object
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_Task ⇒ Object
60
61
62
|
# File 'lib/vmware/objects/virtual_machine.rb', line 60
def destroy_Task
@session.destroy_Task DestroyRequestType.new self.object_reference
end
|
#markAsTemplate ⇒ Object
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
|
#networks ⇒ Object
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
|
#powerOffVM ⇒ Object
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
|
#rebootGuest ⇒ Object
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_Task ⇒ Object
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_pool ⇒ Object
17
18
19
|
# File 'lib/vmware/objects/virtual_machine.rb', line 17
def resource_pool
@session.managed_object_wrapper_factory("ResourcePool", self["resourcePool"])
end
|
#shutdownGuest ⇒ Object
29
30
31
|
# File 'lib/vmware/objects/virtual_machine.rb', line 29
def shutdownGuest
@session.shutdownGuest ShutdownGuestRequestType.new self.object_reference
end
|
#suspendVM_Task ⇒ Object
35
36
37
|
# File 'lib/vmware/objects/virtual_machine.rb', line 35
def suspendVM_Task
@session.suspendVM_Task SuspendVMRequestType.new self.object_reference
end
|