Nutanix

Nutanix

Certified
Enterprise Edition

Tasks that automate Nutanix operations within Kestra workflows.

Use this plugin to orchestrate AHV VM lifecycle, snapshotting, and template management from a single flow. Configure each task with your endpoint and credentials so runs can safely manage infrastructure as part of data or CI/CD pipelines.

How to use the Nutanix plugin

Manage Nutanix AHV virtual machines and snapshots from Kestra flows.

Prism Central compatibility

These tasks call the Nutanix v4 APIs through the official Nutanix Java SDKs, which require Prism Central to serve API version v4.2 or newer. On an older Prism Central every task fails with a 404 and a message saying no API version could be negotiated. There is no property to target an older version. Pin the plugin to 2.2.7 or earlier, or upgrade Prism Central.

Each task execution makes one additional OPTIONS /api/{vmm,dataprotection}/unversioned/info request to negotiate the API version with the server.

The apiVersion property on the snapshot tasks is deprecated and ignored. The SDK selects the API version itself, so setting it logs a warning and has no effect.

Authentication

All tasks require host (the Nutanix Prism Central or Prism Element hostname, required). Optionally set port (default 9440), scheme (default https), and verifySsl (default true). Authenticate with username + password or token (bearer). Store secrets in secrets and set connection properties on each task.

Tasks

Tasks are split into two sub-packages: ahv (VM lifecycle management) and snapshot (snapshot management). Most tasks use external IDs (vmExtId, snapshotExtId) rather than names.

AHV tasks

ahv.CreateVm creates a VM — set vm (the VM configuration object, required). Optionally set powerOn (default false) and wait (wait for completion, default false). Output includes taskExtId and timestamp.

ahv.CloneVm clones a VM — set vmExtId (required). Output includes taskExtId and timestamp.

ahv.CloneTemplate deploys a VM from a template — set templateVersionExtId and templateName (both required). Output includes taskExtId and timestamp.

ahv.ListVms lists VMs — optionally set fetchType (default FETCH).

ahv.StartVm, ahv.StopVm, ahv.RebootVm, ahv.ResetVm, ahv.DeleteVm — each requires vmExtId. Output includes taskExtId and timestamp.

ahv.UpdateVm updates a VM — set vmExtId and vm (both required). Output includes taskExtId and timestamp.

ahv.ConvertVmToTemplate converts a VM to a template — set vmExtId and templateName (both required). Output includes taskExtId and timestamp.

ahv.ConvertTemplateToVm deploys a template as a VM — set templateExtId and deployment (both required). Output includes taskExtId and timestamp.

Snapshot tasks

snapshot.CreateVmSnapshot creates a snapshot — set vmExtId and snapshotName (both required). Optionally set consistency (default CRASH_CONSISTENT). Output includes taskExtId and timestamp.

snapshot.DeleteVmSnapshot deletes a snapshot — set snapshotExtId (required). Output includes taskExtId and timestamp.

snapshot.ListVmSnapshots lists snapshots — optionally set fetchType (default FETCH).

snapshot.RestoreVmSnapshot restores a VM from a snapshot — set snapshotExtId (required). Output includes taskExtId and timestamp.