VMware, Inc. 23
Chapter 2 Hello vCloud: A Structured REST Workflow Example
Finding a vApp Template
TheclientcanusethecatalogURLshowninExample 2‐2asthetargetofaGETrequestthatreturnsthe
contentsofthecatalog,asshowninExample 2‐3.
Example 2-3. Finding a vApp Template in a Catalog
Request:
GET http://vcloud.example.com/api/v1.0/catalog/32
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.catalog+xml
...
<Catalog name="MainCatalog" type="application/vnd.vmware.vcloud.catalog+xml"
href="http://vcloud.example.com/api/v1.0/catalog/32" ...>
...
<Description>Main Org Catalog</Description>
<CatalogItems>
...
<CatalogItem type="application/vnd.vmware.vcloud.catalogItem+xml" name="Ubuntu Template
with vsftpd" href="http://vcloud.example.com/api/v1.0/catalogItem/221"/>
...
</CatalogItems>
...
</Catalog>
EveryvApptemplateormediaimagethathasbeenaddedtothecatalogisrepresentedasaCatalogItem
element.Whenaclientbrowsesacatalog,itcanreadonlythename,type,andhrefofeachCatalogItem.To
retrieveanitemfromthecatalog,moreinformationisrequired.In
Example 2‐4,theclientmakesaGETrequest
toaCatalogItemURL(itshrefvalue).Theresponseprovidesmoreinformation,includingadescriptionof
thereferencedobjectandanotherURLthattheclientcanusetoretrievearepresentationoftheobject.
Example 2-4. Getting the vApp Template URL From a CatalogItem
Request:
GET http://vcloud.example.com/api/v1.0/catalogItem/221
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.catalogItem+xml
...
<CatalogItem name="Ubuntu Template with vsftpd"
href="http://vcloud.example.com/api/v1.0/catalogItem/221" ...>
...
<Description>Ubuntu Template with vsftpd</Description>
<Entity href="http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate-111"
type="application/vnd.vmware.vcloud.vAppTemplate+xml" name="Ubuntu Template
with vsftpd"/>
...
</CatalogItem>
ThisresponseshowsthatasuitablevApptemplatecanbefoundat
http://vcloud.example.com/api/v1.0/vAppTemplate/vappTemplate‐111.