
KVM / Libvirt DeleteVm
CertifiedDelete or undefine KVM domain
KVM / Libvirt DeleteVm
Delete or undefine KVM domain
Looks up a libvirt domain by name, stops it if running, and undefines it. Can also delete attached storage volumes parsed from the domain XML when deleteStorage is true (default false). Fails when the domain is missing unless failIfNotFound is set to false (default true).
type: io.kestra.plugin.kvm.DeleteVmExamples
id: kvm_lifecycle_ssh
namespace: kvmtest.ssh
tasks:
- id: delete_vm
type: io.kestra.plugin.kvm.DeleteVm
uri: "qemu+ssh://root@167.99.104.163/system"
name: "kestra-worker-nodes"
deleteStorage: true
failIfNotFound: true
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-kvm --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
name *string
Domain name
Name of the libvirt domain to delete.
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
{}1150deleteStorage booleanstring
falseDelete storage volumes
If true, deletes volumes referenced in the domain XML by pool/name before undefine. Default false.
failIfNotFound booleanstring
trueFail if missing
If true, throws when the domain does not exist; if false, logs a warning and continues. Default true.
uri string
Libvirt URI
Outputs
deletedVolumes array
Deleted volumes
Volume identifiers removed when deleteStorage is true.
success boolean
falseDelete succeeded
True when the domain was found and undefined; false when skipped.