
KVM / Libvirt UpdateVm
CertifiedUpdate KVM domain definition
KVM / Libvirt UpdateVm
Update KVM domain definition
Redefines a libvirt domain from rendered XML while preserving the existing UUID if missing in the template. Optionally restarts running or paused domains to apply changes when restart is true (default false).
type: io.kestra.plugin.kvm.UpdateVmExamples
id: update_kvm_vm_ssh
namespace: kvmtest.ssh
tasks:
- id: update_vm
type: io.kestra.plugin.kvm.UpdateVm
uri: qemu+ssh://root@167.99.104.163/system
# This is the standard Libvirt XML format
xmlDefinition: |
<domain type='kvm'>
<name>kestra-worker-nodes</name>
<memory unit='MiB'>700</memory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-q35-6.2'>hvm</type>
<boot dev='hd'/>
</os>
<devices>
<disk type='volume' device='disk'>
<driver name='qemu' type='qcow2'/>
<source pool='default' volume='kestra-worker-nodes-os.qcow2'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='volume' device='disk'>
<driver name='qemu' type='qcow2'/>
<source pool='default' volume='kestra-worker-nodes-data.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
</devices>
</domain>
# If true, it attempts to stop and start the VM to apply the changes
restart: true
- id: log_result
type: io.kestra.plugin.core.log.Log
message: |
VM Updated!
Name: {{outputs.update_vm.name}}
wasRestarted: {{ outputs.update_vm.wasRestarted }}
State: {{ outputs.update_vm.state }}
Properties
name string
Domain name
Domain to redefine; should match the
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
restart booleanstring
falseRestart after update
If true, destroys then starts the domain when it is RUNNING or PAUSED to apply changes. Default false.
uri string
Libvirt URI
xmlDefinition string
Domain XML
Libvirt domain XML template rendered with flow variables before defineXML; UUID is injected when absent.
Outputs
name string
VM Name
Redefined domain name.
state string
VM State
Libvirt domain state after the update.
wasRestarted boolean
Restart performed
True when the domain was destroyed and started due to restart = true.