To use this function add it to the class library file named PluginVCVirtualMachineService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginVCVirtualMachineService.ts
Description: Enable a dedicated GPU on a vCenter Virtual Machine
Public Function: GPUPassthroughEnable
public GPUPassthroughEnable(objVcVirtualMachine: VcVirtualMachine, strVendorID: string, strDeviceID: string): boolean {
let objVcVirtualPCIPassthrough: VcVirtualPCIPassthrough = this.buildVcVirtualPCIPassthrough(strVendorID, strDeviceID);
let objVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec = this.VcVirtualDeviceConfigSpecCreate(objVcVirtualPCIPassthrough, VcVirtualDeviceConfigSpecOperation.add);
let arrVcVirtualDeviceConfigSpec: VcVirtualDeviceConfigSpec[] = [];
arrVcVirtualDeviceConfigSpec.push(objVcVirtualDeviceConfigSpec);
let objVcVirtualMachineConfigInfo: VcVirtualMachineConfigInfo = objVcVirtualMachine.config;
let objVcVirtualHardware: VcVirtualHardware = objVcVirtualMachineConfigInfo.hardware;
let intMemoryGB: number = objVcVirtualHardware.memoryMB / 1024;
let objVcResourceAllocationInfo: VcResourceAllocationInfo = new VcResourceAllocationInfo();
objVcResourceAllocationInfo.reservation = intMemoryGB;
let objVcVirtualMachineConfigSpec: VcVirtualMachineConfigSpec = new VcVirtualMachineConfigSpec();
objVcVirtualMachineConfigSpec.memoryAllocation = objVcResourceAllocationInfo;
objVcVirtualMachineConfigSpec.deviceChange = arrVcVirtualDeviceConfigSpec;
objVcVirtualMachineConfigSpec.memoryReservationLockedToMax = true;
let blnReturn: boolean = this.Reconfigure(objVcVirtualMachine, objVcVirtualMachineConfigSpec);
return blnReturn;
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
