Many of the operations required to import virtual machines or create Provider vDCs, external networks, and network pools require you to identify vCenter resources and obtain references to them. You use these references to make the vCenter resources available in the cloud.

Every vCenter server registered to your cloud is represented as a VimServerReference element in the cloud's vimServerReferences list. You can retrieve one of these references to get a detailed representation of the server object, including links to the server's resource pools, networks, ESX/ESXi hosts, and virtual machines.

Verify that you are logged in to the vCloud API as a system administrator.

1

Retrieve the list of vCenter servers registered to this cloud.

Use a request like this one.

GET https://vcloud.example.com/api/admin/extension/vimServerReferences
2

Retrieve the representation of a vCenter server.

The response to the request you made in Step 1 contains a list of VimServerReference elements. You can make a GET request to any of these references to retrieve the XML representation of a vCenter server registered to this cloud.

The VimServer element returned in response to the request you made in Step 2 includes several Link elements where rel="down". These links contain URLs that you can use to retrieve lists of references to vCenter resources on this server.

vCenter Resource Lists

List URL

List Contents

https://vcloud.example.com/api/admin/extension/vimServer/id/vmsList

References to virtual machines in this vCenter server's inventory

https://vcloud.example.com/api/admin/extension/vimServer/id/hostReferences

References to ESX/ESXi hosts in this vCenter server's inventory

https://vcloud.example.com/api/admin/extension/vimServer/id/resourcePoolList

ResourcePool objects

https://vcloud.example.com/api/admin/extension/vimServer/id/networks

VimObjectRef elements of type DV_PORTGROUP and NETWORK

https://vcloud.example.com/api/admin/extension/vimServer/id/storageProfiles

VMWStorageProfile objects.

Request:

GET https://vcloud.example.com/api/admin/extension/vimServer/9

Response:

200 OK
...
<vmext:VimServer
   xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
   xmlns:vcloud="http://www.vmware.com/vcloud/v1.5"
   name="VC22"
   id="urn:vcloud:vimserver:9"
   type="application/vnd.vmware.admin.vmwvirtualcenter+xml"
   href="https://vcloud.example.com/api/admin/extension/vimServer/9" ...>
   ...
   <vcloud:Link
      rel="down"
      type="application/vnd.vmware.admin.vmsObjectRefsList+xml"
      href="https://vcloud.example.com/api/admin/extension/vimServer/9/vmsList" />
   <vcloud:Link
      rel="down"
      type="application/vnd.vmware.admin.vmwHostReferences+xml"
      href="https://vcloud.example.com/api/admin/extension/vimServer/9/hostReferences" />
   <vcloud:Link
      rel="down"
      type="application/vnd.vmware.admin.resourcePoolList+xml"
      href="https://vcloud.example.com/api/admin/extension/vimServer/9/resourcePoolList" />
    <vcloud:Link
      rel="down"
      type="application/vnd.vmware.admin.vimServerNetworks+xml"
      href="https://vcloud.example.com/api/admin/extension/vimServer/9/networks" />
    <vcloud:Link
      rel="down"
      type="application/vnd.vmware.admin.vmwStorageProfiles+xml"
      href="https://vcloud.example.com/api/admin/extension/vimServer/9/storageProfiles" />
   ...
   <vmext:Username>administrator</vmext:Username>
   <vmext:Url>https://10.115.124.37:443</vmext:Url>
   <vmext:IsEnabled>true</vmext:IsEnabled>
   <vmext:IsConnected>true</vmext:IsConnected>
   <vmext:ShieldManagerHost>10.115.124.1</vmext:ShieldManagerHost>
   <vmext:ShieldManagerUserName>admin</vmext:ShieldManagerUserName>
   <vmext:ShieldManagerUserName>admin</vmext:ShieldManagerUserName>
   <vmext:Uuid>44D5DAAA-7F3E-456D-B1CB-8288D7308AD6</vmext:Uuid>
   <vmext:VcProxy>cell1</vmext:VcProxy>
   <vmext:VcVersion>5.0.0</vmext:VcVersion>
   <vmext:UseVsphereService>false</vmext:UseVsphereService>
</vmext:VimServer>