5.5

Table Of Contents
status="running"
operation="Copying Virtual Application cloned (103)"
... >
</Task>
</Tasks>
...
</VApp>
Capture a vApp as a Template
You can capture a vApp to create a vApp template in a catalog. Instantiating the resulting template recreates
the vApp from which it was captured.
The captureVApp request creates a template based on the vApp referenced in the Source element of the
CaptureVAppParams request body. The request specifies a new name and, optionally, a new description and
storage profile for the template. If you want the new template to overwrite an existing template in the
catalog, you can specify a TargetCatalogItem in the request. Otherwise, the new template is stored in a new
catalog item.
If the vApp is deployed when you capture it, the template is created with the following properties.
n
Memory state of all virtual machines in the source vApp is preserved in the template.
n
Instantiating the template always creates a suspended vApp connected to an isolated network.
NOTE If the template is instantiated in a VDC that is not backed by the provider VDC that backed the VDC
in which the vApp was captured, memory state in the template is discarded on instantiation, and the vApp
is created with the network connections defined in the template or instantiation parameters.
Prerequisites
n
Verify that you are logged in as a user with the Catalog Author role, as an organization administrator of
the organization that owns the catalog, or as a system administrator.
n
Verify that the target catalog does not have an external subscription.
Procedure
1 Retrieve the XML representation of the catalog to which to add the vApp template that the capture
creates.
Use a request like this one, where id is the identifier of the catalog:
GET https://vcloud.example.com/api/admin/catalog/id
2 Examine the response to locate the Link element that contains the URL for capturing a vApp.
This element has a rel attribute value of add and a type attribute value of
application/vnd.vmware.vcloud.captureVAppParams+xml, as shown here:
<Link
rel="add"
type="application/vnd.vmware.vcloud.captureVAppParams+xml"
href="https://vcloud.example.com/api/catalog/5/action/captureVApp"/>
3 Create a CaptureVAppParams element that references the vApp to capture.
See “Example: Capture a vApp,” on page 109.
4 POST the CaptureVAppParams element to the action/captureVApp link shown in Step 2.
vCloud API Programming Guide
108 VMware, Inc.