
VMware CreateVm
CertifiedEnterprise EditionProvision and optionally power on a VM
VMware CreateVm
Provision and optionally power on a VM
Creates a VM on a vCenter-managed host with a mounted ISO. Defaults: 1 vCPU, 4 GB RAM, ~16 GB disk, guest OS ID ubuntu64Guest, and powerOn=true unless overridden.
type: io.kestra.plugin.ee.vmware.vcenter.CreateVmExamples
Create a new virtual machine in VMware vSphere
id: vsphere_create_vm
namespace: company.team
tasks:
- id: create
type: io.kestra.plugin.ee.vmware.vcenter.CreateVm
datacenter: "datacenter1"
server: "localhost"
username: "{{ secret('VMWARE_VCENTER_USERNAME') }}"
password: "{{ secret('VMWARE_VCENTER_PASSWORD') }}"
hostname: "localhost.localdomain"
vmName: "vmware-vm"
networkName: "VM Network"
datastoreName: "datastore1"
isoName: "ubuntu-24.04.2-desktop-amd64.iso"
Properties
datacenter *string
Datacenter name
Datacenter where the VM will be created.
hostname *string
ESXi host name
Host system that will run the VM.
isoName *string
ISO path
Path inside the datastore (e.g. ISOs/ubuntu.iso). Must reside on the selected datastore.
networkName *string
Network name
PortGroup to attach (Standard/Distributed/Opaque).
password *string
Password
server *string
Server hostname or IP
FQDN or IP of the vCenter or ESXi endpoint (no scheme or port).
username *string
Username
e.g. Administrator@vsphere.local for vCenter or root for ESXi.
vmName *string
VM name
Unique VM name within the target folder.
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
{}1150cpuCount integerstring
vCPU count
Defaults to 1.
customAttributes object
Custom attributes
Optional map of vCenter custom attribute name to value to set on the VM after creation. If a field definition does not exist it is created automatically for the VirtualMachine type.
datastoreName string
Datastore name
Datastore for VM files; omit to use the host default.
diskSize integerstring
Disk size (MB)
Defaults to ~16000 MB if not provided.
guestOsId string
Guest OS ID
e.g. ubuntu64Guest, rhel9_64Guest, windows11_64Guest. Defaults to ubuntu64Guest.
memorySize integerstring
Memory size (MB)
Defaults to 4096 MB.
port integerstring
443Server port
Defaults to 443.
powerOn booleanstring
Power on after creation
Defaults to true; set false to leave the VM powered off.
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.