class VmwareClass
Wrapper class to interact with vmware
Public Class Methods
new(host_name)
click to toggle source
# File lib/miq_utilities/vmware.rb, line 18 def initialize(host_name) @host_name = host_name end
Public Instance Methods
find_vm(datacenter, vmname)
click to toggle source
# File lib/miq_utilities/vmware.rb, line 32 def find_vm(datacenter, vmname) vm = {} datacenter.datastoreFolder.childEntity.collect do |datastore| vm[:instance] = datastore.vm.find { |x| x.name == vmname } if vm[:instance] vm[:datastore] = datastore.name break end end vm end
get_vsphere_connection(user, password)
click to toggle source
# File lib/miq_utilities/vmware.rb, line 22 def get_vsphere_connection(user, password) @connection = RbVmomi::VIM.connect(host: @host_name, user: user, password: password, insecure: true) @connection end
retrieve_data_center()
click to toggle source
# File lib/miq_utilities/vmware.rb, line 27 def retrieve_data_center @connection.serviceInstance.find_datacenter || raise('Datacenter not found!') unless @connection.nil? raise("No connection established!\nUse the \"get_vsphere_connection\" method to connect.") if @connection.nil? end
upg_tools(vmobj)
click to toggle source
# File lib/miq_utilities/vmware.rb, line 44 def upg_tools(vmobj) instopts = if vmobj[:instance][:guest][:guestFamily] == 'windowsGuest' '/s /v "/qn REBOOT=ReallySuppress"' end vmobj[:instance].UpgradeTools_Task(installerOptions: instopts).wait_for_completion end