Vcenter VM instantClone

Vcenter VM instantClone

Create an instant clone of an existing virtual machine.

This operation was added in vSphere API 6.7.1.

Returns an authorization error if you do not have all of the privileges described as follows:

  • The resource VirtualMachine referenced by the property Vcenter VM InstantCloneSpec.source requires VirtualMachine.Provisioning.Clone and VirtualMachine.Inventory.CreateFromExisting.
  • The resource Folder referenced by the property Vcenter VM InstantClonePlacementSpec.folder requires VirtualMachine.Interact.PowerOn.
  • The resource ResourcePool referenced by the property Vcenter VM InstantClonePlacementSpec.resource_pool requires Resource.AssignVMToPool.
  • The resource Datastore referenced by the property Vcenter VM InstantClonePlacementSpec.datastore requires Datastore.AllocateSpace.
  • The resource Network referenced by the property Vcenter Vm Hardware Ethernet BackingSpec.network requires Network.Assign.
Request
URI
POST
https://{api_host}/api/vcenter/vm?action=instant-clone
COPY
Request Body

Virtual machine InstantCloneSpec.

Vcenter VM InstantCloneSpec of type(s) application/json
Required

Show optional properties

{
    "source": "string",
    "name": "string"
}
{
    "source": "string",
    "name": "string",
    "placement": {
        "folder": "string",
        "resource_pool": "string",
        "datastore": "string"
    },
    "nics_to_update": {
        "nics_to_update": {
            "upt_compatibility_enabled": false,
            "upt_v2_compatibility_enabled": false,
            "mac_type": "string",
            "mac_address": "string",
            "wake_on_lan_enabled": false,
            "backing": {
                "type": "string",
                "network": "string",
                "distributed_port": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    },
    "disconnect_all_nics": false,
    "parallel_ports_to_update": {
        "parallel_ports_to_update": {
            "backing": {
                "type": "string",
                "file": "string",
                "host_device": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    },
    "serial_ports_to_update": {
        "serial_ports_to_update": {
            "yield_on_poll": false,
            "backing": {
                "type": "string",
                "file": "string",
                "host_device": "string",
                "pipe": "string",
                "no_rx_loss": false,
                "network_location": "string",
                "proxy": "string"
            },
            "start_connected": false,
            "allow_guest_control": false
        }
    },
    "bios_uuid": "string"
}
string
source
Required

Virtual machine to InstantClone from.

This property was added in vSphere API 6.7.1.

When clients pass a value of this schema as a parameter, the property must be an identifier for the resource type: VirtualMachine. When operations return a value of this schema as a response, the property will be an identifier for the resource type: VirtualMachine.

string
name
Required

Name of the new virtual machine.

This property was added in vSphere API 6.7.1.

placement
Optional

Virtual machine placement information.

This property was added in vSphere API 6.7.1.

If this property is missing or null, 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 placement values of the source virtual machine result in disjoint placement the operation will fail.

object
nics_to_update
Optional

Map of NICs to update.

This property was added in vSphere API 6.7.1.

If missing or null, no NICs will be updated.

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.Ethernet. 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.Ethernet.

boolean
disconnect_all_nics
Optional

Indicates whether all NICs on the destination virtual machine should be disconnected from the newtwork

This property was added in vSphere API 6.7.1.

If missing or null, connection status of all NICs on the destination virtual machine will be the same as on the source virtual machine.

object
parallel_ports_to_update
Optional

Map of parallel ports to Update.

This property was added in vSphere API 6.7.1.

If missing or null, no parallel ports will be updated.

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.ParallelPort. 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.ParallelPort.

object
serial_ports_to_update
Optional

Map of serial ports to Update.

This property was added in vSphere API 6.7.1.

If missing or null, no serial ports will be updated.

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.SerialPort. 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.SerialPort.

string
bios_uuid
Optional

128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in "12345678-abcd-1234-cdef-123456789abc" format.

This property was added in vSphere API 6.7.1.

If missing or null, will be generated.

Authentication
This operation uses the following authentication methods.
Responses
200

ID of newly-created virtual machine.

The response will be an identifier for the resource type: VirtualMachine.

Returns string of type(s) application/json
Operation doesn't return any data structure

400

Vapi Std Errors AlreadyExists if a virtual machine with the specified name already exists.

Vapi Std Errors InvalidArgument if any of the specified parameters are invalid.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

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.

object
data
Optional

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.

string
error_type
Required

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.


401

if the user can not be authenticated.

Returns Vapi Std Errors Unauthenticated of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthenticated0
"Vapi Std Errors Unauthenticated Object"
string
challenge
Optional

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.


403

if the user doesn't have the required privileges.

Returns Vapi Std Errors Unauthorized of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthorized0
"Vapi Std Errors Unauthorized Object"

404

if any of the resources specified in spec could not be found

Returns Vapi Std Errors NotFound of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors NotFound0
"Vapi Std Errors NotFound Object"

500

Vapi Std Errors Error if the system reports an error while responding to the request.

Vapi Std Errors ResourceInaccessible if a specified resource (eg. host) is not accessible.

Vapi Std Errors UnableToAllocateResource if any of the resources needed to create an instant clone could not be allocated.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

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.

object
data
Optional

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.

string
error_type
Required

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.


503

if the system is unable to communicate with a service to complete the request.

Returns Vapi Std Errors ServiceUnavailable of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors ServiceUnavailable0
"Vapi Std Errors ServiceUnavailable Object"

Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"name:"string","source:"string"}' https://{api_host}/api/vcenter/vm?action=instant-clone