Documentation

    PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.21

    Documentation for other releases can be found by using the version selector in the top right of any doc page.

    proxmox

    Manage Proxmox VE virtual machines and containers.

    Attributes

    check_mode:
      support: full
    

    Parameters

    Parameter Required Type Values Description
    node true string   Proxmox node name.
    vmid true integer   VM/Container ID.
    name   string   VM/Container name.
    state   string present
    started
    stopped
    restarted
    absent
    The desired state of the VM/Container.
    vmtype   string qemu
    lxc
    Type of VM (qemu for VMs, lxc for containers).
    api_host true string   Proxmox API host URL.
    api_user true string   API username (e.g., root@pam).
    api_password   string   API password for authentication.
    api_token_id   string   API token ID for token-based authentication.
    api_token_secret   string   API token secret for token-based authentication.
    template   integer   Template VMID to clone from.
    cores   integer   Number of CPU cores.
    memory   integer   Memory in MB.
    disk   string   Disk size (e.g., “8G”).
    storage   string   Storage pool for disk.
    bridge   string   Bridge network interface.
    ip_address   string   IP address configuration (for containers).
    gateway   string   Gateway IP address (for containers).
    ostemplate   string   OS template storage (for containers).
    validate_certs   boolean   Validate SSL certificates.
    wait   boolean   Wait for VM/container to be in desired state.
    timeout   integer   Timeout for wait operations in seconds.
    force   boolean   Force stop/restart operations.
    description   string   Description for the VM/container.
    tags   string   Tags for the VM/container.
    pool   string   Pool to assign the VM/container to.

    {$include_doc /// ## Examples /// /// yaml /// - name: Create a container /// proxmox: /// node: pve1 /// vmid: 100 /// name: myapp /// state: present /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Start a VM /// proxmox: /// node: pve1 /// vmid: 101 /// state: started /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Stop a container /// proxmox: /// node: pve1 /// vmid: 100 /// state: stopped /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Restart a VM /// proxmox: /// node: pve1 /// vmid: 101 /// state: restarted /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Remove a container /// proxmox: /// node: pve1 /// vmid: 100 /// state: absent /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Create VM from template with specific CPU and memory /// proxmox: /// node: pve1 /// vmid: 200 /// name: myvm /// state: present /// template: 9000 /// cores: 4 /// memory: 8192 /// api_host: pve.local /// api_user: root@pam /// api_password: '{{ proxmox_password }}' /// /// - name: Use API token instead of password /// proxmox: /// node: pve1 /// vmid: 100 /// state: started /// api_host: pve.local /// api_user: root@pam /// api_token_id: mytoken /// api_token_secret: '{{ proxmox_token_secret }}' ///}