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
publicGPUPassthroughEnable(objVcVirtualMachine:VcVirtualMachine,strVendorID:string,strDeviceID:string):boolean{
letobjVcVirtualPCIPassthrough:VcVirtualPCIPassthrough=this.buildVcVirtualPCIPassthrough(strVendorID,strDeviceID);
letobjVcVirtualDeviceConfigSpec:VcVirtualDeviceConfigSpec=this.VcVirtualDeviceConfigSpecCreate(objVcVirtualPCIPassthrough,VcVirtualDeviceConfigSpecOperation.add);
letarrVcVirtualDeviceConfigSpec:VcVirtualDeviceConfigSpec[]= [];
arrVcVirtualDeviceConfigSpec.push(objVcVirtualDeviceConfigSpec);
letobjVcVirtualMachineConfigInfo:VcVirtualMachineConfigInfo=objVcVirtualMachine.config;
letobjVcVirtualHardware:VcVirtualHardware=objVcVirtualMachineConfigInfo.hardware;
letintMemoryGB:number=objVcVirtualHardware.memoryMB/1024;
letobjVcResourceAllocationInfo:VcResourceAllocationInfo=newVcResourceAllocationInfo();
objVcResourceAllocationInfo.reservation=intMemoryGB;
letobjVcVirtualMachineConfigSpec:VcVirtualMachineConfigSpec=newVcVirtualMachineConfigSpec();
objVcVirtualMachineConfigSpec.memoryAllocation=objVcResourceAllocationInfo;
objVcVirtualMachineConfigSpec.deviceChange=arrVcVirtualDeviceConfigSpec;
objVcVirtualMachineConfigSpec.memoryReservationLockedToMax=true;
letblnReturn:boolean=this.Reconfigure(objVcVirtualMachine,objVcVirtualMachineConfigSpec);
returnblnReturn;
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
