
VMware CloneVm
CertifiedEnterprise EditionClone a VM managed by vCenter
VMware CloneVm
Clone a VM managed by vCenter
Clones an existing VM to a target host/datastore and optionally powers it on or marks it as a template. Not supported against standalone ESXi endpoints.
type: io.kestra.plugin.ee.vmware.vcenter.CloneVmExamples
Clone a VM from vCenter
id: clone_vm
namespace: company.team
tasks:
- id: clone
type: io.kestra.plugin.ee.vmware.vcenter.CloneVm
server: "vcenter.mycompany.com"
username: "{{ secret('VMWARE_VCENTER_USERNAME') }}"
password: "{{ secret('VMWARE_VCENTER_PASSWORD') }}"
sourceVmName: "base-vm"
targetVmName: "cloned-vm"
hostname: "esxi01.mycompany.com"
datastoreName: "datastore1"
powerOn: true
Clone a VM and convert it to a template
id: clone_vm_to_template
namespace: company.team
tasks:
- id: cloneVmToTemplate
type: io.kestra.plugin.ee.vmware.vcenter.CloneVm
server: "vcenter.mycompany.com"
username: "{{ secret('VMWARE_VCENTER_USERNAME') }}"
password: "{{ secret('VMWARE_VCENTER_PASSWORD') }}"
sourceVmName: "base-vm"
targetVmName: "template-vm"
hostname: "esxi01.mycompany.com"
datastoreName: "datastore1"
convertToTemplate: true
Properties
datastoreName *string
Target datastore
Datastore for the cloned VM files.
hostname *string
Target host
ESXi host where the clone will be placed.
password *string
Password
server *string
Server hostname or IP
FQDN or IP of the vCenter or ESXi endpoint (no scheme or port).
sourceVmName *string
Source VM name
targetVmName *string
Target VM name
username *string
Username
e.g. Administrator@vsphere.local for vCenter or root for ESXi.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150convertToTemplate booleanstring
falseConvert clone to template
Default: false. If true, the resulting VM is marked as a template.
customAttributes object
Custom attributes
Optional map of vCenter custom attribute name to value to set on the cloned VM after creation. If a field definition does not exist it is created automatically for the VirtualMachine type. Ignored when convertToTemplate=true.
port integerstring
443Server port
Defaults to 443.
powerOn booleanstring
falsePower on after clone
Default: false. Ignored when convertToTemplate=true.
trustStorePath string
Trust store path
Optional path to a PKCS12 trust store containing the CA certificate(s) used to validate the vCenter/ESXi server's TLS certificate. If omitted (or if the path does not exist), the JVM's default trust store (system CA certificates) is used instead. Certificate validation is always enforced; this plugin never disables TLS certificate validation.