
VMware CreateVm
CertifiedEnterprise EditionProvision and optionally power on a VM on ESXi
VMware CreateVm
Provision and optionally power on a VM on ESXi
Creates a VM directly on a standalone ESXi 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.esxi.CreateVmExamples
Create a new virtual machine on an ESXi host
id: esxi_create_vm
namespace: company.team
tasks:
- id: create
type: io.kestra.plugin.ee.vmware.esxi.CreateVm
server: "esxi.mycompany.com"
username: "{{ secret('VMWARE_ESXI_USERNAME') }}"
password: "{{ secret('VMWARE_ESXI_PASSWORD') }}"
hostname: "esxi.mycompany.com"
vmName: "esxi-vm"
networkName: "VM Network"
datastoreName: "datastore1"
isoName: "ubuntu-24.04.2-desktop-amd64.iso"
Properties
hostname *string
ESXi host name
Should match the server FQDN or IP used to connect.
isoName *string
ISO path
Path inside the datastore (e.g. ISOs/ubuntu.iso). Must reside on the selected datastore.
networkName *string
Network name
Standard switch PortGroup to attach the NIC to.
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 on this ESXi host.
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.
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.