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
public MachineAttachDisk(objVraMachine: VraMachine, objVraBlockDevice: VraBlockDevice, strUnitNumber: string, strScsiController: string, objProperties: Properties): VraRequestTracker {
if (objVraBlockDevice.blockDeviceStatus !== "AVAILABLE") {
this.objLogger.info("Disk should be in available state");
return null;
}
else {
let objVraDiskAttachmentSpecification: VraDiskAttachmentSpecification = new VraDiskAttachmentSpecification();
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))
});
let objVraHost: VraHost = objVraMachine.host;
let objVraInfrastructureClient: VraInfrastructureClient = objVraHost.createInfrastructureClient();
// @ts-ignore
let objVraMachineService: VraMachineService = objVraInfrastructureClient.createMachineService();
let objVraRequestTracker: VraRequestTracker = objVraMachineService.attachMachineDisk(objVraDiskAttachmentSpecification, objVraMachine.id);
return objVraRequestTracker;
}
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
