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;
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
