1.0
Table Of Contents
- vCloud API Programming Guide
- Contents
- About This Book
- Introducing the VMware vCloud API
- Hello vCloud: A Structured REST Workflow Example
- Logging In and Getting an Organization List
- Browsing an Organization
- Finding a vApp Template
- Getting Information About a vDC
- Instantiating the Template in the vDC
- Deploying and Powering On the vApp
- Getting Information About the vApp
- Displaying the Console
- Deleting the vApp
- Logging Out
- Moving on to Additional Use Cases
- Browsing
- Provisioning
- Summary of Provisioning Requests
- Upload OVF to Create a vApp Template
- View the OVF Descriptor of a vApp Template
- Download a vApp Template as OVF
- Upload a Media Image
- Copying and Moving
- Changing a Name or Description
- Delete a vAppTemplate, vApp, or Media Image
- Cataloging vApp Templates and Media Images
- Controlling Access
- Datacenter Operations
- Summary of Datacenter Operations Requests
- vApp Lifecycle
- Instantiate a vApp Template
- Compose a vApp
- Recompose a vApp to Add or Remove Virtual Machines
- Capture a vApp to Create a vApp Template
- Reconfiguring vApps and Virtual Machines
- Deploying and Controlling vApps and Virtual Machines
- Deploy a vApp or Virtual Machine
- Undeploy a vApp or Virtual Machine
- Power On a vApp or Virtual Machine
- Power Off a vApp or Virtual Machine
- Reset a vApp or Virtual Machine
- Suspend a vApp or Virtual Machine
- Discard the Suspended State of a vApp or Virtual Machine
- Shut Down a vApp or Virtual Machine
- Reboot a vApp or Virtual Machine
- List Media Devices of a Virtual Machine
- Insert Media Into a Virtual Machine
- Eject Media from a Virtual Machine
- Get a Screen Thumbnail for a Virtual Machine
- Get a Screen Ticket for a Virtual Machine
- Provide User Input Requested by a Virtual Machine
- Control Access to vApps
- Retrieve a Task
- Administrative Operations
- VMware vSphere Platform Operations
- Summary of vSphere Platform Operations Requests
- List vSphere Platform Operations and Objects for a vCloud
- List Provider vDCs in a vCloud
- List External Networks in a vCloud
- List Network Pools in a vCloud
- List vCenter Servers Registered to a vCloud
- List ESX/ESXi Hosts in a vCloud
- Create a Provider vDC
- Create an External Network
- Create a Network Pool
- Import a Virtual Machine from vCenter
- XML Representations in the vCloud API
- User API Reference
- Request Parameters Reference
- Administrative API Reference
- vSphere Platform Extensions Reference
- OVF and the vCloud API
- An Introduction to REST for vCloud API Users
- Index
vCloud API Programming Guide
128 VMware, Inc.
Example 7-16. VimServer Element
Request:
GET http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101
Response:
200 OK
Content-Type: application/vnd.vmware.admin.vmwvirtualcenter+xml
...
<vmext:VimServer xmlns:vmext="http://www.vmware.com/vcloud/extension/v1"
xmlns:vcloud="http://www.vmware.com/vcloud/v1" name="VC2"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101" ...>
<vcloud:Link rel="down" type="application/vnd.vmware.admin.vmsObjectRefsList+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/
vmsList"/>
<vcloud:Link rel="down" type="application/vnd.vmware.admin.resourcePoolList+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/
resourcePoolList"/>
<vcloud:Link rel="add" type="application/vnd.vmware.admin.importVmAsVAppParams+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/
importVmAsVApp"/>
<vcloud:Link rel="add" type="application/vnd.vmware.admin.importVmAsVAppTemplateParams+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/
importVmAsVAppTemplate"/>
<vcloud:Link rel="edit" type="application/vnd.vmware.admin.vmwvirtualcenter+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101"/>
<vcloud:Link rel="unregister"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/action/
unregister"/>
<vcloud:Link rel="reconnect"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/action/
forcevimserverreconnect"/>
<vmext:Username>administrator</vmext:Username>
<vmext:Url>https://10.147.20.155:443</vmext:Url>
<vmext:IsEnabled>true</vmext:IsEnabled>
<vmext:ShieldManagerIP>10.147.41.67</vmext:ShieldManagerIP>
<vmext:ShieldManagerUserName>admin</vmext:ShieldManagerUserName>
</vmext:VimServer>
TheresourcePoolListfromaVimServerelement(seeExample 7‐17)includestheMoRefand
VimObjectTypevaluesforallaccessibledatastoresandresourcepoolsassociatedwiththatvCenterserver.
Example 7-17. Resource Pool List
Request:
GET http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101/resourcePoolList
Response:
200 OK
Content-Type: application/vnd.vmware.admin.resourcepoollist+xml
...
<vmext:ResourcePoolList xmlns:vmext="http://www.vmware.com/vcloud/extension/v1"
xmlns:vcloud="http://www.vmware.com/vcloud/v1" ... >
<vcloud:Link rel="up" type="application/vnd.vmware.admin.vmwvirtualcenter+xml"
href="http://vcloud.example.com/api/v1.0/admin/extension/vimServer/101"/>
<vmext:ResourcePool name="gasare-vc2-rp">
<vmext:MoRef>resgroup-3582</vmext:MoRef>
<vmext:VimObjectType>RESOURCE_POOL</vmext:VimObjectType>
<vmext:DataStoreRefs>
<vmext:VimObjectRef>
<vmext:MoRef>datastore-418</vmext:MoRef>
<vmext:VimObjectType>DATASTORE</vmext:VimObjectType>
</vmext:VimObjectRef>
<vmext:VimObjectRef>