To delete the vApp, undeploy it and power it off, then use an HTTP DELETE request to delete the vApp object.

A deployed vApp has a link that you can use with a POST request to undeploy it and then take a power action such as powering it off or suspending it. A powered-off vApp has a link that you can use with a DELETE request to remove it.

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

1

Retrieve the XML representation of the vApp.

Make a GET request to the URL provided in the href attribute of the VApp element returned when you created the vApp from the template. See Get Information About a vApp.

2

Undeploy the vApp, and specify that it should also be powered off.

Make a POST request to the vApp's action/undeploy link, which has the following form:

<Link
      rel="undeploy"
      href="https://vcloud.example.com/api/vApp/vapp-7/action/undeploy"/>

In the request body, specify that the undeployment include powering off the vApp. See Example: Undeploy, Power Off, and Delete a vApp.

3

Retrieve the XML representation of the vApp again.

Now that it has been powered off and undeployed, the vApp includes a rel="remove" link of the following form:

<Link
      rel="remove"
      href="https://vcloud.example.com/api/vApp/vapp-7"/>
4

Remove the vApp.

Make a DELETE request to the vApp's rel="remove" link, as shown in the request portion of Example: Undeploy, Power Off, and Delete a vApp.

The server starts a task to manage the events that lead up to the removal of the vApp, and returns a Task element that you can use to track the progress of the task.

The undeploy request body, an UndeployVAppParams element, allows you to specify an UndeployPowerAction. This example specifies an UndeployPowerAction of powerOff. Although powerOff is the default UndeployPowerAction, we show it here for clarity.

Request:

POST https://vcloud.example.com/api/vApp/vapp-7/action/undeploy
Content-Type: application/vnd.vmware.vcloud.undeployVAppParams+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<UndeployVAppParams
   xmlns="http://www.vmware.com/vcloud/v1.5">
   <UndeployPowerAction>powerOff</UndeployPowerAction>
</UndeployVAppParams>

Response:

202 Accepted
...
<Task 
   xmlns="http://www.vmware.com/vcloud/v1.5" 
   ...
   operation="Undeploying Virtual Application Linux FTP server (7)" 
   ... >
</Task>

After the vApp has been undeployed and powered off, its representation includes a link where rel="remove". Make a DELETE request to this link to remove the vApp.

Request:

DELETE https://vcloud.example.com/api/vApp/vapp-7

Response:

202 Accepted
...
<Task 
   ...
   operation="Deleting Virtual Application Linux FTP server (7)" 
   expiryTime="2010-09-23T08:00:55.402-07:00" 
   ... >
</Task>