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