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

public VraBlockDeviceCreate(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 {
    let objVraHost: VraHost = objVcaBlockDevice.host;

    let objVraInfrastructureClient: VraInfrastructureClient = objVraHost.createInfrastructureClient();

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

    let objVraBlockDeviceSpecification: VraBlockDeviceSpecification = new VraBlockDeviceSpecification();
    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 => {

        let objVraConstraint: VraConstraint = new VraConstraint();
        objVraConstraint.expression = strTagConstraint;
        objVraConstraint.mandatory = true;

        objVraBlockDeviceSpecification.addConstraintsItem(objVraConstraint);
    });

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

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

        let objVraTag: VraTag = new VraTag();
        objVraTag.key = objProperties.key;
        objVraTag.value = objProperties.value;

        objVraBlockDeviceSpecification.addTagsItem(objVraTag);
    });

    let objVraBlockDevice: VraBlockDevice = objVraDiskService.createBlockDevice(objVraBlockDeviceSpecification);

    return objVraBlockDevice;
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like