Class: MiqVim

Inherits:
MiqVimInventory show all
Includes:
MiqPbmInventory, MiqVimVdlConnectionMod
Defined in:
lib/VMwareWebService/MiqVim.rb

Direct Known Subclasses

DMiqVim

Constant Summary

Constants included from VimPropMaps

VimPropMaps::CorePropMap, VimPropMaps::EmsRefreshPropMap, VimPropMaps::EventMonitorPropMap, VimPropMaps::FullPropMap, VimPropMaps::PropMap4, VimPropMaps::UpdatePropMapsByType, VimPropMaps::VimCoreUpdaterPropMap

Instance Attribute Summary

Attributes inherited from MiqVimInventory

#cacheLock, #configLock

Attributes inherited from MiqVimClientBase

#connId, #password, #server, #username

Attributes inherited from VimService

#about, #apiVersion, #isVirtualCenter, #serviceInstanceMor, #session_cookie, #sic, #v2, #v20, #v4

Instance Method Summary collapse

Methods included from MiqPbmInventory

#pbmProfilesByUid, #pbmQueryAssociatedEntity, #pbmQueryMatchingHub, #pbm_initialize

Methods included from MiqVimVdlConnectionMod

#closeVdlConnection, #vdlConnection

Methods inherited from MiqVimInventory

#addDVPObj, #addDVSObj, #addDataStore, #addDataStoreObj, #addHostSystem, #addHostSystemObj, #addObjByMor, #addObjHash, #addProperty, #addStoragePodObj, #addToCollection, #addVirtualMachine, #allPropsFromCache, #applyFilter, #applySelSpec, #applySelector, #assert_no_locks, #browseDiagnosticLog, #browseDiagnosticLogEx, cacheScope, cacheScope=, #cacheStats, #cancelTask, #clusterComputeResourceByMor, #clusterComputeResources, #clusterComputeResourcesByFilter, #clusterComputeResourcesByMor, #computeResourceByMor, #computeResources, #computeResourcesByFilter, #computeResourcesByMor, #conditionalCopy, #currentSession, #dataStoreByMor, #dataStores, #dataStoresByFilter, #dataStoresByFilter_local, #dataStoresByMor, #datacenterByMor, #datacenters, #datacentersByFilter, #datacentersByMor, #datastorePath, #deepClone, #deleteProperty, #dsName2mo, #dsName2mo_local, #dsName2path, #dsPath?, dsPath?, #dsRelativePath, dsRelativePath, #dupObj, #dvPortgroupByMor, #dvPortgroups, #dvPortgroupsByMor, #dvSwitchByMor, #dvSwitches, #dvSwitchesByMor, #folderByMor, #folders, #foldersByFilter, #foldersByMor, #getMoProp, #getMoPropMulti, #getMoPropMultiIter, #getMoProp_local, #getSelSpec, #getSelector, #getTaskMor, #getTasks, #getTasksByFilter, #hasProp?, #hostSystemByMor, #hostSystems, #hostSystemsByFilter, #hostSystemsByMor, #hostSystemsStorageDevice, #inventoryHash, #inventoryHash_locked, #isAlive?, #isDead, #isHostAgent?, #isVirtualCenter?, #keyExistsInCache?, #keyFromCache, #loadCache, #localVmPath, #logCacheCounts, #logUserEvent, #objFixUp, #path2dsName, path2dsName, #pollTask, #propFromCache, #propValue, #queryLogDescriptions, #refreshVirtualMachine, #removeObjByMor, #removeSelector, removeSelector, #removeVirtualMachine, #resetCache, #resourcePoolByMor, #resourcePools, #resourcePoolsByFilter, #resourcePoolsByMor, #selSpecToPropPath, #setSelector, setSelector, #snapshotFixup, #spec, #storagePodByMor, #storagePods, #storagePodsByMor, #updateSpec, #updateSpecByPropMap, #virtualAppByMor, #virtualApps, #virtualAppsByFilter, #virtualAppsByMor, #virtualMachineByMor, #virtualMachines, #virtualMachinesByFilter, #virtualMachinesByMor, #vmDatacenterName, #waitForTask

Methods included from MiqVimObjectSet

#objectSet

Methods included from MiqVimDump

#dumpAll, #dumpArray, #dumpClass, #dumpHash, #dumpHostInfo, #dumpMors, #dumpObj, #dumpToLog=, #globalIndent=, #indentedPrint

Methods included from VimPropMaps

#dupProps

Methods inherited from MiqVimClientBase

#acquireCloneTicket, #connect, #currentServerTime, #receiveTimeout, receiveTimeout, #receiveTimeout=, receiveTimeout=, #sdk_uri, #verify_callback

Methods inherited from VimService

#acquireCloneTicket, #acquireMksTicket, #acquireTicket, #addHost_Task, #addInternetScsiSendTargets, #addInternetScsiStaticTargets, #addStandaloneHost_Task, #browseDiagnosticLog, #cancelTask, #cancelWaitForUpdates, #cloneVM_Task, #continueRetrievePropertiesEx, #createAlarm, #createCollectorForEvents, #createCustomizationSpec, #createFilter, #createFolder, #createNasDatastore, #createSnapshot_Task, #createVM_Task, #currentTime, #customizationSpecItemToXml, #deleteCustomizationSpec, #deselectVnicForNicType, #destroyCollector, #destroyPropertyFilter, #destroy_Task, #disableRuleset, #doesCustomizationSpecExist, #enableRuleset, #enterMaintenanceMode_Task, #exitMaintenanceMode_Task, #getAlarm, #getCustomizationSpec, #logUserEvent, #login, #logout, #markAsTemplate, #markAsVirtualMachine, #migrateVM_Task, #moveIntoFolder_Task, #powerDownHostToStandBy_Task, #powerOffVM_Task, #powerOnVM_Task, #powerUpHostFromStandBy_Task, #queryAvailablePerfMetric, #queryDescriptions, #queryDvsConfigTarget, #queryNetConfig, #queryOptions, #queryPerf, #queryPerfComposite, #queryPerfProviderSummary, #readNextEvents, #readPreviousEvents, #rebootGuest, #rebootHost_Task, #reconfigVM_Task, #reconfigureAlarm, #refreshFirewall, #refreshNetworkSystem, #refreshServices, #registerVM_Task, #relocateVM_Task, #removeAlarm, #removeAllSnapshots_Task, #removeSnapshot_Task, #renameSnapshot, #rename_Task, #resetCollector, #resetVM_Task, #restartService, #retrieveProperties, #retrievePropertiesCompat, #retrievePropertiesEx, #retrievePropertiesIter, #retrieveServiceContent, #revertToCurrentSnapshot_Task, #revertToSnapshot_Task, #rewindCollector, #searchDatastoreSubFolders_Task, #searchDatastore_Task, #selectVnicForNicType, #setCollectorPageSize, #setField, #setTaskDescription, #setTaskState, #shutdownGuest, #shutdownHost_Task, #standbyGuest, #startService, #stopService, #suspendVM_Task, #uninstallService, #unregisterVM, #updateDefaultPolicy, #updateServicePolicy, #updateSoftwareInternetScsiEnabled, #waitForUpdates, #waitForUpdatesEx, #xmlToCustomizationSpecItem

Constructor Details

#initialize(server, username, password, cacheScope = nil) ⇒ MiqVim

Returns a new instance of MiqVim.



21
22
23
24
25
# File 'lib/VMwareWebService/MiqVim.rb', line 21

def initialize(server, username, password, cacheScope = nil)
  super

  pbm_initialize(self)
end

Instance Method Details

#disconnectObject



229
230
231
# File 'lib/VMwareWebService/MiqVim.rb', line 229

def disconnect
  super
end

#getMiqCustomFieldsManagerObject



211
212
213
214
215
# File 'lib/VMwareWebService/MiqVim.rb', line 211

def getMiqCustomFieldsManager
  miqVimCfm = MiqCustomFieldsManager.new(self)
  $vim_log.info "MiqVimMod.getMiqCustomFieldsManager: returning object #{miqVimCfm.object_id}"
  (miqVimCfm)
end

#getVimAlarmManagerObject



217
218
219
220
221
# File 'lib/VMwareWebService/MiqVim.rb', line 217

def getVimAlarmManager
  miqVimAm = MiqVimAlarmManager.new(self)
  $vim_log.info "MiqVimMod.getVimAlarmManager: returning object #{miqVimAm.object_id}"
  (miqVimAm)
end

#getVimCluster(name) ⇒ Object

Cluster



140
141
142
143
144
145
146
147
148
149
# File 'lib/VMwareWebService/MiqVim.rb', line 140

def getVimCluster(name)
  $vim_log.info "MiqVimMod.getVimCluster: called"
  miqVimCluster = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Cluster: #{name}" unless (ch = clusterComputeResources_locked[name])
    miqVimCluster = MiqVimCluster.new(self, conditionalCopy(ch))
  end
  $vim_log.info "MiqVimMod.getVimCluster: returning object #{miqVimCluster.object_id}"
  (miqVimCluster)
end

#getVimClusterByFilter(filter) ⇒ Object

def getVimClusterByMor



162
163
164
165
166
167
168
169
170
171
172
# File 'lib/VMwareWebService/MiqVim.rb', line 162

def getVimClusterByFilter(filter)
  $vim_log.info "MiqVimMod.getVimClusterByFilter: called"
  miqVimCluster = nil
  @cacheLock.synchronize(:SH) do
    clusters = applyFilter(clusterComputeResourcesByMor_locked.values, filter)
    raise MiqException::MiqVimResourceNotFound, "getVimClusterByFilter: Could not find Cluster matching filter" if clusters.empty?
    miqVimCluster = MiqVimCluster.new(self, conditionalCopy(clusters[0]))
  end
  $vim_log.info "MiqVimMod.getVimClusterByFilter: returning object #{miqVimCluster.object_id}"
  (miqVimCluster)
end

#getVimClusterByMor(cMor) ⇒ Object

def getVimCluster



151
152
153
154
155
156
157
158
159
160
# File 'lib/VMwareWebService/MiqVim.rb', line 151

def getVimClusterByMor(cMor)
  $vim_log.info "MiqVimMod.getVimClusterByMor: called"
  miqVimCluster = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Cluster: #{cMor}" unless (ch = clusterComputeResourcesByMor_locked[cMor])
    miqVimCluster = MiqVimCluster.new(self, conditionalCopy(ch))
  end
  $vim_log.info "MiqVimMod.getVimClusterByMor: returning object #{miqVimCluster.object_id}"
  (miqVimCluster)
end

#getVimCustomizationSpecManagerObject



223
224
225
226
227
# File 'lib/VMwareWebService/MiqVim.rb', line 223

def getVimCustomizationSpecManager
  miqVimCsm = MiqVimCustomizationSpecManager.new(self)
  $vim_log.info "MiqVimMod.getVimCustomizationSpecManager: returning object #{miqVimCsm.object_id}"
  (miqVimCsm)
end

#getVimDataStore(dsName) ⇒ Object

DataStore



177
178
179
180
181
182
183
184
185
186
# File 'lib/VMwareWebService/MiqVim.rb', line 177

def getVimDataStore(dsName)
  $vim_log.info "MiqVimMod.getVimDataStore: called"
  miqVimDs = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find datastore: #{dsName}" unless (dsh = dataStores_locked[dsName])
    miqVimDs = MiqVimDataStore.new(self, conditionalCopy(dsh))
  end
  $vim_log.info "MiqVimMod.getVimDataStore: returning object #{miqVimDs.object_id}"
  (miqVimDs)
end

#getVimDataStoreByMor(dsMor) ⇒ Object



188
189
190
191
192
193
194
195
196
197
# File 'lib/VMwareWebService/MiqVim.rb', line 188

def getVimDataStoreByMor(dsMor)
  $vim_log.info "MiqVimMod.getVimDataStoreByMor: called"
  miqVimDs = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find datastore: #{dsMor}" unless (dsh = dataStoresByMor_locked[dsMor])
    miqVimDs = MiqVimDataStore.new(self, conditionalCopy(dsh))
  end
  $vim_log.info "MiqVimMod.getVimDataStoreByMor: returning object #{miqVimDs.object_id}"
  (miqVimDs)
end

#getVimEventHistory(eventFilterSpec = nil, pgSize = 20) ⇒ Object



205
206
207
208
209
# File 'lib/VMwareWebService/MiqVim.rb', line 205

def getVimEventHistory(eventFilterSpec = nil, pgSize = 20)
  miqVimEh = MiqVimEventHistoryCollector.new(self, eventFilterSpec, pgSize)
  $vim_log.info "MiqVimMod.getVimEventHistory: returning object #{miqVimEh.object_id}"
  (miqVimEh)
end

#getVimFolder(name) ⇒ Object

def getVimHostByFilter



103
104
105
106
107
108
109
110
111
112
# File 'lib/VMwareWebService/MiqVim.rb', line 103

def getVimFolder(name)
  $vim_log.info "MiqVimMod.getVimFolder: called"
  miqVimFolder = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Folder: #{name}" unless (fh = folders_locked[name])
    miqVimFolder = MiqVimFolder.new(self, conditionalCopy(fh))
  end
  $vim_log.info "MiqVimMod.getVimFolder: returning object #{miqVimFolder.object_id}"
  (miqVimFolder)
end

#getVimFolderByFilter(filter) ⇒ Object

def getVimFolderByMor



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/VMwareWebService/MiqVim.rb', line 125

def getVimFolderByFilter(filter)
  $vim_log.info "MiqVimMod.getVimFolderByFilter: called"
  miqVimFolder = nil
  @cacheLock.synchronize(:SH) do
    folders = applyFilter(foldersByMor_locked.values, filter)
    raise MiqException::MiqVimResourceNotFound, "getVimFolderByFilter: Could not find folder matching filter" if folders.empty?
    miqVimFolder = MiqVimFolder.new(self, conditionalCopy(folders[0]))
  end
  $vim_log.info "MiqVimMod.getVimFolderByFilter: returning object #{miqVimFolder.object_id}"
  (miqVimFolder)
end

#getVimFolderByMor(fMor) ⇒ Object

def getVimFolder



114
115
116
117
118
119
120
121
122
123
# File 'lib/VMwareWebService/MiqVim.rb', line 114

def getVimFolderByMor(fMor)
  $vim_log.info "MiqVimMod.getVimFolderByMor: called"
  miqVimFolder = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Folder: #{fMor}" unless (fh = foldersByMor_locked[fMor])
    miqVimFolder = MiqVimFolder.new(self, conditionalCopy(fh))
  end
  $vim_log.info "MiqVimMod.getVimFolderByMor: returning object #{miqVimFolder.object_id}"
  (miqVimFolder)
end

#getVimHost(name) ⇒ Object

def getVimVmByFilter



65
66
67
68
69
70
71
72
73
74
# File 'lib/VMwareWebService/MiqVim.rb', line 65

def getVimHost(name)
  $vim_log.info "MiqVimMod.getVimHost: called"
  miqVimHost = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Host: #{name}" unless (hh = hostSystems_locked[name])
    miqVimHost = MiqVimHost.new(self, conditionalCopy(hh))
  end
  $vim_log.info "MiqVimMod.getVimHost: returning object #{miqVimHost.object_id}"
  (miqVimHost)
end

#getVimHostByFilter(filter) ⇒ Object

Returns a MiqVimHost object for the first Host found that matches the criteria defined by the filter.



91
92
93
94
95
96
97
98
99
100
101
# File 'lib/VMwareWebService/MiqVim.rb', line 91

def getVimHostByFilter(filter)
  $vim_log.info "MiqVimMod.getVimHostByFilter: called"
  miqVimHost = nil
  @cacheLock.synchronize(:SH) do
    ha = applyFilter(hostSystemsByMor_locked.values, filter)
    raise MiqException::MiqVimResourceNotFound, "getVimHostByFilter: Could not find Host matching filter" if ha.empty?
    miqVimHost = MiqVimHost.new(self, conditionalCopy(ha[0]))
  end
  $vim_log.info "MiqVimMod.getVimHostByFilter: returning object #{miqVimHost.object_id}"
  (miqVimHost)
end

#getVimHostByMor(hMor) ⇒ Object

def getVimHost



76
77
78
79
80
81
82
83
84
85
# File 'lib/VMwareWebService/MiqVim.rb', line 76

def getVimHostByMor(hMor)
  $vim_log.info "MiqVimMod.getVimHostByMor: called"
  miqVimHost = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find Host: #{hMor}" unless (hh = hostSystemsByMor_locked[hMor])
    miqVimHost = MiqVimHost.new(self, conditionalCopy(hh))
  end
  $vim_log.info "MiqVimMod.getVimHostByMor: returning object #{miqVimHost.object_id}"
  (miqVimHost)
end

#getVimPerfHistoryObject



199
200
201
202
203
# File 'lib/VMwareWebService/MiqVim.rb', line 199

def getVimPerfHistory
  miqVimPh = MiqVimPerfHistory.new(self)
  $vim_log.info "MiqVimMod.getVimPerfHistory: returning object #{miqVimPh.object_id}"
  (miqVimPh)
end

#getVimVm(path) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/VMwareWebService/MiqVim.rb', line 27

def getVimVm(path)
  $vim_log.info "MiqVimMod.getVimVm: called"
  miqVimVm = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find VM: #{path}" unless (vmh = virtualMachines_locked[path])
    miqVimVm = MiqVimVm.new(self, conditionalCopy(vmh))
  end
  $vim_log.info "MiqVimMod.getVimVm: returning object #{miqVimVm.object_id}"
  (miqVimVm)
end

#getVimVmByFilter(filter) ⇒ Object

Returns a MiqVimVm object for the first VM found that matches the criteria defined by the filter.



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/VMwareWebService/MiqVim.rb', line 53

def getVimVmByFilter(filter)
  $vim_log.info "MiqVimMod.getVimVmByFilter: called"
  miqVimVm = nil
  @cacheLock.synchronize(:SH) do
    vms = applyFilter(virtualMachinesByMor_locked.values, filter)
    raise MiqException::MiqVimResourceNotFound, "getVimVmByFilter: Could not find VM matching filter" if vms.empty?
    miqVimVm = MiqVimVm.new(self, conditionalCopy(vms[0]))
  end
  $vim_log.info "MiqVimMod.getVimVmByFilter: returning object #{miqVimVm.object_id}"
  (miqVimVm)
end

#getVimVmByMor(vmMor) ⇒ Object

def getVimVm



38
39
40
41
42
43
44
45
46
47
# File 'lib/VMwareWebService/MiqVim.rb', line 38

def getVimVmByMor(vmMor)
  $vim_log.info "MiqVimMod.getVimVmByMor: called"
  miqVimVm = nil
  @cacheLock.synchronize(:SH) do
    raise MiqException::MiqVimResourceNotFound, "Could not find VM: #{vmMor}" unless (vmh = virtualMachinesByMor_locked[vmMor])
    miqVimVm = MiqVimVm.new(self, conditionalCopy(vmh))
  end
  $vim_log.info "MiqVimMod.getVimVmByMor: returning object #{miqVimVm.object_id}"
  (miqVimVm)
end