After an OVF descriptor is uploaded, the server validates it and, if it is valid, updates the corresponding template with upload URLs for each of the files referenced in the descriptor. You must retrieve the template to see these URLs.

Procedure

  1. Retrieve the VAppTemplate to verify that the OVF descriptor is uploaded.
    See the request portion of Upload URLs in a vAppTemplate.
  2. Verify that the value of the template's ovfDescriptorUploaded attribute is true.
  3. Examine the template to find the upload URLs for the files referenced in the OVF descriptor.
    These URLs are contained in Link elements where rel="upload:default".

Example: Upload URLs in a vAppTemplate

This request uses the vApp template URL returned in Retrieving the Upload URL for the OVF Descriptor.

Request:
GET https://vcloud.example.com/api/vAppTemplate/vappTemplate-111
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.vAppTemplate+xml
...
<VAppTemplate
   xmlns="http://www.vmware.com/vcloud/v1.5"
   xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
   ovfDescriptorUploaded="true"
   goldMaster="false"
   status="0"
   name="Ubuntu Template"
   id="urn:vcloud:vapptemplate:111"
   href="https://vcloud.example.com/api/vAppTemplate/vappTemplate-111"
   type="application/vnd.vmware.vcloud.vAppTemplate+xml">
   ...
   <Description>Ubuntu vApp Template</Description>
   <Files>
      <File
         size="3940"
         bytesTransferred="3940"
         name="descriptor.ovf">
         <Link
            rel="upload:default"
            href="https://vcloud.example.com/transfer/.../descriptor.ovf"/>
      </File>
      <File
         size="1024"
         bytesTransferred="0"
         name="manifest.mf">
         <Link
            rel="upload:default"
            href="https://vcloud.example.com/transfer/.../manifest.mf"/>
      </File>
      <File
         size="1950489088"
         bytesTransferred="0"
         name="disk0.vmdk">
         <Link
            rel="upload:default"
            href="https://vcloud.example.com/transfer/.../disk0.vmdk"/>
      </File>
   </Files>
   ...
</VAppTemplate>

In this example, which omits most of the additional elements shown in Initiating the Upload, the ovfDescriptorUploaded attribute has a value of true and the status attribute has a value of 0. If the descriptor fails validation, status is set to -1, and the template contains a Task element whose Error element indicates the reason for the failure.

Each of the File elements includes an upload link where rel="upload:default" and several attributes.

size
The file size, taken from the size attribute of the File element in the OVF descriptor.
bytesTransferred
For all file references other than the descriptor, this attribute is initially set to a value of 0, indicating that the upload has not begun. In the File element that references the OVF descriptor, the value of the bytesTransferred attribute is equal to the value of the size attribute, indicating that all the bytes in the descriptor were transferred.
name
The file name, taken from the href attribute of the File element in the OVF descriptor.
Note:

Upload 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.