.. _int: https://docs.python.org/2/library/stdtypes.html

.. _str: https://docs.python.org/2/library/stdtypes.html

.. _bool: https://docs.python.org/2/library/stdtypes.html

.. _vim.Folder: ../../vim/Folder.rst

.. _CreateVM_Task: ../../vim/Folder.rst#createVm

.. _vim.HostSystem: ../../vim/HostSystem.rst

.. _vSphere API 5.0: ../../vim/version.rst#vimversionversion7

.. _vim.vm.CloneSpec: ../../vim/vm/CloneSpec.rst

.. _vim.ResourcePool: ../../vim/ResourcePool.rst

.. _vim.vm.ConfigSpec: ../../vim/vm/ConfigSpec.rst

.. _vmodl.DynamicData: ../../vmodl/DynamicData.rst

.. _vim.VirtualMachine: ../../vim/VirtualMachine.rst

.. _RecommendDatastores: ../../vim/StorageResourceManager.rst#recommendDatastores

.. _vim.vm.RelocateSpec: ../../vim/vm/RelocateSpec.rst

.. _vim.VirtualMachine.MovePriority: ../../vim/VirtualMachine/MovePriority.rst

.. _vim.storageDrs.PodSelectionSpec: ../../vim/storageDrs/PodSelectionSpec.rst

.. _StoragePlacementSpecPlacementType: ../../vim/storageDrs/StoragePlacementSpec/PlacementType.rst


vim.storageDrs.StoragePlacementSpec
===================================
  StoragePlacementSpec encapsulates all of the inputs passed to the `RecommendDatastores`_ method.
:extends: vmodl.DynamicData_
:since: `vSphere API 5.0`_

Attributes:
    type (`str`_):

       The storage placement type. The set of possible values is described in `StoragePlacementSpecPlacementType`_ 
    priority (`vim.VirtualMachine.MovePriority`_, optional):

       Priority of this placement operation.
    vm (`vim.VirtualMachine`_, optional):

       The relevant virtual machine.
    podSelectionSpec (`vim.storageDrs.PodSelectionSpec`_):

       Specification for moving a virtual machine or a set of virtual disks to a different storage pod.
    cloneSpec (`vim.vm.CloneSpec`_, optional):

       Specification for a virtual machine cloning operation.
    cloneName (`str`_, optional):

       Name for cloned virtual machine.
    configSpec (`vim.vm.ConfigSpec`_, optional):

       Configuration for the virtual machine.
    relocateSpec (`vim.vm.RelocateSpec`_, optional):

       Specification for relocating a virtual machine.
    resourcePool (`vim.ResourcePool`_, optional):

       The resource pool to which this virtual machine should be attached.
    host (`vim.HostSystem`_, optional):

       The target host for the virtual machine.
    folder (`vim.Folder`_, optional):

       The target virtual machine folder for the virtual machine. Note that this is a different folder than the pod(s) that the virtual machine belongs to. The pod mapping represents the storage view of the virtual machine, while the virtual machine folder mapping represents an inventory view of the virtual machine. For manual VM provisioning operations, this is specified implicitly as the object that the `CreateVM_Task`_ method is invoked on.
    disallowPrerequisiteMoves (`bool`_, optional):

       Specification for whether to disable pre-requisite storage vmotions for storage placements. If unset, default behavior is to allow such prerequisite moves.
    resourceLeaseDurationSec (`int`_, optional):

       Resource lease duration in seconds. If the duration is within bounds, Storage DRS will hold onto resources needed for applying recommendations generated as part of that call. Only initial placement recommendations generated by storage DRS can reserve resources this way.
