VMware Cloud Director API - Vm

VMware Cloud Director API - Vm

VmType

Element:
Vm
Type:
VmType
Namespace:
http://www.vmware.com/vcloud/v1.5
Description:
Represents a virtual machine.
Since:
0.9
Schema:
vApp.xsd
Media type(s):
application/vnd.vmware.vcloud.vm+xml
application/vnd.vmware.vcloud.vm+json
Extends:
AbstractVAppType
XML Representation:
<Vm xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
        xmlns:environment_1="http://schemas.dmtf.org/ovf/environment/1" href="xs:anyURI" type="xs:string" id="xs:string" operationKey="xs:string"
        name="xs:string" status="xs:int" deployed="xs:boolean" encrypted="xs:boolean"
        needsCustomization="xs:boolean" nestedHypervisorEnabled="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>
    <VAppParent href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
    <ovf:Section> ovf:Section_Type </ovf:Section>
    <DateCreated> xs:dateTime </DateCreated>
    <VAppScopedLocalId> xs:string </VAppScopedLocalId>
    <environment_1:Environment> environment_1:Environment_Type </environment_1:Environment>
    <VmCapabilities 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"/>
        <MemoryHotAddEnabled> xs:boolean </MemoryHotAddEnabled>
        <CpuHotAddEnabled> xs:boolean </CpuHotAddEnabled>
    </VmCapabilities>
    <StorageProfile href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
    <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>
    <ComputePolicyCompliance 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"/>
        <LastComplianceCheckTime> xs:dateTime </LastComplianceCheckTime>
        <PolicyName> xs:string </PolicyName>
        <NonComplianceMessage> xs:string </NonComplianceMessage>
    </ComputePolicyCompliance>
    <IsComputePolicyCompliant> xs:boolean </IsComputePolicyCompliant>
    <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>
    <Media href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
    <ReplicationTrackingDiskSection>
        <ReplicationTrackingDiskSettings>
            <DiskUuid> xs:string </DiskUuid>
            <StorageProvisionedKb> xs:long </StorageProvisionedKb>
            <StorageOverheadKb> xs:long </StorageOverheadKb>
            <StoragePolicy href="xs:anyURI" id="xs:string" type="xs:string" name="xs:string"/>
            <PlacementRecommendation> xs:string </PlacementRecommendation>
        </ReplicationTrackingDiskSettings>
    </ReplicationTrackingDiskSection>
    <ReplicationTrackingSettings 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"/>
        <ReplicationTrackingVmState> xs:string </ReplicationTrackingVmState>
    </ReplicationTrackingSettings>
    <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>
    <IsVAppConfigRemoved> xs:boolean </IsVAppConfigRemoved>
</Vm>

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.
deployed boolean No none 1.0 True if the virtual machine is deployed.
encrypted boolean No none 34.0 True if VM is encrypted. This is a read-only value.
needsCustomization boolean No none 0.9 True if this virtual machine needs customization.
nestedHypervisorEnabled boolean No none 5.1 True if hardware-assisted CPU virtualization capabilities in the host should be exposed to the guest operating system.

Elements

Element Type Required Modifiable Since Deprecated Description
BootOptions BootOptionsType No always 21.0 Boot options for this virtual machine.
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 always defines VM's sizing.
ComputePolicyCompliance ComputePolicyComplianceType No always 33.0 This element shows VM's non compliance details against a given compute policy.
DateCreated dateTime No none 5.1 Creation date/time of the vApp.
Description string No always 0.9 Optional description.
Environment Environment_Type No 0.9 OVF environment section.
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.
IsComputePolicyCompliant boolean No none 33.0 True if VM is compliant with the associated compute policies
IsVAppConfigRemoved boolean No always 37.2 True if the configuration of this VApp is removed, defaults to false if not specified.
Link LinkType No none 0.9 A reference to an entity or operation associated with this object.
Media ReferenceType No none 30.0 Reference to the media object to insert in a new VM.
ReplicationTrackingDiskSection ReplicationTrackingDiskSectionType No none 38.0 A list of Replication Tracking Disks for a Replication Tracking VM
ReplicationTrackingSettings ReplicationTrackingSettingsType No none 38.0 The replication state of the VM.
Section Section_Type No 0.9 An OVF Section with additional custom attributes.
StorageProfile ReferenceType No always 5.1 A reference to a storage profile to be used for this object. The specified storage profile must exist in the organization vDC that contains the object. If not specified, the default storage profile for the vDC is used.
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 presence of TPM device in VM.
VAppParent ReferenceType No none 0.9 Reserved. Unimplemented.
VAppScopedLocalId string No none 1.0 A unique identifier for the virtual machine in the scope of the vApp.
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. A VM will always belong to vdc compute policy. The specified vDC compute policy must exist in organization vDC. If not specified, default vDC compute policy will be used.
VmCapabilities VmCapabilitiesType No always 5.1 Allows you to specify certain capabilities of this virtual machine.

Operations

CRUD Operation Description Since Deprecated
as input PUT /vApp/{id} Modify the name or description of a VM. 0.9
as input POST /vApp/{id}/action/reconfigureVm Updates Vm name, Description, and any or all of the following sections.
  • VirtualHardwareSection
  • OperatingSystemSection
  • NetworkConnectionSection
  • GuestCustomizationSection
Sections not included in the request body will not be updated.
5.1
as output POST /admin/extension/vimServer/{id}/importVm Import a virtual machine from vCenter. 30.0