Class VcOvfManager

Extends com.vmware.vmo.plugin.vi4.model.VimContentManagedObject
Service interface to parse and generate OVF descriptors.

The purpose of this interface is to make it easier for callers to import VMs and vApps from OVF packages and to export VI packages to OVF. In the following description, the term "client" is used to mean any caller of the interface.

This interface only converts between OVF and VI types. To actually import and export entities, use VcResourcePool, VcVirtualMachine and VcVirtualApp.


For the import scenario, the typical sequence of events is as follows:

The client calls parseDescriptor to obtain information about the OVF descriptor. This typically includes information (such as a list of networks) that must be mapped to VI infrastructure entities.

The OVF descriptor is validated against the OVF Specification, and any errors or warnings are returned as part of the ParseResult. For example, the parser might encounter a section marked required that it does not understand, or the XML descriptor might be malformed.

The client decides on network mappings, datastore, properties etc. It then calls createImportSpec to obtain the parameters needed to call VcResourcePool.

If any warnings are present, the client will review these and decide whether to proceed or not. If errors are present, the ImportSpec will be missing, so the client is forced to give up or fix the problems and then try again.

The client now calls VcResourcePool, passing the ImportSpec as a parameter. This will create the virtual machines and VcVirtualApp objects in VI and return locations to which the files of the entity can be uploaded. It also returns a lease that controls the duration of the lock taken on the newly created inventory objects. When all files have been uploaded, the client must release this lease.


Creating the OVF descriptor is the last part of exporting an entity to OVF. At this point, the client has already downloaded all files for the entity, optionally compressing and/or chunking them (however, the client may do a "dry run" of creating the descriptor before downloading the files. See VcOvfManager).

In addition to the entity reference itself, information about the choices made on these files is passed to createDescriptor as a list of OvfFile instances.

The client must inspect and act upon warnings and errors as previously described.

No matter if the export succeeds or fails, the client is responsible for releasing the shared state lock taken on the entity (by VcVirtualApp) during the export.

Error handling

All result types contain warning and error lists. Warnings do not cause processing to fail, but the caller (typically, the user of a GUI client) may choose to reject the result based on the warnings issued.

Errors cause processing to abort by definition.


Name Type Description
id String returns the id of this ManagedObject
ovfExportOption VcOvfOptionInfo[] Returns an array of <a target="_blank" href="">VcOvfOptionInfo</a> object that specifies what options the server support for exporting an OVF descriptor. <p>
ovfImportOption VcOvfOptionInfo[] Returns an array of <a target="_blank" href="">VcOvfOptionInfo</a> object that specifies what options the server support for modifing/relaxing the OVF import process. <p>
reference VcManagedObjectReference returns the ManagedObjectReference of this ManagedObject
sdkConnection VcSdkConnection returns the parent SdkConnection
vimHost VcSdkConnection returns the parent SdkConnection (deprecated)
vimType String returns the type of this ManagedObject


Name Returns
createDescriptor(VcManagedEntity obj, VcOvfCreateDescriptorParams cdp) VcOvfCreateDescriptorResult
createImportSpec(String ovfDescriptor, VcResourcePool resourcePool, VcDatastore datastore, VcOvfCreateImportSpecParams cisp) VcOvfCreateImportSpecResult
createTrigger(Number timeout, String filter, String condition, String filterToSync) Trigger
parseDescriptor(String ovfDescriptor, VcOvfParseDescriptorParams pdp) VcOvfParseDescriptorResult
validateHost(String ovfDescriptor, VcHostSystem host, VcOvfValidateHostParams vhp) VcOvfValidateHostResult

Returned by


Referenced in