VMware, Inc. 147
Chapter 8 XML Representations in the vCloud API
Link
ALinkelementdefinesahyperlinkwitharelationship,URI,andanoptionalnameandmediatype.Formore
informationabouthowLinkelementsareusedandalistofthevaluesallowedfortherelattribute,see“Links
andLinkRelations”onpage 15.
Thiselementisread‐only.
API Versioning
vCloud APIschemaversioninformationappearsinthevaluesofthexsi:schemaLocationandxmlns
attributesinaresponsedocument.Forexample,aresponsebodythatusedschemaversion1.0wouldinclude
thefollowingattributes:
xsi:schemaLocation="http://vcloud.example.com/api/v1.0/schema/master.xsd"
xmlns="http://www.vmware.com/vcloud/v1"
Todiscovertheschemaversionssupportedbyaserver,aclientcanmakeanunauthenticatedGETrequestto
awell‐knownURLontheserver,asshowninExample 8‐2.Theresponsetothiskindofrequestisa
SupportedVersionsdocument,fromwhichtheclientcanderiveinformationaboutthe
mediatypesand
schemalocationsusedbytheversionoftheAPIthattheserversupports.Theresponsecontainsa
MediaTypeMappingelementforeachmediatypedefinedbytheAPI.(Theexampleshowsonlyafewofthese
elements.)TheresponsealsoincludesaLoginUrlelement,whichcontainsaURLthat
aclientcanusetoobtain
anauthenticationtoken.FormoreinformationaboutusingtheLoginUrl,see“Authentication”onpage 18.
Example 8-2. API Version Request
Request:
GET http://vcloud.example.com/api/versions
Response:
200 OK
Content-Type: text/xml
...
<SupportedVersions ...>
<VersionInfo>
<Version>1</Version>
<LoginUrl>http://vcloud.example.com/api/v1/login</LoginUrl>
<MediaTypeMapping>
<MediaType>application/vnd.vmware.vcloud.org+xml</MediaType>
<ComplexTypeName>CatalogType</ComplexTypeName>
<SchemaLocation>http://vcloud.example.com/api/v1.0/schema/master.xsd</SchemaLocation>
</MediaTypeMapping>
<MediaTypeMapping>
UNKNOWN TherequestraisedanexceptionthatdidnotmatchanyHTTPstatus
code.
UNSUPPORTED_MEDIA_TYPE Thewrongcontenttypewasspecified fortherequest.
Table 8-6. Minor Error Codes (Continued)
Error Code Description of Error
Schema
Name Min Max Type Description
rel 1 1 RelationType Relationofthelinktothereferencedobject
href 1 1 xs:anyURI Hyperlinktothereferencedobject
type 0 1 xs:string Mediatypeofthereferencedobject.Linkstoactionsdonot
haveamediatype.
name 01 xs:string Nameofthereferencedobject.LinkstoTasksandactions
donothavenames.