1.5

Table Of Contents
Both monolithic and ranged, or chunked, PUT requests are supported. After starting an upload, a client can
make periodic requests to assess its progress. After all of the files are uploaded, and validated if a manifest is
present, the server processes them and updates the vApp template. When processing is complete, the server
sets the value of the template's status attribute to 8, indicating that it is ready for use. This status value indicates
that all of the virtual machines in the template are powered off. For more information, including a complete
list of possible status values and their meanings, see “Object Creation Status,” on page 236.
Restrictions on Uploaded Content
The vCloud Director transfer service imposes the following restrictions on uploaded OVF content:
n
You can upload either OVF 1.0 or OVF 1.1 content. OVF 1.1 packages are converted to OVF 1.0 for
download, and any OVF 1.1 content is lost.
n
You cannot upload a compressed OVF package.
n
If you upload an OVF package in which any VirtualSystem element has an ovf:id attribute value that is
longer than 13 characters, the name of the Vm that represents that VirtualSystem in the vAppTemplate that
the upload creates is rewritten as the first 13 characters of the ovf:id attribute followed by three digits.
For example, NewVirtualMachine1 and NewVirtualMachine2 become NewVirtualMa001 and
NewVirtualMa002.
1 Initiating the OVF Upload on page 56
To initiate the OVF upload, a client makes a POST request to the uploadVAppTemplate URL of the target
vDC. The request body is an UploadVAppTemplateParams element.
2 Uploading the OVF Descriptor on page 59
You upload the OVF descriptor by making a PUT request to an upload URL and supplying the
descriptor’s contents as an Envelope element in the request body. If the request is valid, the server
responds with a 200 OK status.
3 Retrieving the Upload URLs on page 59
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.
4 Uploading Referenced Files on page 61
You can use a PUT request to upload each file that the vApp template references.
Initiating the OVF Upload
To initiate the OVF upload, a client makes a POST request to the uploadVAppTemplate URL of the target vDC.
The request body is an UploadVAppTemplateParams element.
The first step in uploading an OVF package is to request vCloud Director to create a vAppTemplate object to
represent the template that will be constructed from the upload. This request returns a response that includes
a URL to which you can upload the package's descriptor file.
Prerequisites
Verify that you have the following information:
n
An OVF package to upload.
n
You are logged in as a user who has permission to upload OVF packages and create vApp templates.
n
You know the URL of the target vDC that will receive the upload. Retrieve the XML representation of
your organization to see a list of the vDCs that it contains.
vCloud API Programming Guide
56 VMware, Inc.