Proxmox VE Trigger

Proxmox VE Trigger

Certified

Trigger on Proxmox VE QEMU VM status changes

Polls /nodes/{node}/qemu on the configured interval and fires when any VM's status matches the configured targetStatus (e.g. running, stopped). Returns the list of matching VMs. Uses stateful change detection: a VM that remains in the target status across consecutive polls will only trigger once, not on every poll. It will trigger again if the VM leaves and re-enters the target status.

yaml
type: io.kestra.plugin.proxmox.vm.Trigger

Fire when any VM enters stopped state

yaml
id: vm_stopped_trigger
namespace: company.team

triggers:
  - id: watch
    type: io.kestra.plugin.proxmox.vm.Trigger
    interval: PT1M
    connection:
      host: "{{ secret('PROXMOX_HOST') }}"
      username: "{{ secret('PROXMOX_USERNAME') }}"
      password: "{{ secret('PROXMOX_PASSWORD') }}"
      node: pve
    targetStatus: stopped

tasks:
  - id: log
    type: io.kestra.plugin.core.log.Log
    message: "VMs stopped: {{ trigger.vms }}"
Properties
Definitions

Connection settings for the Proxmox VE API. Authenticate with either a username/password pair (ticket-based) or a tokenId/tokenSecret pair (API token).

host*Requiredstring

Proxmox host

Hostname or IP address of the Proxmox VE node (no scheme, no port).

node*Requiredstring

Proxmox node name

Name of the cluster node that scopes all API calls (e.g. pve, node1).

passwordstring

Password

Password for ticket-based authentication.

portintegerstring
Default8006

API port

Defaults to 8006.

tokenIdstring

API token ID

Full token identifier in the form user@realm!tokenname (e.g. root@pam!mytoken). Use together with tokenSecret.

tokenSecretstring

API token secret

The UUID secret associated with the token ID.

usernamestring

Username

PAM or PVE user in the form user@realm (e.g. root@pam). Required when using ticket-based auth.

verifySslbooleanstring
Defaulttrue

Verify SSL

Validate the server TLS certificate. Defaults to true; set to false only for trusted networks with self-signed Proxmox certificates.

Target VM status

Status to match for triggering, e.g. running or stopped.

Defaultfalse

Specifies whether a trigger is allowed to start a new execution even if a previous run is still in progress.

DefaultPT1M
Formatduration

Polling interval

How often to poll for VM status changes. ISO 8601 duration, e.g. PT1M.

SubTypestring
Possible Values
CREATEDSUBMITTEDRUNNINGPAUSEDRESTARTEDKILLINGSUCCESSWARNINGFAILEDKILLEDCANCELLEDQUEUEDRETRYINGRETRIEDSKIPPEDBREAKPOINTRESUBMITTED

List of execution states after which a trigger should be stopped (a.k.a. disabled).

Defaulttrue

A condition that determines whether the trigger should run.

A Pebble expression evaluated at trigger time. The trigger fires only when the expression evaluates to a truthy value (true, a non-empty string, a non-zero number). Use this to gate trigger execution on dynamic runtime values such as execution labels, flow variables, or environment conditions.

VMs matching the configured status

Definitions
namestring

VM name

statusstring

VM status

vmidinteger
Default0

VM ID