To use this function add it to the class library file named vCenterServerService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterServerService.ts
Description: Orchestrator Function to Get Storage DRS Settings for a vCenter Virtual Machine
Function StorageDrsAntiAffinityGetAll
private StorageDrsAntiAffinityGetAll(objVcStoragePod: VcStoragePod): VcStorageDrsVmConfigInfo[] {
let objVcPodStorageDrsEntry: VcPodStorageDrsEntry = objVcStoragePod.podStorageDrsEntry;
let objVcStorageDrsConfigInfo: VcStorageDrsConfigInfo = objVcPodStorageDrsEntry.storageDrsConfig;
let arrVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo[] = objVcStorageDrsConfigInfo.vmConfig;
return arrVcStorageDrsVmConfigInfo;
}Function: StorageDrsAntiAffinityGetByStatus
public StorageDrsAntiAffinityGetByStatus(objVcStoragePod: VcStoragePod, blnEnabled: boolean = true): VcStorageDrsVmConfigInfo[] {
let arrVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo[] = this.StorageDrsAntiAffinityGetAll(objVcStoragePod);
arrVcStorageDrsVmConfigInfo = arrVcStorageDrsVmConfigInfo.filter((objVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo): boolean => {
return objVcStorageDrsVmConfigInfo.enabled = blnEnabled;
});
return arrVcStorageDrsVmConfigInfo;
}Function: StorageDrsAntiAffinityGet
public StorageDrsAntiAffinityGet(objVcStoragePod: VcStoragePod, strVcClusterAntiAffinityRuleSpecName: string): VcStorageDrsVmConfigInfo {
let arrVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo[] = this.StorageDrsAntiAffinityGetAll(objVcStoragePod)
let objVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo = arrVcStorageDrsVmConfigInfo.find((objVcStorageDrsVmConfigInfo: VcStorageDrsVmConfigInfo): boolean => {
let objVcVirtualDiskAntiAffinityRuleSpec: VcVirtualDiskAntiAffinityRuleSpec = objVcStorageDrsVmConfigInfo.intraVmAntiAffinity;
objVcStorageDrsVmConfigInfo.intraVmAffinityDisks
return objVcVirtualDiskAntiAffinityRuleSpec.name === strVcClusterAntiAffinityRuleSpecName;
});
return objVcStorageDrsVmConfigInfo;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
