community.proxmox.proxmox_sendkey module – Send key presses to a Proxmox VM console
Note
This module is part of the community.proxmox collection (version 1.6.0).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.proxmox. You need further requirements to be able to use this module, see Requirements for details.
To use it in a playbook, specify: community.proxmox.proxmox_sendkey.
New in community.proxmox 1.5.0
Synopsis
- Uses the Proxmox API to send a sequence of key presses to the console of a VM.
- Keys can be specified explicitly or derived from a plain text string.
Requirements
The below requirements are needed on the host that executes this module.
- proxmoxer >= 2.0
- requests
Parameters
Parameter | Comments |
|---|---|
api_host string / required | Specify the target host of the Proxmox VE cluster. Uses the |
api_password string | Specify the password to authenticate with. Uses the |
api_port integer | Specify the target port of the Proxmox VE cluster. Uses the |
api_timeout integer | Time limit for requests towards the Proxmox VE API. Default: |
api_token_id string | Specify the token ID. Uses the |
api_token_secret string | Specify the token secret. Uses the |
api_user string / required | Specify the user to authenticate with. Uses the |
ca_path path | Path to a local certificate, which will be used to verify TLS connections. Ignored if |
delay float | Delay in seconds between each key press. Default: |
keys_send list / elements=string | List of keys or key sequence to send in order. Each item must follow the qemu key naming format such as You can specify either |
name string | The unique name of the VM. |
string_send string | Raw string that will be transformed to the corresponding key presses Only ASCII-characters are supported. before sending. You can specify either |
validate_certs boolean | Validate the TLS certificates used for the connection to the Proxmox VE API. Currently defaults to Uses the Choices:
|
vmid integer | The unique ID of the VM. Takes precedence over |
Attributes
Attribute | Support | Description |
|---|---|---|
action_group | Action group: community.proxmox.proxmox | Use |
check_mode | Support: none | Can run in |
diff_mode | Support: none | Will return details on what has changed (or possibly needs changing in |
Notes
Note
- Keys must match the qemu key names listed in QEMU ui.QKeyCode.
Examples
- name: Send Ctrl+Alt+Delete to a Windows VM
proxmox_sendkey:
api_host: proxmoxhost
api_user: root@pam
api_password: password123
name: win-test
keys_send:
- ctrl-alt-delete
- name: Type a login string into a Linux VM console
proxmox_sendkey:
api_host: proxmoxhost
api_user: root@pam
api_password: password123
vmid: 101
string_send: |
root
P@ssw0rd
delay: 1.0
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
|---|---|
completed_keys_num integer | Number of keys that were sent to the VM console. Returned: success Sample: |
keys_num integer | Number of sent keys that were sent to the VM console. Returned: success Sample: |
total_keys list / elements=string | List of sent keys that were sent to the VM console. Returned: success Sample: |
vmid integer | The VM vmid. Returned: success Sample: |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/proxmox/proxmox_sendkey_module.html