To use this function add it to the class library file named PluginVCDatastoreService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginVCDatastoreService.ts
Function VcVmConfigFileGetAll
Description: Orchestrator Function to get all the vCenter Virtual Machine config files on all datastores.
public VcVmConfigFileGetAll(strVCenterName: string): Properties {
let objProperties: Properties = new Properties();
let arrVcSdkConnection: VcSdkConnection[] = VcPlugin.allSdkConnections;
let objVcSdkConnection: VcSdkConnection = arrVcSdkConnection.find((objVcSdkConnection: VcSdkConnection) => {
return objVcSdkConnection.name === strVCenterName;
});
let objVcVmConfigFileQuery: VcVmConfigFileQuery = new VcVmConfigFileQuery();
let arrVcFileQuery: VcFileQuery[] = [];
arrVcFileQuery.push(objVcVmConfigFileQuery);
let objVcHostDatastoreBrowserSearchSpec: VcHostDatastoreBrowserSearchSpec = new VcHostDatastoreBrowserSearchSpec();
objVcHostDatastoreBrowserSearchSpec.query = arrVcFileQuery;
let arrVcHostSystem: VcHostSystem[] = objVcSdkConnection.getAllHostSystems(null, "");
arrVcHostSystem.forEach((objVcHostSystem: VcHostSystem): void => {
let arrVcDatastore: VcDatastore[] = objVcHostSystem.datastore;
arrVcDatastore.forEach((objVcDatastore: VcDatastore): void => {
this.objLogger.info(`Data Store: ${objVcDatastore.info.name}.`);
let objVcHostDatastoreBrowser: VcHostDatastoreBrowser = objVcDatastore.browser;
let objVcTask: VcTask = objVcHostDatastoreBrowser.searchDatastoreSubFolders_Task("[" + objVcDatastore.name + "]", objVcHostDatastoreBrowserSearchSpec);
let arrVcHostDatastoreBrowserSearchResults: VcHostDatastoreBrowserSearchResults[] = this.WaitForVcTaskEnd(objVcTask, 1);
arrVcHostDatastoreBrowserSearchResults.forEach((objVcHostDatastoreBrowserSearchResults: VcHostDatastoreBrowserSearchResults): void => {
this.objLogger.info(`Data Store: ${objVcDatastore.info.name} - Folder Path: ${objVcHostDatastoreBrowserSearchResults.folderPath}.`);
let arrVcFileInfo: VcFileInfo[] = objVcHostDatastoreBrowserSearchResults.file;
arrVcFileInfo.forEach((objVcFileInfo: VcFileInfo): void => {
objProperties.put(objVcFileInfo.path.substring(0, objVcFileInfo.path.length - 4), objVcHostDatastoreBrowserSearchResults.folderPath + objVcFileInfo.path);
});
});
});
});
return objProperties;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
