vCloud API Programming Guide
44 VMware, Inc.
Theresponsebodyincludesthefollowingattributes:
AnhrefattributewhosevalueisalinktothenewlycreatedvApptemplateobject.
AnovfDescriptorUploadedattributewithavalueoffalse,indicatingthattheOVFdescriptorfilehas
notyetbeenuploaded
Astatusattributewithavalueof0,indicatingthatthefilereferencesinthedescriptorhavenotyetbeen
uploaded.(AVAppTemplatewithastatusof0issaidtobeunresolved.)
ItalsoincludesaFileelementwithanuploadURL(rel="upload:default")fortheOVFdescriptor.The
name
attributeofthisFileelementhasbeencreatedbytheserverandspecifiesacontainerthattheserverhas
createdtoreceivethecontentsofthedescriptor.Ithasnorelationtothefilenameofthedescriptorinthe
client’sfilesystem.
TheclientuploadstheOVFdescriptorbymaking
aPUTrequesttotheuploadURL,andsupplyingthe
descriptor’scontentsasanEnvelopeelementintherequestbody.Theserverrespondswitha200OKstatus,
asshowninExample 4‐3.
Example 4-3. Upload OVF Descriptor
Request:
PUT http://vcloud.example.com/transfer/.../descriptor.ovf
Content-Type text/xml
...
<Envelope ... >
...
</Envelope>
Response:
200 OK
Afterthedescriptorisuploaded,theservervalidatesitand,ifitisvalid,createsuploadURLsforeachofthe
filesitreferences.Totracktheprogressofthisoperation,theclientcanmakeperiodicGETrequeststothe
vAppTemplateURL.Whentheoperationiscomplete,theresponsetothis
kindofrequestincludesadditional
Fileelementsbeyondtheonealreadycreatedforthedescriptor,asshowninExample 4‐4.
Example 4-4. GET vAppTemplate with Upload URLs
Request:
GET http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate-268
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.vAppTemplate+xml
...
<VAppTemplate ovfDescriptorUploaded="true" status="0" name="Ubuntu Template"
href="http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate-268"
type="application/vnd.vmware.vcloud.vAppTemplate+xml" ...>
<Link rel="up" type="application/vnd.vmware.vcloud.vdc+xml"
href="http://vcloud.example.com/api/v1.0/vdc/5"/>
...
<Description>Ubuntu vApp Template</Description>
<Files>
<File size="3940" bytesTransferred="3940" name="descriptor.ovf">
<Link rel="upload:default"
href="http://vcloud.example.com/transfer/.../descriptor.ovf"/>
</File>