rbvmomi 2.0.0 → 2.0.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.
@@ -1,84 +0,0 @@
1
- # Copyright (c) 2011-2017 VMware, Inc. All Rights Reserved.
2
- # SPDX-License-Identifier: MIT
3
-
4
- # Translation of vGhetto vdf, originally by William Lam
5
- require 'optimist'
6
- require 'rbvmomi'
7
- require 'rbvmomi/optimist'
8
-
9
- VIM = RbVmomi::VIM
10
-
11
- opts = Optimist.options do
12
- banner <<-EOS
13
- Display utilization of each datastore in the datacenter.
14
-
15
- Usage:
16
- vdf.rb [options]
17
-
18
- VIM connection options:
19
- EOS
20
-
21
- rbvmomi_connection_opts
22
-
23
- text <<-EOS
24
-
25
- Datacenter selection:
26
- EOS
27
-
28
- rbvmomi_datacenter_opt
29
-
30
- text <<-EOS
31
-
32
- Other options:
33
- EOS
34
- end
35
-
36
- Optimist.die("must specify host") unless opts[:host]
37
-
38
- vim = VIM.connect opts
39
-
40
- dc = vim.serviceInstance.find_datacenter(opts[:datacenter]) or abort "datacenter not found"
41
-
42
- def si n
43
- ['', 'K', 'M', 'G', 'T', 'P'].each_with_index do |x,i|
44
- v = n.to_f/(1000**i)
45
- return v,x if v < 1000 or x == 'P'
46
- end
47
- end
48
-
49
- def unit n, u, p
50
- "%.*g%s%s" % [p, si(n), u].flatten
51
- end
52
-
53
- def b n
54
- unit(n,'B',3)
55
- end
56
-
57
- puts "Filesystem#{' '*53}Size Used Avail Use% Mounted on"
58
- fmt = "%-62s %-8s %-8s %-8s %-8s %s"
59
-
60
- if false
61
- # simple version
62
- dc.datastore.sort_by { |ds| ds.info.url }.each do |ds|
63
- s = ds.summary
64
- next unless s.accessible
65
- size = s.capacity
66
- free = s.freeSpace
67
- used = size - free
68
- pct_used = used*100.0/size
69
- puts(fmt % [ds.info.url, b(size), b(used), b(free), unit(pct_used,'%',3), ds.name])
70
- end
71
- else
72
- # fast version
73
- paths = %w(name info.url summary.accessible summary.capacity summary.freeSpace)
74
- propSet = [{ :type => 'Datastore', :pathSet => paths }]
75
- filterSpec = { :objectSet => dc.datastore.map { |ds| { :obj => ds } }, :propSet => propSet }
76
- data = vim.propertyCollector.RetrieveProperties(:specSet => [filterSpec])
77
- data.select { |d| d['summary.accessible'] }.sort_by { |d| d['info.url'] }.each do |d|
78
- size = d['summary.capacity']
79
- free = d['summary.freeSpace']
80
- used = size - free
81
- pct_used = used*100.0/size
82
- puts(fmt % [d['info.url'], b(size), b(used), b(free), unit(pct_used,'%',3), d['name']])
83
- end
84
- end
@@ -1,80 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # Copyright (c) 2011-2017 VMware, Inc. All Rights Reserved.
4
- # SPDX-License-Identifier: MIT
5
-
6
- require 'optimist'
7
- require 'rbvmomi'
8
- require 'rbvmomi/optimist'
9
-
10
- VIM = RbVmomi::VIM
11
- CMDS = %w(get set)
12
- BEHAVIOR = %w(fullyAutomated manual partiallyAutomated default)
13
-
14
- opts = Optimist.options do
15
- banner <<-EOS
16
- Configure VM DRS behavior.
17
-
18
- Usage:
19
- vm_drs_behavior.rb [options] VM get
20
- vm_drs_behavior.rb [options] VM set #{BEHAVIOR.join('|')}
21
-
22
- Commands: #{CMDS * ' '}
23
-
24
- VIM connection options:
25
- EOS
26
-
27
- rbvmomi_connection_opts
28
-
29
- text <<-EOS
30
-
31
- VM location options:
32
- EOS
33
-
34
- rbvmomi_datacenter_opt
35
-
36
- text <<-EOS
37
-
38
- Other options:
39
- EOS
40
-
41
- stop_on CMDS
42
- end
43
-
44
- Optimist.die("must specify host") unless opts[:host]
45
-
46
- vm_name = ARGV[0] or Optimist.die("no VM name given")
47
- cmd = ARGV[1] or Optimist.die("no command given")
48
- abort "invalid command" unless CMDS.member? cmd
49
-
50
- vim = VIM.connect opts
51
- dc = vim.serviceInstance.find_datacenter(opts[:datacenter]) or abort "datacenter not found"
52
- vm = dc.find_vm(vm_name) or abort "VM not found"
53
-
54
- cluster = vm.runtime.host.parent
55
- config = cluster.configurationEx.drsVmConfig.select {|c| c.key.name == vm.name }.first
56
- default = cluster.configurationEx.drsConfig.defaultVmBehavior
57
-
58
- case cmd
59
- when 'get'
60
- if config
61
- behavior = config.behavior
62
- else
63
- behavior = "#{default} (default)"
64
- end
65
- puts "#{vm.name} is #{behavior}"
66
- when 'set'
67
- behavior = ARGV[2] or Optimist.die("no behavior given")
68
- abort "invalid behavior" unless BEHAVIOR.member? behavior
69
-
70
- if behavior == "default"
71
- behavior = default
72
- end
73
- vm_spec =
74
- VIM.ClusterDrsVmConfigSpec(:operation => VIM.ArrayUpdateOperation(config ? "edit" : "add"),
75
- :info => VIM.ClusterDrsVmConfigInfo(:key => vm,
76
- :behavior => VIM.DrsBehavior(behavior)))
77
- spec = VIM.ClusterConfigSpecEx(:drsVmConfigSpec => [vm_spec])
78
- cluster.ReconfigureComputeResource_Task(:spec => spec, :modify => true).wait_for_completion
79
- end
80
-
@@ -1,33 +0,0 @@
1
- # Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved.
2
- # SPDX-License-Identifier: MIT
3
-
4
- $LOAD_PATH.unshift(File.expand_path('../lib', __FILE__))
5
-
6
- require 'rbvmomi/version'
7
-
8
- Gem::Specification.new do |spec|
9
- spec.name = 'rbvmomi'
10
- spec.summary = 'Ruby interface to the VMware vSphere API'
11
- spec.version = RbVmomi::VERSION
12
-
13
- spec.authors = ['Rich Lane', 'Christian Dickmann']
14
- spec.email = 'jrg@vmware.com'
15
- spec.homepage = 'https://github.com/vmware/rbvmomi'
16
- spec.license = 'MIT'
17
-
18
- spec.bindir = 'exe'
19
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(/^test\//) }
20
- spec.executables << 'rbvmomish'
21
-
22
- spec.add_runtime_dependency('builder', '~> 3.0')
23
- spec.add_runtime_dependency('json', '>= 1.8')
24
- spec.add_runtime_dependency('nokogiri', '~> 1.5')
25
- spec.add_runtime_dependency('optimist', '~> 3.0')
26
-
27
- spec.add_development_dependency('rake', '~> 10.5')
28
- spec.add_development_dependency('simplecov', '~> 0.12.0')
29
- spec.add_development_dependency('yard', '~> 0.9.5')
30
- spec.add_development_dependency('test-unit', '>= 2.5')
31
-
32
- spec.required_ruby_version = '>= 1.8.7'
33
- end