Vcenter VmTemplate LibraryItems deploy
Deploys a virtual machine as a copy of the source virtual machine template contained in the library item specified by templateLibraryItem. It uses the deployment specification in spec. If Vcenter VmTemplate LibraryItems DeploySpec.powered_on and/or Vcenter VmTemplate LibraryItems DeploySpec.guest_customization are specified, the server triggers the power on and/or guest customization operations, which are executed asynchronously.
This operation was added in vSphere API 6.8.
Returns an authorization error if you do not have all of the privileges described as follows:
- Operation execution requires
System.Read
. - The resource
com.vmware.content.library.Item
referenced by the parameter templateLibraryItem requiresVirtualMachine.Provisioning.DeployTemplate
. - The resource
Datastore
referenced by the property Vcenter VmTemplate LibraryItems DeploySpecVmHomeStorage.datastore requiresSystem.Read
. - The resource
com.vmware.spbm.StorageProfile
referenced by the property Vcenter VmTemplate LibraryItems DeploySpecVmHomeStoragePolicy.policy requiresSystem.Read
. - The resource
Datastore
referenced by the property Vcenter VmTemplate LibraryItems DeploySpecDiskStorage.datastore requiresSystem.Read
. - The resource
com.vmware.spbm.StorageProfile
referenced by the property Vcenter VmTemplate LibraryItems DeploySpecDiskStoragePolicy.policy requiresSystem.Read
. - The resource
com.vmware.vcenter.vm.hardware.Disk
referenced by the map key of property Vcenter VmTemplate LibraryItems DeploySpec.disk_storage_overrides requiresSystem.Read
. - The resource
Folder
referenced by the property Vcenter VmTemplate LibraryItems DeployPlacementSpec.folder requiresSystem.Read
. - The resource
ResourcePool
referenced by the property Vcenter VmTemplate LibraryItems DeployPlacementSpec.resource_pool requiresSystem.Read
. - The resource
HostSystem
referenced by the property Vcenter VmTemplate LibraryItems DeployPlacementSpec.host requiresSystem.Read
. - The resource
ClusterComputeResource
referenced by the property Vcenter VmTemplate LibraryItems DeployPlacementSpec.cluster requiresSystem.Read
. - The resource
com.vmware.vcenter.vm.hardware.Ethernet
referenced by the map key of property Vcenter VmTemplate LibraryItems HardwareCustomizationSpec.nics requiresSystem.Read
. - The resource
Network
referenced by the property Vcenter VmTemplate LibraryItems EthernetUpdateSpec.network requiresSystem.Read
. - The resource
com.vmware.vcenter.vm.hardware.Disk
referenced by the property Vcenter VmTemplate LibraryItems HardwareCustomizationSpec.disks_to_remove requiresSystem.Read
. - The resource
com.vmware.vcenter.vm.hardware.Disk
referenced by the map key of property Vcenter VmTemplate LibraryItems HardwareCustomizationSpec.disks_to_update requiresSystem.Read
.
identifier of the content library item containing the source virtual machine template to be deployed.
The parameter must be an identifier for the resource type: com.vmware.content.library.Item
.
specification of how the virtual machine should be deployed.
Show optional properties
{
"name": "string"
}
{
"name": "string",
"description": "string",
"vm_home_storage": {
"datastore": "string",
"storage_policy": {
"type": "string",
"policy": "string"
}
},
"disk_storage": {
"datastore": "string",
"storage_policy": {
"type": "string",
"policy": "string"
}
},
"disk_storage_overrides": {
"disk_storage_overrides": {
"datastore": "string",
"storage_policy": {
"type": "string",
"policy": "string"
}
}
},
"placement": {
"folder": "string",
"resource_pool": "string",
"host": "string",
"cluster": "string"
},
"powered_on": false,
"guest_customization": {
"name": "string"
},
"hardware_customization": {
"nics": {
"nics": {
"network": "string"
}
},
"disks_to_remove": [
"string"
],
"disks_to_update": {
"disks_to_update": {
"capacity": 0
}
},
"cpu_update": {
"num_cpus": 0,
"num_cores_per_socket": 0
},
"memory_update": {
"memory": 0
}
}
}
Name of the deployed virtual machine.
This property was added in vSphere API 6.8.
Description of the deployed virtual machine.
This property was added in vSphere API 6.8.
If missing or null
, the deployed virtual machine has the same description as the source library item.
Storage location for the deployed virtual machine's configuration and log files.
This property was added in vSphere API 6.8.
If missing or null
, the deployed virtual machine's configuration and log files are created with the same storage spec as the source virtual machine template's configuration and log files.
Storage specification for the deployed virtual machine's disks.
This property was added in vSphere API 6.8.
If both disk_storage_overrides and disk_storage are missing or null
, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item.
If disk_storage_overrides is missing or null
and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage.
If disk_storage_overrides is specified and disk_storage is missing or null
, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item.
If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage.
Storage specification for individual disks in the deployed virtual machine. This is specified as a mapping between disk identifiers in the source virtual machine template contained in the library item and their storage specifications.
This property was added in vSphere API 6.8.
If both disk_storage_overrides and disk_storage are missing or null
, the deployed virtual machine's disks are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item.
If disk_storage_overrides is missing or null
and disk_storage is specified, all of the deployed virtual machine's disks are created with the storage spec specified by disk_storage.
If disk_storage_overrides is specified and disk_storage is missing or null
, disks with identifiers that are not in disk_storage_overrides are created with the same storage spec as the corresponding disks in the source virtual machine template contained in the library item.
If both disk_storage_overrides and disk_storage are specified, disks with identifiers that are not in disk_storage_overrides are created with the storage spec specified by disk_storage.
When clients pass a value of this schema as a parameter, the key in the property map must be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk
. When operations return a value of this schema as a response, the key in the property map will be an identifier for the resource type: com.vmware.vcenter.vm.hardware.Disk
.
Information used to place the deployed virtual machine.
This property was added in vSphere API 6.8.
This property is currently required. In the future, if this property is missing or null
, the system will use the values from the source virtual machine template contained in the library item.
If specified, each property will be used for placement. If the properties result in disjoint placement, the operation will fail. If the properties along with the placement values of the source virtual machine template result in disjoint placement, the operation will fail.
Specifies whether the deployed virtual machine should be powered on after deployment.
This property was added in vSphere API 6.8.
If missing or null
, the virtual machine will not be powered on after deployment.
Guest customization spec to apply to the deployed virtual machine.
This property was added in vSphere API 6.8.
If missing or null
, the guest operating system is not customized after deployment.
Hardware customization spec which specifies updates to the deployed virtual machine.
This property was added in vSphere API 6.8.
If missing or null
, the deployed virtual machine has the same hardware configuration as the source virtual machine template contained in the library item.
Identifier of the deployed virtual machine.
The response will be an identifier for the resource type: VirtualMachine
.
Vapi Std Errors AlreadyExists if a virtual machine with the name specified by Vcenter VmTemplate LibraryItems DeploySpec.name already exists.
Vapi Std Errors InvalidArgument if spec contains invalid arguments.
Vapi Std Errors NotAllowedInCurrentState if either a specified host or a specified datastore is in an invalid state for the deployment, such as maintenance mode.
"Vapi Std Errors Error Object"
Stack of one or more localizable messages for human error consumers.
The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.
Each subsequent message in the stack describes the "cause" of the prior message.
Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.
Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.
The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.
Some operations will not set this property when reporting errors.
Discriminator field to help API consumers identify the structure type.
For more information see: Vapi Std Errors Error Type.
This property was added in vSphere API 6.7.2.
Can be missing or null
for compatibility with preceding implementations.
if the user that requested the operation cannot be authenticated.
"Vapi Std Errors Unauthenticated Object"
Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.
For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm="27da1358-2ba4-11e9-b210-d663bd873d93",sts="http://vcenter/sso?vsphere.local", Basic realm="vCenter"
This property was added in vSphere API 7.0.0.0.
This property is optional because it was added in a newer version than its parent node.
if the user that requested the operation is not authorized to perform the operation.
"Vapi Std Errors Unauthorized Object"
if the library item specified by templateLibraryItem cannot be found.
if any resource specified by a property of the Vcenter VmTemplate LibraryItems DeploySpec schema, specified by spec cannot be found.
"Vapi Std Errors NotFound Object"
Vapi Std Errors Error if the system reports an error while responding to the request.
Vapi Std Errors ResourceInaccessible:
- if there was an error accessing the source virtual machine template contained in the library item specified by templateLibraryItem.
- if there an error accessing any of the resources specified in the spec.
Vapi Std Errors UnableToAllocateResource if there was an error in allocating any of the resources required by the operation.
"Vapi Std Errors Error Object"
Stack of one or more localizable messages for human error consumers.
The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.
Each subsequent message in the stack describes the "cause" of the prior message.
Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.
Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.
The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.
Some operations will not set this property when reporting errors.
Discriminator field to help API consumers identify the structure type.
For more information see: Vapi Std Errors Error Type.
This property was added in vSphere API 6.7.2.
Can be missing or null
for compatibility with preceding implementations.
if any of the services involved in the operation are unavailable.
"Vapi Std Errors ServiceUnavailable Object"
curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"name:"string"}' https://{api_host}/api/vcenter/vm-template/library-items/{templateLibraryItem}?action=deploy