Function: OVF Import Wizard Workflow Create

by Simon Sparks · 4 February 2026

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: OVFImportWizardWorkflowCreate

public OVFImportWizardWorkflowCreate(objVcSdkConnection: VcSdkConnection, enumOvaTransferImportType: OvaTransferImportType, strFQDN: string, strOvfPath: string, strName: string, strDescription: string, objWorkflowCategory: WorkflowCategory, strSourcePath: string, objOvaTransferImportType: OvaTransferImportType, strSourcePathType: string, strSourceHostname: string, intSourcePort: number, blnUseAuthentication: boolean, strUsername: string, strPassword: string, blnEnableAdvancedOptions: boolean, strAdvBlockSize: string): Workflow {

let objVcOvfParseDescriptorResult: VcOvfParseDescriptorResult = this.GetVcOvfParseDescriptorResult(objVcSdkConnection, enumOvaTransferImportType, strFQDN, strOvfPath, strUsername, strPassword);

let arrVcOvfDeploymentOption: VcOvfDeploymentOption[] = objVcOvfParseDescriptorResult.deploymentOption;

let arrOvaTransferOvfDeploymentOption: OvaTransferOvfDeploymentOption[] = arrVcOvfDeploymentOption.map((objVcOvfDeploymentOption: VcOvfDeploymentOption): OvaTransferOvfDeploymentOption => {

  let objOvaTransferOvfDeploymentOption: OvaTransferOvfDeploymentOption = new OvaTransferOvfDeploymentOption(objVcOvfDeploymentOption.key, objVcOvfDeploymentOption.label, objVcOvfDeploymentOption.description);

  return objOvaTransferOvfDeploymentOption;
});

let arrVcVAppPropertyInfo: VcVAppPropertyInfo[] = objVcOvfParseDescriptorResult.property;

let arrOvaTransferOvfProperty: OvaTransferOvfProperty[] = arrVcVAppPropertyInfo.map((objVcVAppPropertyInfo: VcVAppPropertyInfo): OvaTransferOvfProperty => {

  let objOvaTransferOvfProperty: OvaTransferOvfProperty = new OvaTransferOvfProperty(objVcVAppPropertyInfo.defaultValue, objVcVAppPropertyInfo.description, objVcVAppPropertyInfo.label, objVcVAppPropertyInfo.classId, objVcVAppPropertyInfo.instanceId, objVcVAppPropertyInfo.id, objVcVAppPropertyInfo.type);

  return objOvaTransferOvfProperty;
});

let arrVcOvfNetworkInfo: VcOvfNetworkInfo[] = objVcOvfParseDescriptorResult.network;

let arrOvaTransferOvfNetwork: OvaTransferOvfNetwork[] = arrVcOvfNetworkInfo.map((objVcOvfNetworkInfo: VcOvfNetworkInfo): OvaTransferOvfNetwork => {

  let objOvaTransferOvfNetwork: OvaTransferOvfNetwork = new OvaTransferOvfNetwork(objVcOvfNetworkInfo.name, objVcOvfNetworkInfo.description);

  return objOvaTransferOvfNetwork;
});

let objOvaTransferWorkflowCreator: OvaTransferWorkflowCreator = new OvaTransferWorkflowCreator();

let objWorkflow: Workflow = objOvaTransferWorkflowCreator.createImportWizardWorkflow(
  strName,
  strDescription,
  objWorkflowCategory,
  strSourcePath,
  objOvaTransferImportType,
  arrOvaTransferOvfDeploymentOption,
  arrOvaTransferOvfProperty,
  arrOvaTransferOvfNetwork,
  strSourcePathType,
  strSourceHostname,
  intSourcePort,
  blnUseAuthentication,
  strUsername,
  strPassword,
  blnEnableAdvancedOptions,
  strAdvBlockSize);

return objWorkflow;
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like