Before you can download a vApp or vApp template, an administrator or privileged user must explicitly enable the object for download.

Verify that you are logged in as an administrator or other user who has privileges to enable a vApp or vApp template for download.

Verify that any vApp you plan to enable for download is powered off and undeployed. See Undeploy, Power Off, and Delete the vApp.

1

Retrieve the XML representation of the VApp or VAppTemplate object.

2

Examine the representation to find its action/enableDownload link.

Every VAppTemplate element includes a link of the following form, where id is the id of the template:

<Link
   rel="enable"
   href="https://vcloud.example.com/api/vAppTemplate/vappTemplate-id/action/enableDownload"/>

Every vApp element includes a similar link:

<Link
   rel="enable"
   href="https://vcloud.example.com/api/vApp/id/action/enableDownload"/>
3

Enable the object for download.

Make a POST request to the action/enableDownload URL, which you retrieved in Step 2. The response is a Task that tracks the completion of the enablement operation.

4

When the task completes, retrieve the representation of the object, which now contains download URLs for the OVF descriptor.

Download URLs remain valid while a transfer session is in progress, and for a maximum of 60 minutes of transfer session idle time. A system administrator can change this default value. See Retrieve or Update System Settings.

Request:

GET https://vcloud.example.com/api/vAppTemplate/vappTemplate-111

Response:

200 OK
Content-Type: application/vnd.vmware.vcloud.vAppTemplate+xml
...
<VAppTemplate 
   ovfDescriptorUploaded="true" 
   status="8" 
   name="Ubuntu Template" 
   ... >
   ...
   <Link type="text/xml" 
      rel="download:default" 
      href="https://vcloud.example.com/transfer/.../descriptor.ovf"/>
   <Link type="text/xml" 
      rel="download:identity" 
      href="https://vcloud.example.com/transfer/.../descriptor-with-id.ovf"/>
   ...
</VAppTemplate>