mkuzmin-rbvmomi 1.8.2.1

Sign up to get free protection for your applications and to get access to all the features.
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: