vCloud API Programming Guide
204 VMware, Inc.
Avirtualapplicationorvirtualmachineistypicallymadeupofoneormorevirtualdiskfilesthatcontainthe
operatingsystemandapplicationsthatrunonthevirtualmachine,andaconfigurationfilecontaining
metadatathatdescribehowthevirtualmachineisconfiguredanddeployed.AnOVFpackageincludesthese
components,aswellasoptionalcertificateandmanifestfiles.Thepackagecanbedistributedandstoredasa
collectionofindividualfiles,orasasinglearchive(OVA)file.
About OVF Packages
AnOVFpackageincludesfourkindsoffiles:
AnOVFdescriptor,anXMLfilethatcontainsmetadatathatdescribeavirtualmachineorcollectionof
relatedvirtualmachinesandthedeploymentenvironmenttheyrequire.Byconvention,thisfilehasthe
suffix.ovf.
Virtualdiskfiles.Thedescriptorliststhesefilesandincludesinformationabouttheirformat.
Anoptionalcertificationfile,whichcanbeusedtocertifytheauthenticityofthepackage.
Anoptionalmanifestfile,whichcontainsaSHA‐1digestofeachofthefilesinthepackage.
About OVA Files
AnOVAfilecollectsallthefilesinanOVFpackageintoasinglearchive.Byconvention,thisfilehasthe
suffix .ova.ThisreleaseofthevCloudAPIdoesnotsupportuploadordownloadofOVAfiles.
How the vCloud API Uses OVF
ThevCloudAPIusestheOVFpackageasaunitofdistributionandstorageforvApptemplates.Becausethese
artifactsareuploaded,downloaded,andstoredinOVFpackageform,thevCloudAPIsupportsaccesstoand
deploymentofthewidestpossiblevarietyofvirtualapplications.ThevCloudAPIimplementsaninstantiation
mechanismthattransformsanOVFpackageintoavAppbybindingthepackage’sabstractresource
requirementstospecificresourcesinadeploymentenvironmentdefinedbyavDC.
Becauseofitsgenerality,theOVFincludesagreatdealofinformation,nearlyallofwhichisreusedinVApp
elements.Someofthis
informationisreusedinunalteredform,withentireovf:Section_Typeelements
includedintheVAppbody.Othersectionsaretransformedorextendedbyinstantiation.Whileitisnot
necessaryforauserofthevCloudAPItohaveadetailedknowledgeofalltheelementsofanOVFpackage,a
basic
understandingofafewkeypartsthepackageandhowtheyrelatetovApptemplatesandvAppscanbe
useful.
Virtual Machines
AnOVFEnvelopecollectsallofthemetadatathatdescribesasinglevirtualmachineintoaVirtualSystem
element.AnEnvelopethatcontainsmorethanoneVirtualSystemcollectsthemintoa
VirtualSystemCollectionelement.Thisarrangementsupportspackagingagroupofrelatedvirtual
machinesasasingleobject,andincludesprovisionsforspecifying
globalparameterssuchasvirtualmachine
startuporder,networkconnections,andarangeofresourceconfigurations(suchasprocessingpowerand
memory)towhichthevirtualmachinescanbedeployed.
ThevCloudAPIalsosupportsthiskindofpackagingofmultiplevirtualmachines.Whenyouinstantiatea
VAppTemplate,informationfrom
itsVirtualSystemandVirtualSystemCollectionelementsis
propagatedtothecreatedVApp.VirtualSystemelementsinaVirtualSystemCollectionbecomeVm
elementscontainedbytheChildrenelementofaVApp.
Formoreinformationaboutinstantiation,see“InstantiateavAppTemplate”onpage 61.Foradetailed
exampleofanEnvelopeanditssections,see
“ReconfiguringvAppsandVirtualMachines”onpage 69.For
moreinformationaboutthepurposeandcontentsoftheOVFSectionsincludedinavApporVm,see“VApp”
onpage 162.