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.

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

Verify that you are logged in to the vCloud API as a user with the vApp Author role.

1

Retrieve the representation of your organization.

See the request portion of Example: 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 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.