1. Types
2. vcenter
3. vm

## vcenter VM: placement spec

The `placement_spec` structure contains information used to place a virtual machine onto resources within the vCenter inventory.

### Representations:

- JSON
- XML

{
"cluster": "obj-103",
"datastore": "obj-103",
"folder": "obj-103",
"host": "obj-103",
"resource_pool": "obj-103"
}
<?xml version="1.0" ?>
<ns0:PlacementSpec xmlns:ns0="http://vmware.com/vcenter/VM" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<folder>obj-103</folder>
<host>obj-103</host>
<resource_pool>obj-103</resource_pool>
<cluster>obj-103</cluster>
<datastore>obj-103</datastore>
</ns0:PlacementSpec>

#### Attributes:

Name | Type | Description
--- | --- | ---
Optional
folder | string | Virtual machine folder into which the virtual machine should be placed. Optional. This field is currently required. In the future, if this field is unset, the system will attempt to choose a suitable folder for the virtual machine; if a folder cannot be chosen, the virtual machine creation operation will fail.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`.
resource_pool | string | Resource pool into which the virtual machine should be placed. Optional. This field is currently required if both `host` and `cluster` are unset. In the future, if this field is unset, the system will attempt to choose a suitable resource pool for the virtual machine; if a resource pool cannot be chosen, the virtual machine creation operation will fail.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`.
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`. Optional. This field may be unset if `resource_pool` or `cluster` is specified. If unset, the system will attempt to choose a suitable host for the virtual machine; if a host cannot be chosen, the virtual machine creation operation will fail.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`.
cluster | string | Cluster onto 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`. 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`.
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 created as part of the virtual machine creation operation. Optional. This field is currently required. In the future, if this field is unset, the system will attempt to choose suitable storage for the virtual machine; if storage cannot be chosen, the virtual machine creation operation will fail.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`.