To use this function add it to the class library file named PluginVRAService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginVRAService.ts
Description: Orchestrator Function to Attach a Disk to a Machine
Public Function: MachineAttachDisk
publicMachineAttachDisk(objVraMachine:VraMachine,objVraBlockDevice:VraBlockDevice,strUnitNumber:string,strScsiController:string,objProperties:Properties):VraRequestTracker{
if (objVraBlockDevice.blockDeviceStatus!=="AVAILABLE"){
this.objLogger.info("Disk should be in available state");
returnnull;
}
else{
letobjVraDiskAttachmentSpecification:VraDiskAttachmentSpecification=newVraDiskAttachmentSpecification();
objVraDiskAttachmentSpecification.blockDeviceId=objVraBlockDevice.id;
objVraDiskAttachmentSpecification.name=objVraBlockDevice.name;
objVraDiskAttachmentSpecification.description=objVraBlockDevice.description;
objVraDiskAttachmentSpecification.unitNumber=strUnitNumber;
objVraDiskAttachmentSpecification.scsiController=strScsiController;
objProperties.keys.forEach((strKey:string):void=>{
objVraDiskAttachmentSpecification.putDiskAttachmentPropertiesItem(strKey,objProperties.get(strKey))
});
letobjVraHost:VraHost=objVraMachine.host;
letobjVraInfrastructureClient:VraInfrastructureClient=objVraHost.createInfrastructureClient();
// @ts-ignore
letobjVraMachineService:VraMachineService=objVraInfrastructureClient.createMachineService();
letobjVraRequestTracker:VraRequestTracker=objVraMachineService.attachMachineDisk(objVraDiskAttachmentSpecification,objVraMachine.id);
returnobjVraRequestTracker;
}
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
