vcenter VM: relocate spec

Document-based relocate spec. This structure was added in vSphere API 7.0.0.0.

Representation:

{
    "disks"{
        "obj-103"{
            "datastore""obj-103",
            "storage_policy"{
                "policy""obj-103"
            }
        }
    },
    "fallback_to_datastore_default_policy"true,
    "vm_home_storage_policy"{
        "policy""obj-103"
    },
    "placement"{
        "cluster""obj-103",
        "folder""obj-103",
        "datastore""obj-103",
        "host""obj-103",
        "resource_pool""obj-103"
    },
    "disk_storage_policy"{
        "policy""obj-103"
    }
}
{
    "disks"[
        {
            "value"{
                "datastore""obj-103",
                "storage_policy"{
                    "policy""obj-103"
                }
            },
            "key""obj-103"
        }
    ],
    "fallback_to_datastore_default_policy"true,
    "vm_home_storage_policy"{
        "policy""obj-103"
    },
    "placement"{
        "cluster""obj-103",
        "folder""obj-103",
        "datastore""obj-103",
        "host""obj-103",
        "resource_pool""obj-103"
    },
    "disk_storage_policy"{
        "policy""obj-103"
    }
}

Attributes:

Name Type Description
Required
-.disks.* disk_relocate_spec
-.disks.*.storage_policy.policy string Identifier of the storage policy which should be associated with the VMDK file. This attribute was added in vSphere API 6.7.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.StoragePolicy.

-.vm_home_storage_policy.policy string Identifier of the storage policy which should be associated with the virtual machine. This attribute was added in vSphere API 6.7.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.StoragePolicy.

-.disk_storage_policy.policy string Identifier of the storage policy which should be associated with the virtual machine. This attribute was added in vSphere API 6.7.

When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.StoragePolicy. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.StoragePolicy.

Optional
-.placement relocate_placement_spec Virtual machine placement information. This attribute was added in vSphere API 7.0.0.0.

Optional. If this field is unset, the system will use the values from the source virtual machine. If specified, each field will be used for placement. If the fields result in disjoint placement the operation will fail. If the fields along with the other existing placement of the virtual machine result in disjoint placement the operation will fail.

-.placement.folder string Virtual machine folder into which the virtual machine should be placed. This attribute was added in vSphere API 7.0.0.0.

Optional. If this field is unset, the virtual machine will stay in the current folder.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Folder. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Folder.

-.placement.resource_pool string Resource pool into which the virtual machine should be placed. This attribute was added in vSphere API 7.0.0.0.

Optional. If this field is unset, the virtual machine will stay in the current resource pool.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ResourcePool. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ResourcePool.

-.placement.host string Host onto which the virtual machine should be placed.

If host and resource_pool are both specified, resource_pool must belong to host.

If host and cluster are both specified, host must be a member of cluster.

. This attribute was added in vSphere API 7.0.0.0.

Optional. If this field is unset, if resource_pool is unset, the virtual machine will remain on the current host. if resource_pool is set, and the target is a standalone host, the host is used. if resource_pool is set, and the target is a DRS cluster, a host will be picked by DRS. if resource_pool is set, and the target is a cluster without DRS, InvalidArgument will be thrown.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: HostSystem. When operations return a value of this structure as a result, the field will be an identifier for the resource type: HostSystem.

-.placement.cluster string Cluster into which the virtual machine should be placed.

If cluster and resource_pool are both specified, resource_pool must belong to cluster.

If cluster and host are both specified, host must be a member of cluster.

. This attribute was added in vSphere API 7.0.0.0.

Optional. If resource_pool or host is specified, it is recommended that this field be unset.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: ClusterComputeResource. When operations return a value of this structure as a result, the field will be an identifier for the resource type: ClusterComputeResource.

-.placement.datastore string Datastore on which the virtual machine's configuration state should be stored. This datastore will also be used for any virtual disks that are associated with the virtual machine, unless individually overridden. This attribute was added in vSphere API 7.0.0.0.

Optional. If this field is unset, the virtual machine will remain on the current datastore.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.

-.disks object Individual disk relocation map. This attribute was added in vSphere API 7.0.0.0.

Optional. If unset, all disks will migrate to the datastore specified in the vcenter.VM.relocate_placement_spec.datastore field of vcenter.VM.relocate_spec.placement.When clients pass a value of this structure as a parameter, the key in the field key/value pairs must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk. When operations return a value of this structure as a result, the key in the field key/value pairs will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk.

-.disks.*.datastore string Destination datastore to relocate disk. This attribute was added in vSphere API 7.0.0.0.

Optional. This field is currently required. In the future, if this field is unset, disk will use the datastore specified in vcenter.VM.relocate_placement_spec.datastore field of vcenter.VM.relocate_spec.placement.When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: Datastore. When operations return a value of this structure as a result, the field will be an identifier for the resource type: Datastore.

-.disks.*.storage_policy storage_policy_spec Storage policy to be associated with destination disk. Warning: This attribute is part of a new feature in development. It may be changed at any time and may not have all supported functionality implemented.

Optional. If unset, the destination disk will be associated with a storage policy based the rules described for the relocate operation.

-.vm_home_storage_policy storage_policy_spec Storage policy to be associated with the virtual machine home (which contains the configuration and log files). Warning: This attribute is part of a new feature in development. It may be changed at any time and may not have all supported functionality implemented.

Optional. If unset, the virtual machine home will be associated with a storage policy based the rules described for the relocate operation.

-.disk_storage_policy storage_policy_spec Storage policy to be associated with the virtual machine disks. If set, each of the destination disks is assigned the specified storage policy, unless it is overwritten in vcenter.VM.relocate_spec.disks. Warning: This attribute is part of a new feature in development. It may be changed at any time and may not have all supported functionality implemented.

Optional. If unset, the destination disks will be associated with a storage policy based the rules described for the relocate operation.

-.fallback_to_datastore_default_policy boolean Flag used by the server to auto assign storage policy when a storage policy is not explicitly specified for the operation and the original virtual machine storage policy is not compatible with the target datastore. If flag is set to true, the server will use the default storage policy of the target datastore. Otherwise, the server will throw an error for the operation. See also the storage policy assignment rules for the relocate operation. Warning: This attribute is part of a new feature in development. It may be changed at any time and may not have all supported functionality implemented.

Optional. If unset, the default value is false, the server will throw an error if source policy is not compatible with target datastore.