Sha256: 4b994dba1bc789fab030b5ef83365ced8807ec60e0f99f61362f407efae31be1
Contents?: true
Size: 1.15 KB
Versions: 11
Compression:
Stored size: 1.15 KB
Contents
require 'trollop' require 'rbvmomi' require 'rbvmomi/trollop' VIM = RbVmomi::VIM CMDS = %w(list set) opts = Trollop.options do banner <<-EOS View and modify VM extraConfig options. Usage: extraConfig.rb [options] VM list extraConfig.rb [options] VM set key=value [key=value...] Commands: #{CMDS * ' '} VIM connection options: EOS rbvmomi_connection_opts text <<-EOS VM location options: EOS rbvmomi_datacenter_opt text <<-EOS Other options: EOS stop_on CMDS end vm_name = ARGV[0] or Trollop.die("no VM name given") cmd = ARGV[1] or Trollop.die("no command given") abort "invalid command" unless CMDS.member? cmd Trollop.die("must specify host") unless opts[:host] vim = VIM.connect opts dc = vim.serviceInstance.find_datacenter(opts[:datacenter]) or abort "datacenter not found" vm = dc.find_vm(vm_name) or abort "VM not found" case cmd when 'list' vm.config.extraConfig.each { |x| puts "#{x.key}: #{x.value}" } when 'set' extraConfig = ARGV.map { |x| x.split("=", 2) }.map { |k,v| { :key => k, :value => v } } vm.ReconfigVM_Task(:spec => VIM.VirtualMachineConfigSpec(:extraConfig => extraConfig)).wait_for_completion end
Version data entries
11 entries across 11 versions & 1 rubygems