To use this function add it to the class library file named vCenterServerService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterServerService.ts
Function: VcVirtualMachineSetBootOrder
publicVcVirtualMachineSetBootOrder(objVcVirtualMachine:VcVirtualMachine,enumBootOrder:BootOrder):boolean{
this.objLogger.info(`setBootOrder on${objVcVirtualMachine.name}`);
letarrVcVirtualDevice:VcVirtualDevice[]=this.VcVirtualMachineGetAllVcVirtualDevices(objVcVirtualMachine);
letarrVcVirtualDisk:VcVirtualDisk[]=arrVcVirtualDevice.filter((objVcVirtualDevice:VcVirtualDevice)=>{returnobjVcVirtualDeviceinstanceofVcVirtualDisk;})asVcVirtualDisk[];
letarrVcVirtualDiskKey:number[]=arrVcVirtualDisk.map<number>((objVcVirtualDisk:VcVirtualDisk)=>{returnobjVcVirtualDisk.key;});
letarrVcVirtualVmxnet3:VcVirtualVmxnet3[]=arrVcVirtualDevice.filter((objVcVirtualDevice:VcVirtualDevice)=>{returnobjVcVirtualDeviceinstanceofVcVirtualVmxnet3;})asVcVirtualVmxnet3[];
letarrVcVirtualVmxnet3Key:number[]=arrVcVirtualVmxnet3.map<number>((objVcVirtualVmxnet3:VcVirtualVmxnet3)=>{returnobjVcVirtualVmxnet3.key;});
letobjVcVirtualMachineBootOptionsBootableEthernetDevice:VcVirtualMachineBootOptionsBootableEthernetDevice=newVcVirtualMachineBootOptionsBootableEthernetDevice();
objVcVirtualMachineBootOptionsBootableEthernetDevice.deviceKey=arrVcVirtualVmxnet3Key[0];
letobjVcVirtualMachineBootOptionsBootableDiskDevice:VcVirtualMachineBootOptionsBootableDiskDevice=newVcVirtualMachineBootOptionsBootableDiskDevice();
objVcVirtualMachineBootOptionsBootableDiskDevice.deviceKey=arrVcVirtualDiskKey[0];
letobjVcVirtualMachineBootOptionsBootableCdromDevice:VcVirtualMachineBootOptionsBootableCdromDevice=newVcVirtualMachineBootOptionsBootableCdromDevice();
letarrVcVirtualMachineBootOptionsBootableDevice:VcVirtualMachineBootOptionsBootableDevice[]= [];
switch (enumBootOrder){
caseBootOrder.HDD:{
arrVcVirtualMachineBootOptionsBootableDevice= [objVcVirtualMachineBootOptionsBootableDiskDevice,objVcVirtualMachineBootOptionsBootableCdromDevice,objVcVirtualMachineBootOptionsBootableEthernetDevice];
break;
}
caseBootOrder.ISO:{
arrVcVirtualMachineBootOptionsBootableDevice= [objVcVirtualMachineBootOptionsBootableCdromDevice,objVcVirtualMachineBootOptionsBootableDiskDevice,objVcVirtualMachineBootOptionsBootableEthernetDevice];
break;
}
caseBootOrder.NET:{
break;
}
}
this.objLogger.info(`Setting boot order to${enumBootOrder.toString()} first.`);
letobjVcVirtualMachineBootOptions:VcVirtualMachineBootOptions=newVcVirtualMachineBootOptions();
objVcVirtualMachineBootOptions.bootOrder=arrVcVirtualMachineBootOptionsBootableDevice;
objVcVirtualMachineBootOptions;
letobjVcVirtualMachineConfigSpec:VcVirtualMachineConfigSpec=newVcVirtualMachineConfigSpec();
objVcVirtualMachineConfigSpec.bootOptions=objVcVirtualMachineBootOptions;
letblnResult:boolean=this.VcVirtualMachineReconfigure(objVcVirtualMachine,objVcVirtualMachineConfigSpec);
returnblnResult;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
