To use this function add it to the class library file named OrchestratorService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: OrchestratorPluginOVAService.ts
Private Function: ParseOvfDescriptor
publicParseOvfDescriptor(objVcSdkConnection:VcSdkConnection,enumOvaTransferImportType:OvaTransferImportType,strSourcePathType:string,strSourceHostname:string,strSourcePath:string,intSourcePort:number=443,blnUseAuthentication:boolean,strAuthType:string,strAuthUsername:string,strAuthPassword:string):VcOvfParseDescriptorResult{
letobjSVAImportManagerFactory:SVAImportManagerFactory=SVAImportManagerFactory.getInstance();
letobjTemplateImportManager:TemplateImportManager=objSVAImportManagerFactory.createImportManager(enumOvaTransferImportType);
objTemplateImportManager.setSource(strSourcePathType,strSourceHostname,strSourcePath,intSourcePort,blnUseAuthentication,strAuthType,strAuthUsername,strAuthPassword);
letstrOvfDescriptor:string=objTemplateImportManager.getOvfDescriptor();
letobjVcOvfManager:VcOvfManager=objVcSdkConnection.ovfManager;
letobjVcOvfParseDescriptorParams:VcOvfParseDescriptorParams=newVcOvfParseDescriptorParams();
objVcOvfParseDescriptorParams.locale='';
objVcOvfParseDescriptorParams.deploymentOption='';
letobjVcOvfParseDescriptorResult:VcOvfParseDescriptorResult=objVcOvfManager.parseDescriptor(strOvfDescriptor,objVcOvfParseDescriptorParams);
if (objVcOvfParseDescriptorResult.deploymentOption!=null){
this.objLogger.info("Available Deployment Options:");
letarrVcOvfDeploymentOption:VcOvfDeploymentOption[]=objVcOvfParseDescriptorResult.deploymentOption;
arrVcOvfDeploymentOption.forEach((objVcOvfDeploymentOption:VcOvfDeploymentOption):void=>{
this.objLogger.info("Key (used in import workflow):"+objVcOvfDeploymentOption.key);
this.objLogger.info("Label:"+objVcOvfDeploymentOption.label);
this.objLogger.info("Description:");
this.objLogger.info(objVcOvfDeploymentOption.description);
});
}
if (objVcOvfParseDescriptorResult.property!=null){
this.objLogger.info("Available OVF Properties:");
letarrVcVAppPropertyInfo:VcVAppPropertyInfo[]=objVcOvfParseDescriptorResult.property;
arrVcVAppPropertyInfo.forEach((objVcVAppPropertyInfo:VcVAppPropertyInfo):void=>{
this.objLogger.info("Id:"+objVcVAppPropertyInfo.id);
this.objLogger.info("ClassId:"+objVcVAppPropertyInfo.classId);
this.objLogger.info("InstanceId:"+objVcVAppPropertyInfo.instanceId);
this.objLogger.info("Import Property Key Name (used in import workflow):"+ ((objVcVAppPropertyInfo.classId!=null&&objVcVAppPropertyInfo.classId!='')?objVcVAppPropertyInfo.classId+".":"")+objVcVAppPropertyInfo.id+ ((objVcVAppPropertyInfo.instanceId!=null&&objVcVAppPropertyInfo.instanceId!='')?"."+objVcVAppPropertyInfo.instanceId:""));
this.objLogger.info("Label:"+objVcVAppPropertyInfo.label);
this.objLogger.info("Description:");
this.objLogger.info(objVcVAppPropertyInfo.description);
});
}
if (objVcOvfParseDescriptorResult.network!=null){
this.objLogger.info("Available OVF Networks:");
letarrVcOvfNetworkInfo:VcOvfNetworkInfo[]=objVcOvfParseDescriptorResult.network;
arrVcOvfNetworkInfo.forEach((objVcOvfNetworkInfo:VcOvfNetworkInfo):void=>{
this.objLogger.info("Name:"+objVcOvfNetworkInfo.name);
this.objLogger.info("Description:");
this.objLogger.info(objVcOvfNetworkInfo.description);
});
}
returnobjVcOvfParseDescriptorResult;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
