rbvmomi 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +5 -0
- data/README.rdoc +71 -0
- data/Rakefile +11 -0
- data/VERSION +1 -1
- data/devel/analyze-xml.rb +29 -29
- data/{test/test.rb → examples/create_vm.rb} +40 -15
- data/examples/extraConfig.rb +54 -0
- data/examples/power.rb +57 -0
- data/examples/readme-1.rb +35 -0
- data/examples/readme-2.rb +51 -0
- data/lib/rbvmomi.rb +3 -282
- data/lib/rbvmomi/{types.rb → basic_types.rb} +37 -97
- data/lib/rbvmomi/connection.rb +239 -0
- data/lib/rbvmomi/fault.rb +17 -0
- data/lib/{trivial_soap.rb → rbvmomi/trivial_soap.rb} +31 -13
- data/lib/rbvmomi/trollop.rb +6 -2
- data/lib/rbvmomi/type_loader.rb +72 -0
- data/lib/rbvmomi/vim.rb +76 -0
- data/lib/rbvmomi/vim/ComputeResource.rb +51 -0
- data/lib/rbvmomi/vim/Datacenter.rb +17 -0
- data/lib/rbvmomi/vim/Datastore.rb +68 -0
- data/lib/rbvmomi/vim/Folder.rb +112 -0
- data/lib/rbvmomi/vim/ManagedEntity.rb +46 -0
- data/lib/rbvmomi/vim/ManagedObject.rb +55 -0
- data/lib/rbvmomi/vim/ObjectContent.rb +23 -0
- data/lib/rbvmomi/vim/ObjectUpdate.rb +23 -0
- data/lib/rbvmomi/vim/OvfManager.rb +93 -0
- data/lib/rbvmomi/vim/ResourcePool.rb +18 -0
- data/lib/rbvmomi/vim/ServiceInstance.rb +53 -0
- data/lib/rbvmomi/vim/Task.rb +31 -0
- data/lib/rbvmomi/vim/VirtualMachine.rb +7 -0
- data/test/test_deserialization.rb +11 -55
- data/test/test_emit_request.rb +13 -10
- data/test/test_exceptions.rb +16 -0
- data/test/test_parse_response.rb +2 -10
- data/test/test_serialization.rb +14 -11
- metadata +41 -25
- data/.gitignore +0 -4
- data/README.md +0 -12
- data/lib/rbvmomi/extensions.rb +0 -491
- data/lib/rbvmomi/profile.rb +0 -22
- data/test/runner.rb +0 -3
@@ -0,0 +1,18 @@
|
|
1
|
+
class RbVmomi::VIM::ResourcePool
|
2
|
+
# Retrieve a child ResourcePool.
|
3
|
+
# @param name [String] Name of the child.
|
4
|
+
# @return [VIM::ResourcePool]
|
5
|
+
def find name
|
6
|
+
@soap.searchIndex.FindChild(entity: self, name: name)
|
7
|
+
end
|
8
|
+
|
9
|
+
# Retrieve a descendant of this ResourcePool.
|
10
|
+
# @param path [String] Path delimited by '/'.
|
11
|
+
# @return [VIM::ResourcePool]
|
12
|
+
def traverse path
|
13
|
+
es = path.split('/').reject(&:empty?)
|
14
|
+
es.inject(self) do |f,e|
|
15
|
+
f.find(e) || return
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class RbVmomi::VIM::ServiceInstance
|
2
|
+
# Retrieve a Datacenter.
|
3
|
+
# If no path is given the first datacenter will be returned.
|
4
|
+
# @param path (see Folder#traverse)
|
5
|
+
# @return [Datacenter]
|
6
|
+
def find_datacenter path=nil
|
7
|
+
if path
|
8
|
+
content.rootFolder.traverse path, RbVmomi::VIM::Datacenter
|
9
|
+
else
|
10
|
+
content.rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).first
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# Wait for several tasks to complete.
|
15
|
+
# @param interested [Array] Property paths to watch for updates.
|
16
|
+
# @param tasks [Array] Tasks to wait on.
|
17
|
+
# @yield [Hash] Called when a property is updated on a task.
|
18
|
+
# The parameter is a hash from tasks to hashes from
|
19
|
+
# property path to value.
|
20
|
+
# @return [void]
|
21
|
+
def wait_for_multiple_tasks interested, tasks
|
22
|
+
version = ''
|
23
|
+
interested = (interested + ['info.state']).uniq
|
24
|
+
task_props = Hash.new { |h,k| h[k] = {} }
|
25
|
+
|
26
|
+
filter = @soap.propertyCollector.CreateFilter :spec => {
|
27
|
+
:propSet => [{ :type => 'Task', :all => false, :pathSet => interested }],
|
28
|
+
:objectSet => tasks.map { |x| { :obj => x } },
|
29
|
+
}, :partialUpdates => false
|
30
|
+
|
31
|
+
begin
|
32
|
+
until task_props.size == tasks.size and task_props.all? { |k,h| %w(success error).member? h['info.state'] }
|
33
|
+
result = @soap.propertyCollector.WaitForUpdates(version: version)
|
34
|
+
version = result.version
|
35
|
+
os = result.filterSet[0].objectSet
|
36
|
+
|
37
|
+
os.each do |o|
|
38
|
+
changes = Hash[o.changeSet.map { |x| [x.name, x.val] }]
|
39
|
+
|
40
|
+
interested.each do |k|
|
41
|
+
task = tasks.find { |x| x._ref == o.obj._ref }
|
42
|
+
task_props[task][k] = changes[k] if changes.member? k
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
yield task_props
|
47
|
+
end
|
48
|
+
ensure
|
49
|
+
@soap.propertyCollector.CancelWaitForUpdates
|
50
|
+
filter.DestroyPropertyFilter
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class RbVmomi::VIM::Task
|
2
|
+
# Wait for a task to finish.
|
3
|
+
# @return +info.result+ on success.
|
4
|
+
# @raise +info.error+ on error.
|
5
|
+
def wait_for_completion
|
6
|
+
wait_until('info.state') { %w(success error).member? info.state }
|
7
|
+
case info.state
|
8
|
+
when 'success'
|
9
|
+
info.result
|
10
|
+
when 'error'
|
11
|
+
raise info.error
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# Wait for a task to finish, with progress notifications.
|
16
|
+
# @return (see #wait_for_completion)
|
17
|
+
# @raise (see #wait_for_completion)
|
18
|
+
# @yield [info.progress]
|
19
|
+
def wait_for_progress
|
20
|
+
wait_until('info.state', 'info.progress') do
|
21
|
+
yield info.progress if block_given?
|
22
|
+
%w(success error).member? info.state
|
23
|
+
end
|
24
|
+
case info.state
|
25
|
+
when 'success'
|
26
|
+
info.result
|
27
|
+
when 'error'
|
28
|
+
raise info.error
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
class RbVmomi::VIM::VirtualMachine
|
2
|
+
# Retrieve the MAC addresses for all virtual NICs.
|
3
|
+
# @return [Hash] Keyed by device label.
|
4
|
+
def macs
|
5
|
+
Hash[self.config.hardware.device.grep(RbVmomi::VIM::VirtualEthernetCard).map { |x| [x.deviceInfo.label, x.macAddress] }]
|
6
|
+
end
|
7
|
+
end
|
@@ -1,22 +1,14 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'rbvmomi'
|
3
|
-
|
3
|
+
VIM ||= RbVmomi::VIM
|
4
4
|
|
5
5
|
class DeserializationTest < Test::Unit::TestCase
|
6
6
|
def setup
|
7
|
-
@soap =
|
7
|
+
@soap = VIM.new(ns: 'urn:vim25', rev: '4.0')
|
8
8
|
end
|
9
9
|
|
10
10
|
def check str, expected, type
|
11
11
|
got = @soap.xml2obj Nokogiri(str).root, type
|
12
|
-
|
13
|
-
puts "expected:"
|
14
|
-
pp expected
|
15
|
-
puts
|
16
|
-
puts "got:"
|
17
|
-
pp got
|
18
|
-
puts
|
19
|
-
|
20
12
|
assert_equal expected, got
|
21
13
|
end
|
22
14
|
|
@@ -79,7 +71,7 @@ class DeserializationTest < Test::Unit::TestCase
|
|
79
71
|
)
|
80
72
|
|
81
73
|
check <<-EOS, obj, 'ObjectContent'
|
82
|
-
<root xmlns:xsi="#{
|
74
|
+
<root xmlns:xsi="#{VIM::NS_XSI}">
|
83
75
|
<obj type="Folder">ha-folder-root</obj>
|
84
76
|
<propSet>
|
85
77
|
<name>childEntity</name>
|
@@ -96,8 +88,6 @@ def test_array2
|
|
96
88
|
dynamicProperty: [],
|
97
89
|
linkUp: true,
|
98
90
|
blocked: false,
|
99
|
-
vmDirectPathGen2InactiveReasonNetwork: [],
|
100
|
-
vmDirectPathGen2InactiveReasonOther: [],
|
101
91
|
vlanIds: [
|
102
92
|
VIM::NumericRange(dynamicProperty: [], start: 5, end: 7),
|
103
93
|
VIM::NumericRange(dynamicProperty: [], start: 10, end: 20),
|
@@ -123,8 +113,6 @@ end
|
|
123
113
|
def test_empty_array
|
124
114
|
obj = VIM.DVPortStatus(
|
125
115
|
dynamicProperty: [],
|
126
|
-
vmDirectPathGen2InactiveReasonNetwork: [],
|
127
|
-
vmDirectPathGen2InactiveReasonOther: [],
|
128
116
|
linkUp: true,
|
129
117
|
blocked: false,
|
130
118
|
vlanIds: []
|
@@ -149,7 +137,7 @@ end
|
|
149
137
|
)
|
150
138
|
|
151
139
|
check <<-EOS, obj, "LocalizedMethodFault"
|
152
|
-
<error xmlns:xsi="#{
|
140
|
+
<error xmlns:xsi="#{VIM::NS_XSI}">
|
153
141
|
<fault xsi:type="InvalidPowerState">
|
154
142
|
<requestedState>poweredOn</requestedState>
|
155
143
|
<existingState>poweredOff</existingState>
|
@@ -189,7 +177,7 @@ end
|
|
189
177
|
)
|
190
178
|
|
191
179
|
check <<-EOS, obj, "UpdateSet"
|
192
|
-
<returnval xmlns:xsi="#{
|
180
|
+
<returnval xmlns:xsi="#{VIM::NS_XSI}">
|
193
181
|
<version>7</version>
|
194
182
|
<filterSet>
|
195
183
|
<filter type="PropertyFilter">session[528BA5EB-335B-4AF6-B49C-6160CF5E8D5B]71E3AC7E-7927-4D9E-8BC3-522769F22DAF</filter>
|
@@ -238,6 +226,7 @@ end
|
|
238
226
|
EOS
|
239
227
|
end
|
240
228
|
|
229
|
+
=begin
|
241
230
|
def test_runtime_state
|
242
231
|
obj = VIM::VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState(
|
243
232
|
dynamicProperty: [],
|
@@ -246,40 +235,21 @@ end
|
|
246
235
|
vmDirectPathGen2InactiveReasonVm: []
|
247
236
|
)
|
248
237
|
check <<-EOS, obj, 'VirtualMachineDeviceRuntimeInfoDeviceRuntimeState'
|
249
|
-
<runtimeState xsi:type="VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState" xmlns:xsi="#{
|
238
|
+
<runtimeState xsi:type="VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState" xmlns:xsi="#{VIM::NS_XSI}">
|
250
239
|
<vmDirectPathGen2Active>false</vmDirectPathGen2Active>
|
251
240
|
<vmDirectPathGen2InactiveReasonOther>vmNptIncompatibleHost</vmDirectPathGen2InactiveReasonOther>
|
252
241
|
</runtimeState>
|
253
242
|
EOS
|
254
243
|
end
|
244
|
+
=end
|
255
245
|
|
256
246
|
def test_runtime_info
|
257
|
-
obj =
|
247
|
+
obj = VIM::VirtualMachineRuntimeInfo(
|
258
248
|
bootTime: Time.parse('2010-08-20 05:44:35 UTC'),
|
259
249
|
connectionState: "connected",
|
260
|
-
device: [RbVmomi::VIM::VirtualMachineDeviceRuntimeInfo(
|
261
|
-
dynamicProperty: [],
|
262
|
-
key: 4000,
|
263
|
-
runtimeState: RbVmomi::VIM::VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState(
|
264
|
-
dynamicProperty: [],
|
265
|
-
vmDirectPathGen2Active: false,
|
266
|
-
vmDirectPathGen2InactiveReasonOther: [],
|
267
|
-
vmDirectPathGen2InactiveReasonVm: ["vmNptIncompatibleAdapterType"]
|
268
|
-
)
|
269
|
-
),
|
270
|
-
RbVmomi::VIM::VirtualMachineDeviceRuntimeInfo(
|
271
|
-
dynamicProperty: [],
|
272
|
-
key: 4001,
|
273
|
-
runtimeState: RbVmomi::VIM::VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState(
|
274
|
-
dynamicProperty: [],
|
275
|
-
vmDirectPathGen2Active: false,
|
276
|
-
vmDirectPathGen2InactiveReasonOther: ["vmNptIncompatibleHost"],
|
277
|
-
vmDirectPathGen2InactiveReasonVm: []
|
278
|
-
)
|
279
|
-
)],
|
280
250
|
dynamicProperty: [],
|
281
251
|
faultToleranceState: "notConfigured",
|
282
|
-
host:
|
252
|
+
host: VIM::HostSystem(nil, "host-32"),
|
283
253
|
maxCpuUsage: 5612,
|
284
254
|
maxMemoryUsage: 3072,
|
285
255
|
memoryOverhead: 128671744,
|
@@ -291,21 +261,7 @@ end
|
|
291
261
|
)
|
292
262
|
|
293
263
|
check <<-EOS, obj, 'VirtualMachineRuntimeInfo'
|
294
|
-
<val xsi:type="VirtualMachineRuntimeInfo" xmlns:xsi="#{
|
295
|
-
<device>
|
296
|
-
<runtimeState xsi:type="VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState">
|
297
|
-
<vmDirectPathGen2Active>false</vmDirectPathGen2Active>
|
298
|
-
<vmDirectPathGen2InactiveReasonVm>vmNptIncompatibleAdapterType</vmDirectPathGen2InactiveReasonVm>
|
299
|
-
</runtimeState>
|
300
|
-
<key>4000</key>
|
301
|
-
</device>
|
302
|
-
<device>
|
303
|
-
<runtimeState xsi:type="VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState">
|
304
|
-
<vmDirectPathGen2Active>false</vmDirectPathGen2Active>
|
305
|
-
<vmDirectPathGen2InactiveReasonOther>vmNptIncompatibleHost</vmDirectPathGen2InactiveReasonOther>
|
306
|
-
</runtimeState>
|
307
|
-
<key>4001</key>
|
308
|
-
</device>
|
264
|
+
<val xsi:type="VirtualMachineRuntimeInfo" xmlns:xsi="#{VIM::NS_XSI}">
|
309
265
|
<host type="HostSystem">host-32</host>
|
310
266
|
<connectionState>connected</connectionState>
|
311
267
|
<powerState>poweredOn</powerState>
|
data/test/test_emit_request.rb
CHANGED
@@ -1,23 +1,26 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'rbvmomi'
|
3
|
-
|
3
|
+
VIM ||= RbVmomi::VIM
|
4
4
|
|
5
5
|
class EmitRequestTest < Test::Unit::TestCase
|
6
6
|
MO = VIM::VirtualMachine(nil, "foo")
|
7
7
|
|
8
8
|
def check desc, str, this, params
|
9
|
-
soap =
|
9
|
+
soap = VIM.new(ns: 'urn:vim25', rev: '4.0')
|
10
10
|
xml = Builder::XmlMarkup.new :indent => 2
|
11
11
|
soap.emit_request xml, 'root', desc, this, params
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
begin
|
14
|
+
assert_equal str, xml.target!
|
15
|
+
rescue MiniTest::Assertion
|
16
|
+
puts "expected:"
|
17
|
+
puts str
|
18
|
+
puts
|
19
|
+
puts "got:"
|
20
|
+
puts xml.target!
|
21
|
+
puts
|
22
|
+
raise
|
23
|
+
end
|
21
24
|
end
|
22
25
|
|
23
26
|
def test_string_array
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'rbvmomi'
|
3
|
+
VIM ||= RbVmomi::VIM
|
4
|
+
|
5
|
+
class ExceptionTest < Test::Unit::TestCase
|
6
|
+
def test_fault
|
7
|
+
begin
|
8
|
+
fault = VIM::InvalidArgument.new invalidProperty: 'foo'
|
9
|
+
assert_raises RbVmomi::Fault do
|
10
|
+
raise RbVmomi::Fault.new('A specified parameter was not correct.', fault)
|
11
|
+
end
|
12
|
+
rescue VIM::InvalidArgument
|
13
|
+
assert_equal 'foo', $!.invalidProperty
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/test/test_parse_response.rb
CHANGED
@@ -1,19 +1,11 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'rbvmomi'
|
3
|
-
|
3
|
+
VIM ||= RbVmomi::VIM
|
4
4
|
|
5
5
|
class ParseResponseTest < Test::Unit::TestCase
|
6
6
|
def check desc, str, expected
|
7
|
-
soap =
|
7
|
+
soap = VIM.new(ns: 'urn:vim25', rev: '4.0')
|
8
8
|
got = soap.parse_response Nokogiri(str).root, desc
|
9
|
-
|
10
|
-
puts "expected:"
|
11
|
-
pp expected
|
12
|
-
puts
|
13
|
-
puts "got:"
|
14
|
-
pp got
|
15
|
-
puts
|
16
|
-
|
17
9
|
assert_equal expected, got
|
18
10
|
end
|
19
11
|
|
data/test/test_serialization.rb
CHANGED
@@ -1,21 +1,24 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'rbvmomi'
|
3
|
-
|
3
|
+
VIM ||= RbVmomi::VIM
|
4
4
|
|
5
5
|
class SerializationTest < Test::Unit::TestCase
|
6
6
|
def check str, obj, type, array=false
|
7
|
-
@soap =
|
7
|
+
@soap = VIM.new(ns: 'urn:vim25', rev: '4.0')
|
8
8
|
xml = Builder::XmlMarkup.new :indent => 2
|
9
|
-
soap.obj2xml(xml, 'root', type, array, obj)
|
9
|
+
@soap.obj2xml(xml, 'root', type, array, obj)
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
11
|
+
begin
|
12
|
+
assert_equal str, xml.target!
|
13
|
+
rescue MiniTest::Assertion
|
14
|
+
puts "expected:"
|
15
|
+
puts str
|
16
|
+
puts
|
17
|
+
puts "got:"
|
18
|
+
puts xml.target!
|
19
|
+
puts
|
20
|
+
raise
|
21
|
+
end
|
19
22
|
end
|
20
23
|
|
21
24
|
def test_moref
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbvmomi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 19
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 1
|
7
|
+
- 1
|
8
8
|
- 0
|
9
|
-
|
10
|
-
version: 1.0.2
|
9
|
+
version: 1.1.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Rich Lane
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date:
|
17
|
+
date: 2011-02-20 00:00:00 -08:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 5
|
30
28
|
segments:
|
31
29
|
- 1
|
32
30
|
- 4
|
@@ -42,7 +40,6 @@ dependencies:
|
|
42
40
|
requirements:
|
43
41
|
- - ">="
|
44
42
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 3
|
46
43
|
segments:
|
47
44
|
- 0
|
48
45
|
version: "0"
|
@@ -56,7 +53,6 @@ dependencies:
|
|
56
53
|
requirements:
|
57
54
|
- - ">="
|
58
55
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 3
|
60
56
|
segments:
|
61
57
|
- 0
|
62
58
|
version: "0"
|
@@ -70,7 +66,6 @@ dependencies:
|
|
70
66
|
requirements:
|
71
67
|
- - ">="
|
72
68
|
- !ruby/object:Gem::Version
|
73
|
-
hash: 3
|
74
69
|
segments:
|
75
70
|
- 0
|
76
71
|
version: "0"
|
@@ -84,25 +79,44 @@ extensions: []
|
|
84
79
|
|
85
80
|
extra_rdoc_files:
|
86
81
|
- LICENSE
|
87
|
-
- README.
|
82
|
+
- README.rdoc
|
88
83
|
files:
|
89
|
-
- .
|
84
|
+
- .yardopts
|
90
85
|
- LICENSE
|
91
|
-
- README.
|
86
|
+
- README.rdoc
|
92
87
|
- Rakefile
|
93
88
|
- VERSION
|
94
89
|
- devel/analyze-vim-declarations.rb
|
95
90
|
- devel/analyze-xml.rb
|
91
|
+
- examples/create_vm.rb
|
92
|
+
- examples/extraConfig.rb
|
93
|
+
- examples/power.rb
|
94
|
+
- examples/readme-1.rb
|
95
|
+
- examples/readme-2.rb
|
96
96
|
- lib/rbvmomi.rb
|
97
|
-
- lib/rbvmomi/
|
98
|
-
- lib/rbvmomi/
|
97
|
+
- lib/rbvmomi/basic_types.rb
|
98
|
+
- lib/rbvmomi/connection.rb
|
99
|
+
- lib/rbvmomi/fault.rb
|
100
|
+
- lib/rbvmomi/trivial_soap.rb
|
99
101
|
- lib/rbvmomi/trollop.rb
|
100
|
-
- lib/rbvmomi/
|
101
|
-
- lib/
|
102
|
-
-
|
103
|
-
-
|
102
|
+
- lib/rbvmomi/type_loader.rb
|
103
|
+
- lib/rbvmomi/vim.rb
|
104
|
+
- lib/rbvmomi/vim/ComputeResource.rb
|
105
|
+
- lib/rbvmomi/vim/Datacenter.rb
|
106
|
+
- lib/rbvmomi/vim/Datastore.rb
|
107
|
+
- lib/rbvmomi/vim/Folder.rb
|
108
|
+
- lib/rbvmomi/vim/ManagedEntity.rb
|
109
|
+
- lib/rbvmomi/vim/ManagedObject.rb
|
110
|
+
- lib/rbvmomi/vim/ObjectContent.rb
|
111
|
+
- lib/rbvmomi/vim/ObjectUpdate.rb
|
112
|
+
- lib/rbvmomi/vim/OvfManager.rb
|
113
|
+
- lib/rbvmomi/vim/ResourcePool.rb
|
114
|
+
- lib/rbvmomi/vim/ServiceInstance.rb
|
115
|
+
- lib/rbvmomi/vim/Task.rb
|
116
|
+
- lib/rbvmomi/vim/VirtualMachine.rb
|
104
117
|
- test/test_deserialization.rb
|
105
118
|
- test/test_emit_request.rb
|
119
|
+
- test/test_exceptions.rb
|
106
120
|
- test/test_parse_response.rb
|
107
121
|
- test/test_serialization.rb
|
108
122
|
- vmodl.cdb
|
@@ -111,8 +125,8 @@ homepage: https://github.com/rlane/rbvmomi
|
|
111
125
|
licenses: []
|
112
126
|
|
113
127
|
post_install_message:
|
114
|
-
rdoc_options:
|
115
|
-
|
128
|
+
rdoc_options: []
|
129
|
+
|
116
130
|
require_paths:
|
117
131
|
- lib
|
118
132
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -120,7 +134,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
134
|
requirements:
|
121
135
|
- - ">="
|
122
136
|
- !ruby/object:Gem::Version
|
123
|
-
hash: 49
|
124
137
|
segments:
|
125
138
|
- 1
|
126
139
|
- 9
|
@@ -131,7 +144,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
144
|
requirements:
|
132
145
|
- - ">="
|
133
146
|
- !ruby/object:Gem::Version
|
134
|
-
hash: 3
|
135
147
|
segments:
|
136
148
|
- 0
|
137
149
|
version: "0"
|
@@ -143,9 +155,13 @@ signing_key:
|
|
143
155
|
specification_version: 3
|
144
156
|
summary: Ruby interface to the VI API
|
145
157
|
test_files:
|
146
|
-
-
|
147
|
-
-
|
148
|
-
-
|
158
|
+
- examples/create_vm.rb
|
159
|
+
- examples/extraConfig.rb
|
160
|
+
- examples/power.rb
|
161
|
+
- examples/readme-1.rb
|
162
|
+
- examples/readme-2.rb
|
149
163
|
- test/test_deserialization.rb
|
150
|
-
- test/test_parse_response.rb
|
151
164
|
- test/test_emit_request.rb
|
165
|
+
- test/test_exceptions.rb
|
166
|
+
- test/test_parse_response.rb
|
167
|
+
- test/test_serialization.rb
|