rbvmomi 1.11.2 → 1.11.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1539a4ed4c313bf1d30a9a42da3acc4d4726fb1f
4
- data.tar.gz: d38e49f90790174c5042566b1b412199a902333b
3
+ metadata.gz: 291486048aa5b6cbd7146d49d7324a4b236212d5
4
+ data.tar.gz: 1586964068b6036bbee0a7b2beb3c0ca430c8aa6
5
5
  SHA512:
6
- metadata.gz: be7f3b4523df9b36792aace9c86b1e462c5648064fdeee84e436a32c3d1de4a66f0fb75948418a07c841e6e97b731f440ac238b7b6acf89274acf89757d1d801
7
- data.tar.gz: 5f92a99dcec647b46094618a2a835815801a3149515b6c6cd98d6c18ee03cc84079952ab2d005d6b381e1f958855fac19a83abf1b6d07a6daddb7fafb03c964a
6
+ metadata.gz: 7869ac4308e5c56472c42bb1359a1808956d9f2f83b30066825e88b7ab9be434d94b42521a45c335bf7718d8ae624a9102565ffe8c5abb04d3027b735476ca79
7
+ data.tar.gz: 7779212ffb10678dcae454875a381ff0beed76488fc77106490506d032b7b166f348a8678ea5577cfe0e2be3bf61967775d001f5f3a0776b0f145078056b372c
data/.yardopts CHANGED
@@ -1,6 +1,6 @@
1
1
  --title "RbVmomi - a Ruby interface to the vSphere API"
2
2
  --no-private
3
- --readme README.rdoc
3
+ --readme README.md
4
4
  lib/rbvmomi/vim.rb
5
5
  lib/rbvmomi/vim/*.rb
6
6
  lib/rbvmomi/trollop.rb
@@ -0,0 +1,114 @@
1
+ # RbVmomi
2
+
3
+ [<img src="https://badge.fury.io/rb/rbvmomi.svg" alt="gem-version">](https://rubygems.org/gems/rbvmomi)
4
+ [<img src="https://travis-ci.org/vmware/rbvmomi.svg?branch=master" alt="travis-ci">](http://travis-ci.org/vmware/rbvmomi)
5
+ [<img src="https://badges.gitter.im/vmware/rbvmomi.svg">](https://gitter.im/vmware/rbvmomi)
6
+
7
+ This is a community-supported, open source project at VMware. It is built and
8
+ maintained by programmers like you!
9
+
10
+ ## Introduction
11
+
12
+ RbVmomi is a Ruby interface to the vSphere API. Like the Perl and Java SDKs,
13
+ you can use it to manage ESX and vCenter servers. The current release
14
+ supports the vSphere 6.5 API. RbVmomi specific documentation is
15
+ [online](http://rdoc.info/github/vmware/rbvmomi/master/frames) and is meant to
16
+ be used alongside the official [documentation](http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.wssdk.apiref.doc/right-pane.html).
17
+
18
+ ## Installation
19
+
20
+ gem install rbvmomi
21
+
22
+ ### Support for older Ruby versions
23
+
24
+ RbVmomi supports Ruby 1.8.7 and higher, but certain dependencies may need
25
+ pinning to older versions to get a compatible set of gems.
26
+
27
+ On Ruby 1.8.7:
28
+
29
+ * use `nokogiri` 1.5.x (Gemfile: `gem 'nokogiri', '< 1.6'`)
30
+
31
+
32
+ On both Ruby 1.9 and 1.8.7:
33
+
34
+ * use `json` 1.x (Gemfile: `gem 'json', '< 2'`)
35
+
36
+
37
+ ## Usage
38
+
39
+ A simple example of turning on a VM:
40
+
41
+ ```ruby
42
+ require 'rbvmomi'
43
+
44
+ vim = RbVmomi::VIM.connect(host: 'foo', user: 'bar', password: 'baz')
45
+ dc = vim.serviceInstance.find_datacenter('my_datacenter') || fail('datacenter not found')
46
+ vm = dc.find_vm('my_vm') || fail('VM not found')
47
+ vm.PowerOnVM_Task.wait_for_completion
48
+ ```
49
+
50
+ This code uses several RbVmomi extensions to the vSphere API for concision.
51
+ The expanded snippet below uses only standard API calls and should be familiar
52
+ to users of the Java SDK:
53
+
54
+ ```ruby
55
+ require 'rbvmomi'
56
+
57
+ vim = RbVmomi::VIM.connect(host: 'foo', user: 'bar', password: 'baz')
58
+ root_folder = vim.serviceInstance.content.rootFolder
59
+ dc = rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).find { |x| x.name == 'mydatacenter' } || fail('datacenter not found')
60
+ vm = dc.vmFolder.childEntity.grep(RbVmomi::VIM::VirtualMachine).find { |x| x.name == 'my_vm' } || fail('VM not found')
61
+ task = vm.PowerOnVM_Task
62
+ filter = vim.propertyCollector.CreateFilter(
63
+ spec: {
64
+ propSet: [{ type: 'Task', all: false, pathSet: ['info.state']}],
65
+ objectSet: [{ obj: task }]
66
+ },
67
+ partialUpdates: false
68
+ )
69
+ ver = ''
70
+ loop do
71
+ result = vim.propertyCollector.WaitForUpdates(version: ver)
72
+ ver = result.version
73
+ break if ['success', 'error'].member?(task.info.state)
74
+ end
75
+ filter.DestroyPropertyFilter
76
+ raise(task.info.error) if task.info.state == 'error'
77
+ ```
78
+
79
+ As you can see, the extensions RbVmomi adds can dramatically decrease the code
80
+ needed to perform simple tasks while still letting you use the full power of
81
+ the API when necessary. RbVmomi extensions are often more efficient than a
82
+ naive implementation; for example, the find_vm method on VIM::Datacenter used
83
+ in the first example uses the SearchIndex for fast lookups.
84
+
85
+ A few important points:
86
+
87
+ * All class, method, parameter, and property names match the official [documentation](http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.wssdk.apiref.doc/right-pane.html).
88
+ * Properties are exposed as accessor methods.
89
+ * Data object types can usually be inferred from context, so you may use a hash instead.
90
+ * Enumeration values are simply strings.
91
+ * Example code is included in the examples/ directory.
92
+ * A set of helper methods for Trollop is included to speed up development of
93
+ command line apps. See the included examples for usage.
94
+ * If you don't have trusted SSL certificates installed on the host you're
95
+ connecting to, you'll get an `OpenSSL::SSL::SSLError` "certificate verify
96
+ failed". You can work around this by using the `:insecure` option to
97
+ `RbVmomi::VIM.connect`.
98
+ * This is a side project of a VMware employee and is entirely unsupported by
99
+ VMware.
100
+
101
+
102
+ Built-in extensions are under `lib/rbvmomi/vim/`. You are encouraged to reopen
103
+ VIM classes in your applications and add extensions of your own. If you write
104
+ something generally useful please open a [pull request](https://github.com/vmware/rbvmomi/pulls) so it can be merged back in
105
+
106
+ ## Development
107
+
108
+ Open an issue on the [issues page](https://github.com/vmware/rbvmomi/issues)
109
+ or fork the project on [GitHub](https://github.com/vmware/rbvmomi) and send a
110
+ [pull request](https://github.com/vmware/rbvmomi/pulls).
111
+
112
+ ## Support
113
+
114
+ You can chat on [Gitter](https://gitter.im/vmware/rbvmomi) or join the [VMware {code} Slack team](https://vmwarecode.slack.com/) and join the [#rbvmomi channel](https://vmwarecode.slack.com/messages/rbvmomi).
@@ -2,5 +2,5 @@
2
2
  # SPDX-License-Identifier: MIT
3
3
 
4
4
  module RbVmomi
5
- VERSION = '1.11.2'.freeze
5
+ VERSION = '1.11.3'.freeze
6
6
  end
data/vmodl.db CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbvmomi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.2
4
+ version: 1.11.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Lane
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-04-28 00:00:00.000000000 Z
12
+ date: 2017-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -136,7 +136,7 @@ files:
136
136
  - CONTRIBUTORS.md
137
137
  - Gemfile
138
138
  - LICENSE
139
- - README.rdoc
139
+ - README.md
140
140
  - Rakefile
141
141
  - devel/analyze-vim-declarations.rb
142
142
  - devel/analyze-xml.rb
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  version: '0'
223
223
  requirements: []
224
224
  rubyforge_project:
225
- rubygems_version: 2.6.10
225
+ rubygems_version: 2.6.12
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: Ruby interface to the VMware vSphere API
@@ -1,105 +0,0 @@
1
- = RbVmomi
2
-
3
- {<img src="https://badge.fury.io/rb/rbvmomi.svg" alt="gem-version">}[https://rubygems.org/gems/rbvmomi]
4
- {<img src="https://travis-ci.org/vmware/rbvmomi.svg?branch=master" alt="travis-ci">}[http://travis-ci.org/vmware/rbvmomi]
5
- {<img src="https://badges.gitter.im/vmware/rbvmomi.svg">}[https://gitter.im/vmware/rbvmomi]
6
-
7
- This is a community-supported, open source project at VMware. It is built and maintained by programmers like you!
8
-
9
- == Introduction
10
-
11
- RbVmomi is a Ruby interface to the vSphere API. Like the Perl and Java SDKs,
12
- you can use it to manage ESX and vCenter servers. The current release
13
- supports the vSphere 6.5 API. RbVmomi specific documentation is
14
- online[http://rdoc.info/github/vmware/rbvmomi/master/frames] and is meant to
15
- be used alongside the official documentation[http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.wssdk.apiref.doc/right-pane.html].
16
-
17
- == Installation
18
-
19
- gem install rbvmomi
20
-
21
- === Support for older Ruby versions
22
-
23
- RbVmomi supports Ruby 1.8.7 and higher, but certain dependencies may need
24
- pinning to older versions to get a compatible set of gems.
25
-
26
- On Ruby 1.8.7:
27
-
28
- * use +nokogiri+ 1.5.x (Gemfile: <code>gem 'nokogiri', '< 1.6'</code>)
29
-
30
- On both Ruby 1.9 and 1.8.7:
31
-
32
- * use +json+ 1.x (Gemfile: <code>gem 'json', '< 2'</code>)
33
-
34
- == Usage
35
-
36
- A simple example of turning on a VM:
37
-
38
- require 'rbvmomi'
39
-
40
- vim = RbVmomi::VIM.connect(host: 'foo', user: 'bar', password: 'baz')
41
- dc = vim.serviceInstance.find_datacenter('my_datacenter') || fail('datacenter not found')
42
- vm = dc.find_vm('my_vm') || fail('VM not found')
43
- vm.PowerOnVM_Task.wait_for_completion
44
-
45
- This code uses several RbVmomi extensions to the vSphere API for concision. The
46
- expanded snippet below uses only standard API calls and should be familiar to
47
- users of the Java SDK:
48
-
49
- require 'rbvmomi'
50
-
51
- vim = RbVmomi::VIM.connect(host: 'foo', user: 'bar', password: 'baz')
52
- root_folder = vim.serviceInstance.content.rootFolder
53
- dc = rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).find { |x| x.name == 'mydatacenter' } || fail('datacenter not found')
54
- vm = dc.vmFolder.childEntity.grep(RbVmomi::VIM::VirtualMachine).find { |x| x.name == 'my_vm' } || fail('VM not found')
55
- task = vm.PowerOnVM_Task
56
- filter = vim.propertyCollector.CreateFilter(
57
- spec: {
58
- propSet: [{ type: 'Task', all: false, pathSet: ['info.state']}],
59
- objectSet: [{ obj: task }]
60
- },
61
- partialUpdates: false
62
- )
63
- ver = ''
64
- loop do
65
- result = vim.propertyCollector.WaitForUpdates(version: ver)
66
- ver = result.version
67
- break if ['success', 'error'].member?(task.info.state)
68
- end
69
- filter.DestroyPropertyFilter
70
- raise(task.info.error) if task.info.state == 'error'
71
-
72
- As you can see, the extensions RbVmomi adds can dramatically decrease the code
73
- needed to perform simple tasks while still letting you use the full power of
74
- the API when necessary. RbVmomi extensions are often more efficient than a
75
- naive implementation; for example, the find_vm method on VIM::Datacenter used
76
- in the first example uses the SearchIndex for fast lookups.
77
-
78
- A few important points:
79
-
80
- * All class, method, parameter, and property names match the official documentation[http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.wssdk.apiref.doc/right-pane.html].
81
- * Properties are exposed as accessor methods.
82
- * Data object types can usually be inferred from context, so you may use a hash instead.
83
- * Enumeration values are simply strings.
84
- * Example code is included in the examples/ directory.
85
- * A set of helper methods for Trollop is included to speed up development of
86
- command line apps. See the included examples for usage.
87
- * If you don't have trusted SSL certificates installed on the host you're
88
- connecting to, you'll get an +OpenSSL::SSL::SSLError+ "certificate verify failed".
89
- You can work around this by using the +:insecure+ option to +RbVmomi::VIM.connect+.
90
- * This is a side project of a VMware employee and is entirely unsupported by VMware.
91
-
92
- Built-in extensions are under +lib/rbvmomi/vim/+. You are encouraged to
93
- reopen VIM classes in your applications and add extensions of your own. If you
94
- write something generally useful please open a {pull request}[https://github.com/vmware/rbvmomi/pulls] so it
95
- can be merged back in
96
-
97
- == Development
98
-
99
- Open an issue on the {issues page}[https://github.com/vmware/rbvmomi/issues] or
100
- fork the project on {GitHub}[https://github.com/vmware/rbvmomi] and send a {pull request}[https://github.com/vmware/rbvmomi/pulls].
101
-
102
- == Support
103
-
104
- You can chat on {Gitter}[https://gitter.im/vmware/rbvmomi] or join the {VMware \{code} Slack team}[https://vmwarecode.slack.com/]
105
- and join the {#rbvmomi channel}[https://vmwarecode.slack.com/messages/rbvmomi].