To deploy your template as a vApp, you must specify an organization VDC to deploy it in and an organization VDC network to connect it to.

Instantiation, deployment, and operation of a vApp all take place in the context of an organization VDC. The XML representation of a VDC object defines that context in detail. For this exercise, you need several pieces of information from the VDC:

  • The URL that a client can use to request an instantiateVAppTemplate operation in the VDC.
  • A list of networks in the organization VDC that the vApp can connect to.

Deployment Information in a VDC shows this subset of VDC contents.

Prerequisites

This operation requires the rights included in the predefined vApp Author role or an equivalent set of rights.

Procedure

  1. Retrieve the representation of your organization.
    See the request portion of Retrieve the Contents of an Organization.
  2. Examine the Org response to find the links to the organization's VDCs.
    Links to VDCs have the form:
    <Link
       rel="down"
       type="application/vnd.vmware.vcloud.vdc+xml"
       href="https://vcloud.example.com/api/vdc/id"
       name="VDC_name" />
  3. Retrieve the contents of the VDC.
    Use a GET request of the form shown in the request portion of Deployment Information in a VDC.

Example: Deployment Information in a VDC

This example shows a request to retrieve the XML representation of a VDC. It shows only the subset of the response that contains deployment information.

Request:
GET https://vcloud.example.com/api/vdc/5
Response:
200 OK
Content-Type: application/vnd.vmware.vcloud.vdc+xml
...
<Vdc
   xmlns="http://www.vmware.com/vcloud/v1.5"
   name="ExampleVdc01"
   type="application/vnd.vmware.vcloud.vdc+xml"
   href="https://vcloud.example.com/api/vdc/5">
   ...
   <Link
      rel="add"
      type="application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml"
      href="https://vcloud.example.com/api/vdc/5/action/instantiateVAppTemplate" />
   ...
   <AvailableNetworks>
      <Network
         href="https://vcloud.example.com/api/network/14"
         type="application/vnd.vmware.vcloud.network+xml"
         name="Isolated" />
      <Network
         href="https://vcloud.example.com/api/network/54"
         type="application/vnd.vmware.vcloud.network+xml"
         name="Internet" />
   </AvailableNetworks>
   ...
</Vdc>

The information that you need is available in the following elements of the response:

  • A Link element that contains an action URL for instantiateVAppTemplate. The rel attribute of this link has a value of add. It implements an action that adds an object (a vApp) to the VDC.
  • A list of AvailableNetworks that includes all the networks in the VDC.