After you undeploy a vApp and power it off, you can 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 the vApp and 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 the vApp.
Prerequisites
This operation requires the rights included in the predefined vApp Author role or an equivalent set of rights.
Procedure
Results
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.
Example: Undeploy, Power Off, and Delete a vApp
You can use the undeploy request body, an UndeployVAppParams element, to specify an UndeployPowerAction element. This example specifies an UndeployPowerAction of powerOff. Even though powerOff is the default UndeployPowerAction, It appears here for completeness.
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>
202 Accepted ... <Task xmlns="http://www.vmware.com/vcloud/v1.5" ... operation="Undeploying Virtual Application Linux FTP server (7)" ... > </Task>
After the vApp is undeployed and powered off, its representation includes a link where rel="remove". Make a DELETE request to this link to remove the vApp.
DELETE https://vcloud.example.com/api/vApp/vapp-7
202 Accepted ... <Task ... operation="Deleting Virtual Application Linux FTP server (7)" ... > </Task>
force=true
query string to the vApp
href and using that URL with a DELETE request, as shown here:
DELETE https://vcloud.example.com/api/vApp/vapp-7?force=true