Function: vRA Machine Attach Disk

by Simon Sparks · 3 April 2026

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;
}
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like