rbvmomi 1.11.2 → 1.11.3

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