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, hosts, and virtual machines.

Prerequisites

This operation is restricted to system administrators.

Procedure

  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.

Results

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.

Table 1. 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 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.

The VimServer element returned in response also contains the providerScoped and tenantScoped elements, which provide information about the use of the vCenter Server resources.

  • If the vCenter Server instance backs a provider VDC, its providerScoped element contains the value true.
  • If the vCenter Server instance backs an SDDC, its tenantScoped element contains the value true.

Before you begin using the resources of an attached vCenter Server instance in the cloud, both elements, the providerScoped and the tenantScoped, contain the value false.

Example: Resources on a vCenter Server

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" />
   ...
   <Description>vCenter Server</Description>
   <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:Uuid>44D5DAAA-7F3E-456D-B1CB-8288D7308AD6</vmext:Uuid>
   <vmext:VcProxy>cell1</vmext:VcProxy>
   <vmext:VcVersion>6.0.0</vmext:VcVersion>
   <vmext:UseVsphereService>false</vmext:UseVsphereService>
   <vmext:VsphereWebClientServerUrl>https://10.115.124.37</vmext:VsphereWebClientServerUrl>
</vmext:VimServer>