mkuzmin-rbvmomi 1.8.2.1

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.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +6 -0
  3. data/LICENSE +19 -0
  4. data/README.rdoc +78 -0
  5. data/Rakefile +45 -0
  6. data/VERSION +1 -0
  7. data/bin/rbvmomish +138 -0
  8. data/devel/analyze-vim-declarations.rb +213 -0
  9. data/devel/analyze-xml.rb +46 -0
  10. data/devel/benchmark.rb +117 -0
  11. data/devel/collisions.rb +18 -0
  12. data/devel/merge-internal-vmodl.rb +59 -0
  13. data/devel/merge-manual-vmodl.rb +32 -0
  14. data/examples/annotate.rb +54 -0
  15. data/examples/cached_ovf_deploy.rb +120 -0
  16. data/examples/clone_vm.rb +84 -0
  17. data/examples/create_vm-1.9.rb +93 -0
  18. data/examples/create_vm.rb +93 -0
  19. data/examples/extraConfig.rb +54 -0
  20. data/examples/lease_tool.rb +102 -0
  21. data/examples/logbundle.rb +63 -0
  22. data/examples/logtail.rb +60 -0
  23. data/examples/nfs_datastore.rb +95 -0
  24. data/examples/power.rb +59 -0
  25. data/examples/readme-1.rb +35 -0
  26. data/examples/readme-2.rb +51 -0
  27. data/examples/run.sh +41 -0
  28. data/examples/screenshot.rb +48 -0
  29. data/examples/vdf.rb +81 -0
  30. data/examples/vm_drs_behavior.rb +76 -0
  31. data/lib/rbvmomi.rb +12 -0
  32. data/lib/rbvmomi/basic_types.rb +375 -0
  33. data/lib/rbvmomi/connection.rb +270 -0
  34. data/lib/rbvmomi/deserialization.rb +248 -0
  35. data/lib/rbvmomi/fault.rb +17 -0
  36. data/lib/rbvmomi/pbm.rb +66 -0
  37. data/lib/rbvmomi/sms.rb +61 -0
  38. data/lib/rbvmomi/sms/SmsStorageManager.rb +7 -0
  39. data/lib/rbvmomi/trivial_soap.rb +114 -0
  40. data/lib/rbvmomi/trollop.rb +70 -0
  41. data/lib/rbvmomi/type_loader.rb +136 -0
  42. data/lib/rbvmomi/utils/admission_control.rb +398 -0
  43. data/lib/rbvmomi/utils/deploy.rb +314 -0
  44. data/lib/rbvmomi/utils/leases.rb +142 -0
  45. data/lib/rbvmomi/utils/perfdump.rb +628 -0
  46. data/lib/rbvmomi/vim.rb +128 -0
  47. data/lib/rbvmomi/vim/ComputeResource.rb +51 -0
  48. data/lib/rbvmomi/vim/Datacenter.rb +17 -0
  49. data/lib/rbvmomi/vim/Datastore.rb +68 -0
  50. data/lib/rbvmomi/vim/DynamicTypeMgrAllTypeInfo.rb +75 -0
  51. data/lib/rbvmomi/vim/DynamicTypeMgrDataTypeInfo.rb +20 -0
  52. data/lib/rbvmomi/vim/DynamicTypeMgrManagedTypeInfo.rb +46 -0
  53. data/lib/rbvmomi/vim/Folder.rb +207 -0
  54. data/lib/rbvmomi/vim/HostSystem.rb +174 -0
  55. data/lib/rbvmomi/vim/ManagedEntity.rb +57 -0
  56. data/lib/rbvmomi/vim/ManagedObject.rb +60 -0
  57. data/lib/rbvmomi/vim/ObjectContent.rb +23 -0
  58. data/lib/rbvmomi/vim/ObjectUpdate.rb +23 -0
  59. data/lib/rbvmomi/vim/OvfManager.rb +200 -0
  60. data/lib/rbvmomi/vim/PerfCounterInfo.rb +26 -0
  61. data/lib/rbvmomi/vim/PerformanceManager.rb +110 -0
  62. data/lib/rbvmomi/vim/PropertyCollector.rb +25 -0
  63. data/lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb +30 -0
  64. data/lib/rbvmomi/vim/ResourcePool.rb +55 -0
  65. data/lib/rbvmomi/vim/ServiceInstance.rb +55 -0
  66. data/lib/rbvmomi/vim/Task.rb +65 -0
  67. data/lib/rbvmomi/vim/VirtualMachine.rb +74 -0
  68. data/test/test_deserialization.rb +383 -0
  69. data/test/test_emit_request.rb +128 -0
  70. data/test/test_exceptions.rb +14 -0
  71. data/test/test_helper.rb +14 -0
  72. data/test/test_misc.rb +24 -0
  73. data/test/test_parse_response.rb +69 -0
  74. data/test/test_serialization.rb +311 -0
  75. data/vmodl.db +0 -0
  76. metadata +163 -0
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class ExceptionTest < Test::Unit::TestCase
4
+ def test_fault
5
+ begin
6
+ fault = VIM::InvalidArgument.new :invalidProperty => 'foo'
7
+ assert_raises RbVmomi::Fault do
8
+ raise RbVmomi::Fault.new('A specified parameter was not correct.', fault)
9
+ end
10
+ rescue VIM::InvalidArgument
11
+ assert_equal 'foo', $!.invalidProperty
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ coverage_tool = :simplecov if ENV['RBVMOMI_COVERAGE']
2
+
3
+ case coverage_tool
4
+ when :simplecov
5
+ require 'simplecov'
6
+ SimpleCov.start
7
+ when :cover_me
8
+ require 'cover_me'
9
+ end
10
+
11
+ require 'rbvmomi'
12
+ VIM = RbVmomi::VIM
13
+
14
+ require 'test/unit'
data/test/test_misc.rb ADDED
@@ -0,0 +1,24 @@
1
+ require 'test_helper'
2
+
3
+ class MiscTest < Test::Unit::TestCase
4
+ def test_overridden_const
5
+ assert(VIM::SecurityError < RbVmomi::BasicTypes::Base)
6
+ assert_equal 'SecurityError', VIM::SecurityError.wsdl_name
7
+ end
8
+
9
+ # XXX
10
+ def disabled_test_dynamically_overridden_const
11
+ assert !VIM.const_defined?(:ClusterAttemptedVmInfo)
12
+ Object.const_set :ClusterAttemptedVmInfo, :override
13
+ assert VIM::ClusterAttemptedVmInfo.is_a?(Class)
14
+ assert(VIM::ClusterAttemptedVmInfo < RbVmomi::BasicTypes::Base)
15
+ assert_equal 'ClusterAttemptedVmInfo', VIM::ClusterAttemptedVmInfo.wsdl_name
16
+ end
17
+
18
+ def test_loader
19
+ klass = VIM.loader.get('HostSystem')
20
+ klass2 = VIM::HostSystem
21
+ assert_equal klass, klass2
22
+ end
23
+ end
24
+
@@ -0,0 +1,69 @@
1
+ require 'test_helper'
2
+
3
+ class ParseResponseTest < Test::Unit::TestCase
4
+ def check desc, str, expected
5
+ soap = VIM.new(:ns => 'urn:vim25', :rev => '4.0')
6
+ got = soap.parse_response Nokogiri(str).root, desc
7
+ assert_equal expected, got
8
+ end
9
+
10
+ def test_string_array
11
+ desc = { 'wsdl_type' => 'xsd:string', 'is-array' => true, 'is-task' => false }
12
+
13
+ check desc, <<-EOS, ['a', 'b', 'c']
14
+ <root xmlns="urn:vim25">
15
+ <blah>a</blah>
16
+ <blah>b</blah>
17
+ <blah>c</blah>
18
+ </root>
19
+ EOS
20
+ end
21
+
22
+ def test_missing_parameter_fault
23
+ desc = { 'wsdl_type' => nil, 'is-array' => false, 'is-task' => false }
24
+
25
+ assert_raise RuntimeError do
26
+ check desc, <<-EOS, ['a', 'b', 'c']
27
+ <soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
28
+ <faultcode>ClientFaultCode</faultcode>
29
+ <faultstring>Required parameter selectionSet is missing</faultstring>
30
+ </soapenv:Fault>
31
+ EOS
32
+ end
33
+ end
34
+
35
+ def test_invalid_argument_fault
36
+ desc = { 'wsdl_type' => nil, 'is-array' => false, 'is-task' => false }
37
+
38
+ assert_raise RbVmomi::Fault do
39
+ begin
40
+ check desc, <<-EOS, nil
41
+ <soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
42
+ <faultcode>ServerFaultCode</faultcode>
43
+ <faultstring>A specified parameter was not correct. ticketType</faultstring>
44
+ <detail>
45
+ <InvalidArgumentFault xmlns="urn:vim25" xsi:type="InvalidArgument">
46
+ <invalidProperty>ticketType</invalidProperty>
47
+ </InvalidArgumentFault>
48
+ </detail>
49
+ </soapenv:Fault>
50
+ EOS
51
+ rescue VIM::InvalidArgument
52
+ raise
53
+ rescue
54
+ raise "wrong fault"
55
+ end
56
+ end
57
+ end
58
+
59
+ def test_task_array_result
60
+ desc = { 'wsdl_type' => 'xsd:string', 'is-array' => true, 'is-task' => true }
61
+
62
+ check desc, <<-EOS, VIM.Task(nil, 'haTask-ha-host-vim.DiagnosticManager.generateLogBundles-865')
63
+ <root xmlns="urn:vim25">
64
+ <returnval type="Task">haTask-ha-host-vim.DiagnosticManager.generateLogBundles-865</returnval>
65
+ </root>
66
+ EOS
67
+ end
68
+ end
69
+
@@ -0,0 +1,311 @@
1
+ require 'test_helper'
2
+
3
+ class SerializationTest < Test::Unit::TestCase
4
+ def check str, obj, type, array=false
5
+ conn = VIM.new(:ns => 'urn:vim25', :rev => '4.0')
6
+ xml = Builder::XmlMarkup.new :indent => 2
7
+ conn.obj2xml(xml, 'root', type, array, obj)
8
+
9
+ begin
10
+ assert_equal str, xml.target!
11
+ rescue MiniTest::Assertion
12
+ puts "expected:"
13
+ puts str
14
+ puts
15
+ puts "got:"
16
+ puts xml.target!
17
+ puts
18
+ raise
19
+ end
20
+ end
21
+
22
+ def test_moref
23
+ check <<-EOS, VIM.Folder(nil, "ha-folder-host"), "Folder"
24
+ <root type="Folder">ha-folder-host</root>
25
+ EOS
26
+ end
27
+
28
+ def test_config
29
+ cfg = VIM.VirtualMachineConfigSpec(
30
+ :name => 'vm',
31
+ :files => { :vmPathName => '[datastore1]' },
32
+ :guestId => 'otherGuest64',
33
+ :numCPUs => 2,
34
+ :memoryMB => 3072,
35
+ :deviceChange => [
36
+ {
37
+ :operation => :add,
38
+ :device => VIM.VirtualLsiLogicController(
39
+ :key => 1000,
40
+ :busNumber => 0,
41
+ :sharedBus => :noSharing
42
+ )
43
+ }, VIM.VirtualDeviceConfigSpec(
44
+ :operation => VIM.VirtualDeviceConfigSpecOperation(:add),
45
+ :fileOperation => VIM.VirtualDeviceConfigSpecFileOperation(:create),
46
+ :device => VIM.VirtualDisk(
47
+ :key => 0,
48
+ :backing => VIM.VirtualDiskFlatVer2BackingInfo(
49
+ :fileName => '[datastore1]',
50
+ :diskMode => :persistent,
51
+ :thinProvisioned => true
52
+ ),
53
+ :controllerKey => 1000,
54
+ :unitNumber => 0,
55
+ :capacityInKB => 4000000
56
+ )
57
+ ), {
58
+ :operation => :add,
59
+ :device => VIM.VirtualE1000(
60
+ :key => 0,
61
+ :deviceInfo => {
62
+ :label => 'Network Adapter 1',
63
+ :summary => 'VM Network'
64
+ },
65
+ :backing => VIM.VirtualEthernetCardNetworkBackingInfo(
66
+ :deviceName => 'VM Network'
67
+ ),
68
+ :addressType => 'generated'
69
+ )
70
+ }
71
+ ],
72
+ :extraConfig => [
73
+ {
74
+ :key => 'bios.bootOrder',
75
+ :value => 'ethernet0'
76
+ }
77
+ ]
78
+ )
79
+ check <<-EOS, cfg, "VirtualMachineConfigSpec"
80
+ <root xsi:type="VirtualMachineConfigSpec">
81
+ <name>vm</name>
82
+ <guestId>otherGuest64</guestId>
83
+ <files xsi:type="VirtualMachineFileInfo">
84
+ <vmPathName>[datastore1]</vmPathName>
85
+ </files>
86
+ <numCPUs>2</numCPUs>
87
+ <memoryMB>3072</memoryMB>
88
+ <deviceChange xsi:type="VirtualDeviceConfigSpec">
89
+ <operation>add</operation>
90
+ <device xsi:type="VirtualLsiLogicController">
91
+ <key>1000</key>
92
+ <busNumber>0</busNumber>
93
+ <sharedBus>noSharing</sharedBus>
94
+ </device>
95
+ </deviceChange>
96
+ <deviceChange xsi:type="VirtualDeviceConfigSpec">
97
+ <operation>add</operation>
98
+ <fileOperation>create</fileOperation>
99
+ <device xsi:type="VirtualDisk">
100
+ <key>0</key>
101
+ <backing xsi:type="VirtualDiskFlatVer2BackingInfo">
102
+ <fileName>[datastore1]</fileName>
103
+ <diskMode>persistent</diskMode>
104
+ <thinProvisioned>1</thinProvisioned>
105
+ </backing>
106
+ <controllerKey>1000</controllerKey>
107
+ <unitNumber>0</unitNumber>
108
+ <capacityInKB>4000000</capacityInKB>
109
+ </device>
110
+ </deviceChange>
111
+ <deviceChange xsi:type="VirtualDeviceConfigSpec">
112
+ <operation>add</operation>
113
+ <device xsi:type="VirtualE1000">
114
+ <key>0</key>
115
+ <deviceInfo xsi:type="Description">
116
+ <label>Network Adapter 1</label>
117
+ <summary>VM Network</summary>
118
+ </deviceInfo>
119
+ <backing xsi:type="VirtualEthernetCardNetworkBackingInfo">
120
+ <deviceName>VM Network</deviceName>
121
+ </backing>
122
+ <addressType>generated</addressType>
123
+ </device>
124
+ </deviceChange>
125
+ <extraConfig xsi:type="OptionValue">
126
+ <key>bios.bootOrder</key>
127
+ <value xsi:type="xsd:string">ethernet0</value>
128
+ </extraConfig>
129
+ </root>
130
+ EOS
131
+ end
132
+
133
+ def test_nil_field
134
+ obj = VIM.OptionValue(:key => 'foo', :value => nil)
135
+ check <<-EOS, obj, "OptionValue"
136
+ <root xsi:type="OptionValue">
137
+ <key>foo</key>
138
+ </root>
139
+ EOS
140
+ end
141
+
142
+ def test_string_array
143
+ obj = ["foo", "bar", "baz"]
144
+ check <<-EOS, obj, "xsd:string", true
145
+ <root>foo</root>
146
+ <root>bar</root>
147
+ <root>baz</root>
148
+ EOS
149
+ end
150
+
151
+ def test_int_array
152
+ obj = [1,2,3]
153
+ check <<-EOS, obj, "xsd:int", true
154
+ <root>1</root>
155
+ <root>2</root>
156
+ <root>3</root>
157
+ EOS
158
+ end
159
+
160
+ def test_boolean_array
161
+ obj = [true,false,true]
162
+ check <<-EOS, obj, "xsd:boolean", true
163
+ <root>1</root>
164
+ <root>0</root>
165
+ <root>1</root>
166
+ EOS
167
+ end
168
+
169
+ def test_float_array
170
+ obj = [0.0,1.5,3.14]
171
+ check <<-EOS, obj, "xsd:float", true
172
+ <root>0.0</root>
173
+ <root>1.5</root>
174
+ <root>3.14</root>
175
+ EOS
176
+ end
177
+
178
+ def test_binary
179
+ obj = "\x00foo\x01bar\x02baz"
180
+ check <<-EOS, obj, 'xsd:base64Binary'
181
+ <root>AGZvbwFiYXICYmF6</root>
182
+ EOS
183
+ end
184
+
185
+ def test_property_spec
186
+ interested = %w(info.progress info.state info.entityName info.error)
187
+ tasks = [VIM::Task.new(nil, 'task-11')]
188
+ obj = {
189
+ :propSet => [{ :type => 'Task', :all => false, :pathSet => interested }],
190
+ :objectSet => tasks.map { |x| { :obj => x } },
191
+ }
192
+ check <<-EOS, obj, 'PropertyFilterSpec'
193
+ <root xsi:type="PropertyFilterSpec">
194
+ <propSet xsi:type="PropertySpec">
195
+ <type>Task</type>
196
+ <all>0</all>
197
+ <pathSet>info.progress</pathSet>
198
+ <pathSet>info.state</pathSet>
199
+ <pathSet>info.entityName</pathSet>
200
+ <pathSet>info.error</pathSet>
201
+ </propSet>
202
+ <objectSet xsi:type="ObjectSpec">
203
+ <obj type="Task">task-11</obj>
204
+ </objectSet>
205
+ </root>
206
+ EOS
207
+
208
+ end
209
+
210
+ def test_keyvalue
211
+ obj = RbVmomi::BasicTypes::KeyValue.new('a', 'b')
212
+ check <<-EOS, obj, 'KeyValue', false
213
+ <root>
214
+ <key>a</key>
215
+ <value>b</value>
216
+ </root>
217
+ EOS
218
+
219
+ obj = ['a', 'b']
220
+ check <<-EOS, obj, 'KeyValue', false
221
+ <root>
222
+ <key>a</key>
223
+ <value>b</value>
224
+ </root>
225
+ EOS
226
+
227
+ obj = [['a', 'b'], ['c', 'd']]
228
+ check <<-EOS, obj, 'KeyValue', true
229
+ <root>
230
+ <key>a</key>
231
+ <value>b</value>
232
+ </root>
233
+ <root>
234
+ <key>c</key>
235
+ <value>d</value>
236
+ </root>
237
+ EOS
238
+
239
+ obj = { 'a' => 'b', :c => 'd' }
240
+ check <<-EOS, obj, 'KeyValue', true
241
+ <root>
242
+ <key>a</key>
243
+ <value>b</value>
244
+ </root>
245
+ <root>
246
+ <key>c</key>
247
+ <value>d</value>
248
+ </root>
249
+ EOS
250
+ end
251
+
252
+ def test_ovf_import_spec_params
253
+ obj = RbVmomi::VIM::OvfCreateImportSpecParams(
254
+ :hostSystem => VIM::HostSystem(nil, "myhost"),
255
+ :locale => "US",
256
+ :entityName => "myvm",
257
+ :deploymentOption => "",
258
+ :networkMapping => [],
259
+ :propertyMapping => [['a', 'b'], ['c', 'd']],
260
+ :diskProvisioning => :thin
261
+ )
262
+
263
+ check <<-EOS, obj, 'OvfCreateImportSpecParams', false
264
+ <root xsi:type="OvfCreateImportSpecParams">
265
+ <locale>US</locale>
266
+ <deploymentOption></deploymentOption>
267
+ <entityName>myvm</entityName>
268
+ <hostSystem type="HostSystem">myhost</hostSystem>
269
+ <propertyMapping>
270
+ <key>a</key>
271
+ <value>b</value>
272
+ </propertyMapping>
273
+ <propertyMapping>
274
+ <key>c</key>
275
+ <value>d</value>
276
+ </propertyMapping>
277
+ <diskProvisioning>thin</diskProvisioning>
278
+ </root>
279
+ EOS
280
+ end
281
+
282
+ def test_datetime
283
+ obj = DateTime.new(2011, 11, 16, 13, 36, 8, Rational(-8,24))
284
+ check <<-EOS, obj, 'xsd:dateTime', false
285
+ <root>2011-11-16T13:36:08-08:00</root>
286
+ EOS
287
+ end
288
+
289
+ def test_time
290
+ obj = Time.at(DateTime.new(2011, 11, 16, 13, 36, 8, Rational(-8,24)).strftime("%s").to_i).getgm
291
+ check <<-EOS, obj, 'xsd:dateTime', false
292
+ <root>2011-11-16T21:36:08Z</root>
293
+ EOS
294
+ end
295
+
296
+ # TODO test all types
297
+ def test_any_type
298
+ obj = 1
299
+ check <<-EOS, obj, 'xsd:anyType', false
300
+ <root xsi:type="xsd:long">1</root>
301
+ EOS
302
+
303
+ obj = VIM::HostAccountSpec(:id => 'root', :password => 'foo')
304
+ check <<-EOS, obj, 'xsd:anyType', false
305
+ <root xsi:type="HostAccountSpec">
306
+ <id>root</id>
307
+ <password>foo</password>
308
+ </root>
309
+ EOS
310
+ end
311
+ end
data/vmodl.db ADDED
Binary file
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mkuzmin-rbvmomi
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.8.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Rich Lane
8
+ - Christian Dickmann
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: 1.4.1
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: 1.4.1
28
+ - !ruby/object:Gem::Dependency
29
+ name: builder
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: trollop
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ description:
57
+ email: mkuzmin@gmail.com
58
+ executables:
59
+ - rbvmomish
60
+ extensions: []
61
+ extra_rdoc_files:
62
+ - LICENSE
63
+ - README.rdoc
64
+ files:
65
+ - .yardopts
66
+ - LICENSE
67
+ - README.rdoc
68
+ - Rakefile
69
+ - VERSION
70
+ - bin/rbvmomish
71
+ - devel/analyze-vim-declarations.rb
72
+ - devel/analyze-xml.rb
73
+ - devel/benchmark.rb
74
+ - devel/collisions.rb
75
+ - devel/merge-internal-vmodl.rb
76
+ - devel/merge-manual-vmodl.rb
77
+ - examples/annotate.rb
78
+ - examples/cached_ovf_deploy.rb
79
+ - examples/clone_vm.rb
80
+ - examples/create_vm-1.9.rb
81
+ - examples/create_vm.rb
82
+ - examples/extraConfig.rb
83
+ - examples/lease_tool.rb
84
+ - examples/logbundle.rb
85
+ - examples/logtail.rb
86
+ - examples/nfs_datastore.rb
87
+ - examples/power.rb
88
+ - examples/readme-1.rb
89
+ - examples/readme-2.rb
90
+ - examples/run.sh
91
+ - examples/screenshot.rb
92
+ - examples/vdf.rb
93
+ - examples/vm_drs_behavior.rb
94
+ - lib/rbvmomi.rb
95
+ - lib/rbvmomi/basic_types.rb
96
+ - lib/rbvmomi/connection.rb
97
+ - lib/rbvmomi/deserialization.rb
98
+ - lib/rbvmomi/fault.rb
99
+ - lib/rbvmomi/pbm.rb
100
+ - lib/rbvmomi/sms.rb
101
+ - lib/rbvmomi/sms/SmsStorageManager.rb
102
+ - lib/rbvmomi/trivial_soap.rb
103
+ - lib/rbvmomi/trollop.rb
104
+ - lib/rbvmomi/type_loader.rb
105
+ - lib/rbvmomi/utils/admission_control.rb
106
+ - lib/rbvmomi/utils/deploy.rb
107
+ - lib/rbvmomi/utils/leases.rb
108
+ - lib/rbvmomi/utils/perfdump.rb
109
+ - lib/rbvmomi/vim.rb
110
+ - lib/rbvmomi/vim/ComputeResource.rb
111
+ - lib/rbvmomi/vim/Datacenter.rb
112
+ - lib/rbvmomi/vim/Datastore.rb
113
+ - lib/rbvmomi/vim/DynamicTypeMgrAllTypeInfo.rb
114
+ - lib/rbvmomi/vim/DynamicTypeMgrDataTypeInfo.rb
115
+ - lib/rbvmomi/vim/DynamicTypeMgrManagedTypeInfo.rb
116
+ - lib/rbvmomi/vim/Folder.rb
117
+ - lib/rbvmomi/vim/HostSystem.rb
118
+ - lib/rbvmomi/vim/ManagedEntity.rb
119
+ - lib/rbvmomi/vim/ManagedObject.rb
120
+ - lib/rbvmomi/vim/ObjectContent.rb
121
+ - lib/rbvmomi/vim/ObjectUpdate.rb
122
+ - lib/rbvmomi/vim/OvfManager.rb
123
+ - lib/rbvmomi/vim/PerfCounterInfo.rb
124
+ - lib/rbvmomi/vim/PerformanceManager.rb
125
+ - lib/rbvmomi/vim/PropertyCollector.rb
126
+ - lib/rbvmomi/vim/ReflectManagedMethodExecuter.rb
127
+ - lib/rbvmomi/vim/ResourcePool.rb
128
+ - lib/rbvmomi/vim/ServiceInstance.rb
129
+ - lib/rbvmomi/vim/Task.rb
130
+ - lib/rbvmomi/vim/VirtualMachine.rb
131
+ - test/test_deserialization.rb
132
+ - test/test_emit_request.rb
133
+ - test/test_exceptions.rb
134
+ - test/test_helper.rb
135
+ - test/test_misc.rb
136
+ - test/test_parse_response.rb
137
+ - test/test_serialization.rb
138
+ - vmodl.db
139
+ homepage: https://github.com/mkuzmin/rbvmomi
140
+ licenses: []
141
+ metadata: {}
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - '>='
149
+ - !ruby/object:Gem::Version
150
+ version: 1.8.7
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 2.2.2
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: Ruby interface to the VMware vSphere API
162
+ test_files: []
163
+ has_rdoc: