Function: vRA Block Device Create

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 Create a vRA Block Device

Public Function: VraBlockDeviceCreate

publicVraBlockDeviceCreate(objVcaBlockDevice:VraBlockDevice,strName:string,strDescription:string,intCapacityInGB:number,strDeploymentId:string,objVraProject:VraProject,blnPersistent:boolean,strSourceReference:string,strDiskContentBase64:string,objPropertiesCustom:Properties,arrTagConstraint:string[],arrTag:string[],blnEncrypted:boolean=false):VraBlockDevice{
letobjVraHost:VraHost=objVcaBlockDevice.host;

letobjVraInfrastructureClient:VraInfrastructureClient=objVraHost.createInfrastructureClient();

// @ts-ignore
letobjVraDiskService:VraDiskService=objVraInfrastructureClient.createDiskService();

letobjVraBlockDeviceSpecification:VraBlockDeviceSpecification=newVraBlockDeviceSpecification();
objVraBlockDeviceSpecification.name=strName;
objVraBlockDeviceSpecification.description=strDescription;
objVraBlockDeviceSpecification.projectId=objVraProject.id;
objVraBlockDeviceSpecification.capacityInGB=intCapacityInGB;
objVraBlockDeviceSpecification.deploymentId=strDeploymentId;
objVraBlockDeviceSpecification.persistent=blnPersistent;
objVraBlockDeviceSpecification.encrypted=blnEncrypted;
objVraBlockDeviceSpecification.sourceReference=strSourceReference;
objVraBlockDeviceSpecification.diskContentBase64=strDiskContentBase64;

objPropertiesCustom.keys.forEach((strKey:string):void=>{
objVraBlockDeviceSpecification.putCustomPropertiesItem(strKey,objPropertiesCustom[strKey]);
});

arrTagConstraint.forEach((strTagConstraint:string):void=>{

letobjVraConstraint:VraConstraint=newVraConstraint();
objVraConstraint.expression=strTagConstraint;
objVraConstraint.mandatory=true;

objVraBlockDeviceSpecification.addConstraintsItem(objVraConstraint);
});

letarrProperties:Properties[]=this.convertToTagPropertiesArray(arrTag);

arrProperties.forEach((objProperties:Properties):void=>{

letobjVraTag:VraTag=newVraTag();
objVraTag.key=objProperties.key;
objVraTag.value=objProperties.value;

objVraBlockDeviceSpecification.addTagsItem(objVraTag);
});

letobjVraBlockDevice:VraBlockDevice=objVraDiskService.createBlockDevice(objVraBlockDeviceSpecification);

returnobjVraBlockDevice;
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like