VMware vCenter VMs and Templates
Tasks that manage VM lifecycle, cloning, template conversion, snapshots, and event triggers through vCenter.
Tasks that automate VMware vSphere operations within Kestra workflows.
Use this plugin to orchestrate VM lifecycle, snapshotting, and template management across ESXi and vCenter from a single flow. Configure each task with your vSphere endpoint, credentials, and optional trust store so runs can safely manage infrastructure as part of data or CI/CD pipelines.
Manage VMware virtual machines on vCenter and ESXi from Kestra flows.
All tasks require server (the vCenter or ESXi hostname/IP), username, and password (all required). Optionally set port (default 443) and trustStorePath for custom TLS trust stores. Store secrets in secrets and set connection properties on each task.
Tasks are split into two sub-packages: vcenter (for vCenter-managed environments) and esxi (for direct ESXi host management). Both sub-packages share the same base authentication properties.
vcenter.CreateVm creates a VM — set vmName, hostname, networkName, isoName, and datacenter (all required). Optionally set datastoreName, diskSize, cpuCount (default 1), memorySize (default 4096 MB), guestOsId (default ubuntu64Guest), powerOn (default true), and customAttributes (map of vCenter custom attribute name to value, created automatically if the field definition does not exist).
vcenter.StartVm, vcenter.StopVm, vcenter.RebootVm, vcenter.ResetVm, vcenter.SuspendVm, vcenter.DeleteVm — each requires vmName.
vcenter.UpdateVm updates VM configuration — requires vmName plus at least one of cpuCount, memorySize, networkName, diskSize (expands the first disk; must be larger than current), or customAttributes. Optionally set resetAfterUpdate (default true, resets the VM if powered on once changes apply).
vcenter.ListVms lists all VMs in the vCenter inventory.
vcenter.CreateVmSnapshot creates a snapshot — requires vmName, snapshotName, and snapshotDescription. Optionally set memory (include memory state, default false) and quiesce (quiesce guest file system, default false).
vcenter.DeleteVmSnapshot deletes a snapshot — requires vmName and snapshotName. Optionally set removeChildren (default false).
vcenter.RestoreVmFromSnapshot reverts a VM to a snapshot — requires vmName and snapshotName. Optionally set suppressPowerOn (default true).
vcenter.ListVmSnapshots lists snapshots for a VM — requires vmName.
vcenter.CloneVm clones a VM — requires sourceVmName, targetVmName, hostname (target ESXi host), and datastoreName. Optionally set powerOn (default false), convertToTemplate (mark the clone as a template, default false), and customAttributes.
vcenter.CloneTemplate clones from a template — requires templateName, targetTemplateName, hostname (target ESXi host), and datastoreName.
vcenter.ConvertVmToTemplate converts a VM to a template — requires vmName.
vcenter.ConvertTemplateToVm converts a template to a VM — requires templateName and hostname (target ESXi host). Optionally set powerOn (default false).
vcenter.GetVmCustomAttributes reads the custom attributes set on a VM — requires vmName. Outputs customAttributes, a map of attribute name to value, empty when the VM has none.
esxi tasks mirror the vCenter task set (CreateVm, StartVm, StopVm, RebootVm, ResetVm, SuspendVm, DeleteVm, UpdateVm, ListVms, CreateVmSnapshot, DeleteVmSnapshot, RestoreVmFromSnapshot, ListVmSnapshots) with the same properties, except:
esxi.CreateVm has no datacenter property — an ESXi host is addressed directly, so only vmName, hostname, networkName, and isoName are required.esxi.CreateVm and esxi.UpdateVm have no customAttributes property; custom attributes are a vCenter feature.The Clone, Convert, and GetVmCustomAttributes tasks are vCenter-only and have no ESXi equivalent.
vcenter.Trigger and esxi.Trigger fire when a VM event matching a filter is detected — set eventType and vmNameRegex (both required). Optionally set interval (polling interval, default PT2M).