Documentation
proxmox
Manage Proxmox VE virtual machines and containers.
Attributes
check_mode:
support: full
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| api_host | true | string | Proxmox API host URL. | |
| 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. | ||
| api_user | true | string | API username (e.g., root@pam). | |
| bridge | string | Bridge network interface. | ||
| cores | integer | Number of CPU cores. | ||
| description | string | Description for the VM/container. | ||
| disk | string | Disk size (e.g., “8G”). | ||
| force | boolean | Force stop/restart operations. | ||
| gateway | string | Gateway IP address (for containers). | ||
| ip_address | string | IP address configuration (for containers). | ||
| memory | integer | Memory in MB. | ||
| name | string | VM/Container name. | ||
| node | true | string | Proxmox node name. | |
| ostemplate | string | OS template storage (for containers). | ||
| pool | string | Pool to assign the VM/container to. | ||
| state | string | present started stopped restarted absent |
The desired state of the VM/Container. | |
| storage | string | Storage pool for disk. | ||
| tags | string | Tags for the VM/container. | ||
| template | integer | Template VMID to clone from. | ||
| timeout | integer | Timeout for wait operations in seconds. | ||
| validate_certs | boolean | Validate SSL certificates. | ||
| vmid | true | integer | VM/Container ID. | |
| vmtype | string | qemu lxc |
Type of VM (qemu for VMs, lxc for containers). | |
| wait | boolean | Wait for VM/container to be in desired state. |
{$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 }}'
///}