These vCloud API operations requests create, manage, operate, and delete vApps and the virtual machines that they contain.

API-URL is a URL of the form https://vcloud.example.com/api.

id is a unique identifier in the form of a UUID, as defined by RFC 4122.

VApp-or-Vm-URL is a URL of the form API-URL/vApp/vapp-id (for a VApp or Vm object) or API-URL/vApp/vm-id (for a Vm object)

Vm-URL is a URL of the form API-URL/vApp/vm-id

Important

Request URLs are always available in Link elements contained by the representation of the object on which they operate. URL forms shown here are for reference purposes only. Although URLs have a well-known syntax and a well-understood interpretation, a client should treat vCloud API request URLs as opaque strings. The rules that govern how the server constructs these strings might change in future releases.

This summary may not cover all requests in this category. For the complete list of requests, along with detailed information about input and output types, see the Operations lists in the schema reference.

Summary of vApp and Virtual Machine Operations Requests

Operation

Request

Request Body

Response

Create a vApp from an OVF package

POST API-URL/vdc/id/ action/instantiateOvf

InstantiateOvfParams

VApp

Instantiate a vApp template to create a vApp

POST API-URL/vdc/id/ action/instantiateVAppTemplate

InstantiateVAppTemplateParams

VApp

Change the name or description of a vApp.

PUT API-URL/vApp/vapp-id

VApp

Task

Compose a vApp

POST API-URL/vdc/id/ action/composeVApp

ComposeVAppParams

VApp

Capture a vApp as a Template

POST API-URL/catalog/id/action/captureVApp

CaptureVAppParams

VAppTemplate

Clone a vApp.

POST API-URL/vdc/id/action/cloneVApp

CloneVAppParams

VApp

Recompose a vApp to add or remove virtual machines

POST API-URL/vApp/vapp-id/ action/recomposeVApp

RecomposeVAppParams

Task

Deploy a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/deploy

DeployVAppParams

Task

Undeploy a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/undeploy

UndeployVAppParams

Task

Power On a vApp or Virtual Machine

POST VApp-or-Vm-URL/power/action/powerOn

None

Task

Power Off a vApp or Virtual Machine

POST VApp-or-Vm-URL/power/action/powerOff

None

Task

Reset a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/reset

None

Task

Suspend a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/suspend

None

Task

Discard the Suspended State of a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/ discardSuspendedState

None

Task

Shut Down a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/shutdown

None

Task

Reboot a vApp or Virtual Machine

POST VApp-or-Vm-URL/action/reboot

None

Task

Retrieve product sections of a vApp or virtual machine

GET VApp-or-Vm-URL/productSections

None

ProductSectionList

Update product sections of a vApp or virtual machine

PUT VApp-or-Vm-URL/productSections

ProductSectionList

Task

Retrieve product sections of a vApp template

GET API-URL/vAppTemplate/vappTemplate-id/productSections

None

ProductSectionList

Retrieve version of VMware Tools installed on a virtual machine

GET Vm-URL/runtimeInfoSection

None

RuntimeInfoSection

Install VMware Tools on a virtual machine

POST Vm-URL/action/installVMwareTools

None

Task

Consolidate a virtual machine

POST Vm-URL/action/consolidate

None

Task

Upgrade the hardware version of a virtual machine

POST Vm-URL/action/upgradeHardwareVersion

None

Task

Insert Media Into a Virtual Machine

POST Vm-URL/action/insertMedia

MediaInsertOrEjectParams

Task

Eject Media from a Virtual Machine

POST Vm-URL/action/ejectMedia

MediaInsertOrEjectParams

Task

List Media Devices of a Virtual Machine

GET Vm-URL/ virtualHardwareSection/media

None

RasdItemsList

Get a Request for User Input

GET Vm-URL/question

None

VmPendingQuestion

Provide Requested User Input

POST Vm-URL/question/action/answer

VmQuestionAnswer

204 No Content

Get a Screen Thumbnail for a Virtual Machine

GET Vm-URL/screen

None

Returns a screen thumbnail (Content-type: image/png) if one is available. Otherwise returns null (Content-Length: 0).

Get a Screen Ticket for a Virtual Machine

POST Vm-URL/screen/action/acquireTicket

None

ScreenTicket

Attach an independent disk to a virtual machine.

POST Vm-URL/disk/action/attach

DiskAttachOrDetachParams

Task

Detach an independent disk from a virtual machine.

POST Vm-URL/disk/action/detach

DiskAttachOrDetachParams

Task

Create snapshots of all virtual machines in a vApp.

POST API-URL/vApp/vapp-id/ action/createSnapshot

CreateSnapshotParams

Task

Remove snapshots of all virtual machines in a vApp.

POST API-URL/vApp/vapp-id/ action/removeAllSnapshots

None

Task

Revert all virtual machines in a vApp to their current snapshots.

POST API-URL/vApp/vapp-id/ action/revertToCurrentSnapshot

None

Task

Retrieve information about vApp snapshots.

GET API-URL/vApp/vapp-id/snapshotSection

None

SnapshotSection

Validate the storage profile compliance of a virtual machine.

POST API-URL/vApp/vm-id/action/checkCompliance

None

Task

Retrieve a virtual machine storage profile validation report.

GET API-URL/vApp/vm-id/complianceResult

None

ComplianceResult

Retrieve all current metrics for a virtual machine.

GET Vm-URL/metrics/current

None

CurrentUsage

Retrieve all historic metrics for a virtual machine.

GET Vm-URL/metrics/historic

None

HistoricUsage

Retrieve a subset of current metrics for a virtual machine.

POST Vm-URL/metrics/current

CurrentUsageSpec

CurrentUsage

Retrieve a subset of historic metrics for a virtual machine.

POST Vm-URL/metrics/historic

HistoricUsageSpec

HistoricUsage