VMware, Inc. 15
Chapter 1 Introducing the VMware vCloud API
Virtual Systems and Media Images in a vCloud
VirtualsystemsandmediaimagesarestoredinavDCandcanbeincludedinacatalog.Mediaimagesare
storedintheirnativerepresentation(ISOorfloppy).Virtualsystemsarestoredastemplates,usinganopen
standardformat(OVF1.0).Thesetemplatescanberetrievedfromcatalogsandtransformedinto
virtual
systems,calledvApps,throughaprocesscalledinstantiation,whichbindsatemplate’sabstractresource
requirementstoresourcesavailableinavDC.AvAppcontainsoneormoreindividualvirtualmachines(Vm
elements),alongwithparametersthatdefineoperationaldetailssuchas:
Howthecontainedvirtualmachinesareconnectedtoeachotherandtoexternalnetworks.
Theorderinwhichindividualvirtualmachinesarepoweredonoroff.
End‐userlicenseagreementtermsforeachvirtualmachine.
Deploymentleaseterms(typicallyinheritedfromthecontainingorganization)thatconstrainthevApp’s
consumptionofvDCresources
Accesscontrolinformationspecifyingwhichusersandgroupscanperformoperationssuchasdeploy,
poweron,modify,andsuspendonthevAppandthevirtualmachinesitcontains.
Objects, References, and Representations
ThevCloudAPIrepresentsobjectsinthevCloudasXMLdocumentsinwhichobjectpropertiesareencoded
aselementsandattributeswithtypedvaluesandanexplicitobjecthierarchydefinedbyanXMLschema.
EveryobjectinavCloudisuniquelyidentifiedbyaURL.ThisURLisconstructedbythe
serverandreturned
inthevalueofthehrefattributeoftheXMLelementthatrepresentstheobject.Italsoappearsinvarious
elementsofLinkTypeandReferenceType.ThisURLservesasauniqueidentifierthatpersistsforthelifeof
theobjectandisneverre‐used.AlthoughURLs
haveawell‐knownsyntaxandawell‐understood
interpretation,aclientshouldtreateachhrefasanopaquestring.Therulesthatgovernconstructionofhref
stringsbytheservermightchangeinfuturereleases.
Objecttypes,specifiedasMIMEcontenttypes,areincludedintheXMLrepresentationsoffirst
‐classobjects
suchastheonesshowninFigure 1‐1.Formoreinformation,see“ContentType”onpage 142.
Links and Link Relations
ThevCloudAPImakesextensiveuseoflinks(URLs)toprovidereferencestoobjectsandtheactionsthatthey
support.Theselinksaretheprimarymechanismbywhichaservertellsaclienthowtoaccessandoperateon
anobject.Linksarecreatedbytheserver,andareread‐only
attheclient.(Ifaclientrequestbodyincludesa
link,theserverignoresit.)
IntheXMLrepresentationofavCloudobject,eachlinkisdefinedinaLinkelementthathasthefollowing
form:
<Link rel="
relationship
" type="application/vnd.vmware.vcloud.type+xml" href="
URL
" name="
string
"/>
TherelattributevaluedefinestherelationshipoftheobjectwhoseXMLrepresentationcontainstheLink
toatargetobject.TherelationshipalsoindicatestheHTTPrequesttypetousewhenmakingarequest
withthehrefattributeofthelink,asshowninTable 1‐1:
Table 1-1. Link Relationships and HTTP Request Types
rel Attribute Value Relation Description HTTP Request
add addsanitemtothiscontainer POST
alternate alinktoanalternaterepresentationofthisobject GET
catalogItem alinktothecatalogItemthatcontainsareferencetothisobject. GET
controlAccess applyaccesscontrols POST
copy notsupportedinthisrelease N/A
deploy deploythisobject POST