Managed Object - VirtualDiskManager

Property of
ServiceContent
See also
Datacenter, HostDiskDimensionsChs, VirtualDiskSpec
Since
VI API 2.5


Managed Object Description

This managed object type provides a way to manage and manipulate virtual disks on datastores. The source and the destination names are in the form of a URL or a datastore path.

A URL has the form

scheme://authority/folder/path?dcPath=dcPath&dsName=dsName
where
  • scheme is http or https.
  • authority specifies the hostname or IP address of the VirtualCenter or ESX server and optionally the port.
  • dcPath is the inventory path to the Datacenter containing the Datastore.
  • dsName is the name of the Datastore.
  • path is a slash-delimited path from the root of the datastore.
  • A datastore path has the form

    [datastore] path
    where
  • datastore is the datastore name.
  • path is a slash-delimited path from the root of the datastore.
  • An example datastore path is "[storage] path/to/file.extension". A listing of all the files, disks and folders on a datastore can be obtained from the datastore browser.
    See HostDatastoreBrowser

    Properties

    Name Type Description
    None

    Methods

    Methods defined in this Managed Object
    CopyVirtualDisk_Task, CreateVirtualDisk_Task, DefragmentVirtualDisk_Task, DeleteVirtualDisk_Task, EagerZeroVirtualDisk_Task, ExtendVirtualDisk_Task, InflateVirtualDisk_Task, MoveVirtualDisk_Task, QueryVirtualDiskFragmentation, QueryVirtualDiskGeometry, QueryVirtualDiskUuid, SetVirtualDiskUuid, ShrinkVirtualDisk_Task, ZeroFillVirtualDisk_Task

    CopyVirtualDisk_Task

    Copy a virtual disk, performing conversions as specified in the spec.

    If source (or destination) name is specified as a URL, then the corresponding datacenter parameter may be omitted.

    If source and destination resolve to the same file system location, the call has no effect, regardless of destSpec content.

    Requires Datastore.FileManagement privilege on both source and destination datastores.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    sourceNamexsd:string

    The name of the source, either a datastore path or a URL referring to the virtual disk to be copied.
    sourceDatacenter*ManagedObjectReference
    to a Datacenter

    If sourceName is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, sourceName must be a URL.
    destNamexsd:string

    The name of the destination, either a datastore path or a URL referring to the virtual disk to be created.
    destDatacenter*ManagedObjectReference
    to a Datacenter

    If destName is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, it is assumed that the destination path belongs to the source datacenter.
    destSpec*VirtualDiskSpec

    The specification of the virtual disk to be created. If not specified, a preallocated format and busLogic adapter type is assumed.
    force*xsd:boolean

    The force flag is currently ignored. The FileAlreadyExists fault is thrown if the destination file already exists.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs cloning the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the source or destination datastore.
    InvalidDiskFormatThrown if the destination's format is not supported.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    CreateVirtualDisk_Task

    Create a virtual disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk is created.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk to be created.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    specVirtualDiskSpec

    The specification of the virtual disk to be created.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs creating the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    DefragmentVirtualDisk_Task

    Defragment a sparse virtual disk. This is defragmentation of the virtual disk file(s) in the host operating system, not defragmentation of the guest operating system filesystem inside the virtual disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk that should be defragmented.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs defragmenting the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    DeleteVirtualDisk_Task

    Delete a virtual disk. All files relating to the disk will be deleted.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk is removed.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk to be deleted.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs deleting the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    EagerZeroVirtualDisk_Task

    Explicitly zero out unaccessed parts zeroedthick disk. Effectively a no-op if the disk is already eagerZeroedThick. Unlike zeroFillVirtualDisk, which wipes the entire disk, this operation only affects previously unaccessed parts of the disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View
    Since
    vSphere API 4.0

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk that should be inflated.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs while eager-zeroing the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    ExtendVirtualDisk_Task

    Expand the capacity of a virtual disk to the new capacity. If the eagerZero flag is not specified, - the extended disk region of a zerothick disk will be zeroedthick - the extended disk region of a eagerzerothick disk will be eagerzeroedthick - a thin-provisioned disk will always be extended as a thin-provisioned disk. If the eagerZero flag TRUE, the extended region of the disk will always be eagerly zeroed. If the eagerZero flag FALSE, the extended region of a zeroedthick or eagerzeroedthick the disk will not be eagerly zeroed. This condition has no effect on a thin source disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk whose capacity should be expanded.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    newCapacityKbxsd:long

    The new capacty of the virtual disk in Kb.
    eagerZero*xsd:boolean

    If true, the extended part of the disk will be explicitly filled with zeroes.

    Since vSphere API 4.0
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs extending the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    InflateVirtualDisk_Task

    Inflate a sparse or thin-provisioned virtual disk up to the full size. Additional space allocated to the disk as a result of this operation will be filled with zeroes.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk that should be inflated.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs inflating the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    MoveVirtualDisk_Task

    Move a virtual disk and all related files from the source location specified by sourceName and sourceDatacenter to the destination location specified by destName and destDatacenter.

    If source (or destination) name is specified as a URL, then the corresponding datacenter parameter may be omitted.

    If source and destination resolve to the same file system location, the call has no effect.

    Requires Datastore.FileManagement privilege on both source and destination datastores.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    sourceNamexsd:string

    The name of the source, either a datastore path or a URL referring to the virtual disk to be moved.
    sourceDatacenter*ManagedObjectReference
    to a Datacenter

    If sourceName is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, sourceName must be a URL.
    destNamexsd:string

    The name of the destination, either a datastore path or a URL referring to the destination virtual disk.
    destDatacenter*ManagedObjectReference
    to a Datacenter

    If destName is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, it is assumed that the destination path belongs to the source datacenter.
    force*xsd:boolean

    If true, overwrite any indentically named disk at the destination. If not specified, it is assumed to be false
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask

    Faults

    Type Description
    FileFaultThrown if an error occurs renaming the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the source or destination datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    QueryVirtualDiskFragmentation

    Return the percentage of fragmentation of the sparse virtual disk. This is the fragmentation of virtual disk file(s) in the host operating system, not the fragmentation of the guest operating systemS filesystem inside the virtual disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk for which to return the percentage of fragmentation.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    xsd:intThe percentage of fragmentation (as an integer between 0 and 100) of the sparse virtual disk.

    Faults

    Type Description
    FileFaultThrown if an error occurs reading the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    QueryVirtualDiskGeometry

    Get the disk geometry information for the virtual disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk from which to get geometry information.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    HostDiskDimensionsChsThe geometry information for this virtual disk.

    Faults

    Type Description
    FileFaultThrown if an error occurs reading the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    QueryVirtualDiskUuid

    Get the virtual disk SCSI inquiry page 0x83 data.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk from which to get SCSI inquiry page 0x83 data.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    xsd:stringThe hex representation of the unique ID for this virtual disk.

    Faults

    Type Description
    FileFaultThrown if an error occurs reading the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    SetVirtualDiskUuid

    Set the virtual disk SCSI inquiry page 0x83 data.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk whose SCSI inquiry page 0x83 data should be set.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    uuidxsd:string

    The hex representation of the unique ID for this virtual disk.
    *Need not be set

    Return Value

    Type Description
    None

    Faults

    Type Description
    FileFaultThrown if an error occurs updating the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    ShrinkVirtualDisk_Task

    Shrink a sparse virtual disk.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    The optional parameter copy specifies whether to shrink the disk in copy-shrink mode or in-place mode. In copy-shrink mode, additional space is required, but will result in a shrunk disk that is also defragmented. In-place shrink does not require additional space, but will increase fragmentation. The default behavior is to perform copy-shrink if the parameter is not specified.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk that should be shrink.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    copy*xsd:boolean

    If true or omitted, performs shrink in copy-shrink mode, otherwise shrink in in-place mode.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs shrinking the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None



    ZeroFillVirtualDisk_Task

    Overwrite all blocks of the virtual disk with zeros. All data will be lost.

    The datacenter parameter may be omitted if a URL is used to name the disk.

    Requires Datastore.FileManagement privilege on the datastore where the virtual disk resides.

    Required Privileges
    System.View

    Parameters

    NameTypeDescription
    _thisManagedObjectReference A reference to the VirtualDiskManager used to make the method call.
    namexsd:string

    The name of the disk, either a datastore path or a URL referring to the virtual disk whose blocks should be overwritten with zeroes.
    datacenter*ManagedObjectReference
    to a Datacenter

    If name is a datastore path, the datacenter for that datastore path. Not needed when invoked directly on ESX. If not specified on a call to VirtualCenter, name must be a URL.
    *Need not be set

    Return Value

    Type Description
    ManagedObjectReference
    to a SmsTask
    This method returns a Task object with which to monitor the operation.

    Faults

    Type Description
    FileFaultThrown if an error occurs zero filling the virtual disk.
    InvalidDatastoreThrown if the operation cannot be performed on the datastore.
    RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.

    Events

    Type
    None