VMware, Inc. 43
Chapter 4 Provisioning
Bothmonolithicandranged(chunked)PUTsaresupported.Afterstartinganupload,aclientcanmake
periodicrequeststodetermineitsprogress.Afterallthefilesareuploaded(andvalidatedifamanifestis
present),theserverprocessestheuploads.Whenprocessingiscomplete,theserversetsthevalueofthe
template’sstatusattributeto8,indicatingthatthetemplateisreadyforuse.(Thisstatusvalueindicatesthat
allofthevirtualmachinesinthetemplatearepoweredoff.Formoreinformation,includingacompletelistof
possiblestatusvaluesandtheirmeanings,see“status”onpage 144.)
Restrictions on Uploaded Content
ThisreleaseofthevCloudAPIimposesthefollowingrestrictionsonuploadedOVFcontent:
YoucanuploadeitherOVF1.0orOVF1.1content.OVF1.1packagesareconvertedtoOVF1.0for
download,andanyOVF1.1contentislost.
YoucannotuploadacompressedOVFpackage.
IfyouuploadanOVFpackageinwhichanyVirtualSystemelementhasanovf:idattributevaluethat
islongerthan13characters,thenameoftheVmthatrepresentstheVirtualSysteminthevAppTemplate
createdbytheuploadisrewrittenasthefirst13charactersoftheovf:id attributefollowedby
three
digits.Forexample,NewVirtualMachine1andNewVirtualMachine2becomeNewVirtualMa001and
NewVirtualMa002.
Initiate the Upload
Toinitiatetheupload,aclientmakesanHTTPPOSTrequestspecifyingatargetvDCandan
uploadVAppTemplateaction.Therequestbody,showninExample 4‐1,isanUploadVAppTemplateParams
element.
Example 4-1. uploadVappTemplate Request
POST http://vcloud.example.com/api/v1.0/vdc/5/action/uploadVAppTemplate
Content-Type: application/vnd.vmware.vcloud.uploadVAppTemplateParams+xml
<UploadVAppTemplateParams name="Ubuntu Template" xmlns="http://www.vmware.com/vcloud/v1" >
<Description>Ubuntu vApp Template</Description>
</UploadVAppTemplateParams>
ThisrequestcreatesanewVAppTemplateobjectinthetargetvDCandreturnstheobjectʹsXMLrepresentation
inaresponse,asshowninExample 4‐2.
Example 4-2. Unresolved vAppTemplate Body with Upload URL for OVF Descriptor
201 Created
Content-Type: application/vnd.vmware.vcloud.vAppTemplate+xml
<VAppTemplate name="Ubuntu Template"
href="http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate-268" status="0"
ovfDescriptorUploaded="false"
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 name="descriptor.ovf" bytesTransferred="0">
<Link rel="upload:default"
href="http://vcloud.example.com/transfer/.../descriptor.ovf"/>
</File>
</Files>
</VAppTemplate>