VMware Cloud Director API - VAppTemplate

VMware Cloud Director API - VAppTemplate

VAppTemplateType

Element:
VAppTemplate
Type:
VAppTemplateType
Namespace:
http://www.vmware.com/vcloud/v1.5
Description:
Represents a vApp template.
Since:
0.9
Schema:
vAppTemplate.xsd
Media type(s):
application/vnd.vmware.vcloud.vAppTemplate+xml
application/vnd.vmware.vcloud.vAppTemplate+json
Extends:
ResourceEntityType
XML Representation:
<VAppTemplate xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
        name="xs:string" status="xs:int" ovfDescriptorUploaded="xs:boolean" goldMaster="xs:boolean">
    <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
            rel="xs:string" model="xs:string"/>
    <Description> xs:string </Description>
    <Tasks>
        <Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                cancelRequested="xs:boolean">
            <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                    rel="xs:string" model="xs:string"/>
            <Description> xs:string </Description>
            <Tasks> TasksInProgressType </Tasks>
            <Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                    vendorSpecificErrorCode="xs:string">
                <TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
            </Error>
            <User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <Progress> xs:int </Progress>
            <Params> ... </Params>
            <Details> xs:string </Details>
            <VcTaskList>
                <VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                        errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                        virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
            </VcTaskList>
            <Result>
                <ResultContent> ... </ResultContent>
                <ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            </Result>
        </Task>
    </Tasks>
    <Files>
        <File href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                name="xs:string" size="xs:long" bytesTransferred="xs:long" checksum="xs:normalizedString">
            <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                    rel="xs:string" model="xs:string"/>
            <Description> xs:string </Description>
            <Tasks>
                <Task href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
                        name="xs:string" status="xs:string" operation="xs:string" operationName="xs:string"
                        serviceNamespace="xs:string" startTime="xs:dateTime" endTime="xs:dateTime" expiryTime="xs:dateTime"
                        cancelRequested="xs:boolean">
                    <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                            rel="xs:string" model="xs:string"/>
                    <Description> xs:string </Description>
                    <Tasks> TasksInProgressType </Tasks>
                    <Owner href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <Error stackTrace="xs:string" message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string"
                            vendorSpecificErrorCode="xs:string">
                        <TenantError message="xs:string" majorErrorCode="xs:int" minorErrorCode="xs:string" vendorSpecificErrorCode="xs:string"/>
                    </Error>
                    <User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <Organization href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    <Progress> xs:int </Progress>
                    <Params> ... </Params>
                    <Details> xs:string </Details>
                    <VcTaskList>
                        <VcTask name="xs:string" moref="xs:string" status="xs:string" description="xs:string"
                                errorMessage="xs:string" objectName="xs:string" objectType="xs:string" objectMoref="xs:string"
                                virtualCenterID="xs:string" startTime="xs:dateTime" endTime="xs:dateTime"/>
                    </VcTaskList>
                    <Result>
                        <ResultContent> ... </ResultContent>
                        <ResultReference href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
                    </Result>
                </Task>
            </Tasks>
        </File>
    </Files>
    <Owner href="xs:anyURI" type="xs:string">
        <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                rel="xs:string" model="xs:string"/>
        <User href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
    </Owner>
    <CopyTpmOnInstantiate> xs:boolean </CopyTpmOnInstantiate>
    <Children>
        <Vm> VAppTemplateType </Vm>
    </Children>
    <ovf:Section> ovf:Section_Type </ovf:Section>
    <VAppScopedLocalId> xs:string </VAppScopedLocalId>
    <DefaultStorageProfile> xs:string </DefaultStorageProfile>
    <VdcComputePolicy href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
    <ComputePolicy href="xs:anyURI" type="xs:string">
        <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                rel="xs:string" model="xs:string"/>
        <VmPlacementPolicy href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
        <VmPlacementPolicyFinal> xs:boolean </VmPlacementPolicyFinal>
        <VmSizingPolicy href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
        <VmSizingPolicyFinal> xs:boolean </VmSizingPolicyFinal>
    </ComputePolicy>
    <DateCreated> xs:dateTime </DateCreated>
    <BootOptions href="xs:anyURI" type="xs:string">
        <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                rel="xs:string" model="xs:string"/>
        <BootDelay> xs:long </BootDelay>
        <EnterBIOSSetup> xs:boolean </EnterBIOSSetup>
        <BootRetryEnabled> xs:boolean </BootRetryEnabled>
        <BootRetryDelay> xs:long </BootRetryDelay>
        <EfiSecureBootEnabled> xs:boolean </EfiSecureBootEnabled>
        <NetworkBootProtocol> xs:string </NetworkBootProtocol>
    </BootOptions>
    <TrustedPlatformModule href="xs:anyURI" type="xs:string">
        <Link href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"
                rel="xs:string" model="xs:string"/>
        <TpmPresent> xs:boolean </TpmPresent>
    </TrustedPlatformModule>
</VAppTemplate>

Attributes

Attribute Type Required Modifiable Since Deprecated Description
href anyURI No always 0.9 The URI of the entity.
type string No always 0.9 The MIME type of the entity.
id string No none 0.9 The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused.
operationKey string No create 5.1 Optional unique identifier to support idempotent semantics for create and delete operations.
name string Yes always 0.9 The name of the entity.
status int No none 0.9 Creation status of the resource entity.
ovfDescriptorUploaded boolean No none 0.9 True if the OVF descriptor for this template has been uploaded.
goldMaster boolean No always 1.5 True if this template is a gold master.

Elements

Element Type Required Modifiable Since Deprecated Description
BootOptions BootOptionsType No none 37.1 Boot options for this virtual machine.
Children VAppTemplateChildrenType No none 0.9 Container for virtual machines included in this vApp template.
ComputePolicy ComputePolicyType No always 33.0 A reference to a vDC compute policy. This contains VM's actual vdc compute policy reference and also optionally an add-on policy which can only define VM's sizing.
CopyTpmOnInstantiate boolean No always 37.2 True if TPM device is copied to instantiated vApp from this template. False if a new TPM device is created for instantiated vApp.
DateCreated dateTime No none 5.1 Creation date/time of the template.
DefaultStorageProfile string No always 5.1 The name of the storage profile to be used for this object. The named storage profile must exist in the organization vDC that contains the object. If not specified, the default storage profile for the vDC is used.
Description string No always 0.9 Optional description.
Files FilesListType No none 0.9 Represents a list of files to be transferred (uploaded or downloaded). Each File in the list is part of the ResourceEntity.
Link LinkType No none 0.9 A reference to an entity or operation associated with this object.
Owner OwnerType No none 0.9 vAppTemplate owner.
Section Section_Type No 0.9 OVF sections included in this template.
Tasks TasksInProgressType No none 0.9 A list of queued, running, or recently completed tasks associated with this entity.
TrustedPlatformModule TpmType No always 37.2 Indicates the presence of a TPM device in VM.
VAppScopedLocalId string No always 1.0 A unique identifier for the Vm in the scope of the vApp template.
VCloudExtension VCloudExtensionType No always 0.9 An optional extension element that can contain an arbitrary number of elements and attributes. Not related to extension services.
VdcComputePolicy ReferenceType No always 31.0 33.0 A reference to a vdc compute policy for template VM. During instantiation this vdc compute policy should be present in destination vDC.

Operations

CRUD Operation Description Since Deprecated
as input PUT /vAppTemplate/{id} Update the name, description and gold master of a vApp template. 0.9
as output POST /admin/extension/vimServer/{id}/importVmAsVAppTemplate Import a virtual machine from vCenter as a vCloud Director vApp template. 1.0
as output POST /vdc/{id}/action/captureVApp Create a vApp template from a vApp. 0.9 5.5
as output POST /vdc/{id}/action/cloneVAppTemplate Create a copy of a vApp template. 0.9 37.0