UpdateVmUpdateVm
UpdateVmCertified

yaml
type: "io.kestra.plugin.kvm.UpdateVm"
yaml
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
Defaultfalse