community.proxmox.proxmox_user module – User management for Proxmox VE cluster

Note

This module is part of the community.proxmox collection (version 1.3.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_user.

New in community.proxmox 1.2.0

Synopsis

  • Create or delete a user for Proxmox VE clusters.

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 PROXMOX_HOST environment variable if not specified.

api_password

string

Specify the password to authenticate with.

Uses the PROXMOX_PASSWORD environment variable if not specified.

api_port

integer

Specify the target port of the Proxmox VE cluster.

Uses the PROXMOX_PORT environment variable if not specified.

api_token_id

string

Specify the token ID.

Uses the PROXMOX_TOKEN_ID environment variable if not specified.

api_token_secret

string

Specify the token secret.

Uses the PROXMOX_TOKEN_SECRET environment variable if not specified.

api_user

string / required

Specify the user to authenticate with.

Uses the PROXMOX_USER environment variable if not specified.

comment

string

Specify the description for the user.

email

string

Email address for the user.

enable

boolean

Whether or not the account is active.

Choices:

  • false

  • true ← (default)

expire

integer

Expiration date of the user in seconds after epoch.

0 means no expiration date.

Default: 0

firstname

string

First name of the user.

groups

list / elements=string

List of groups the user is a member of.

keys

string

Keys for two factor authentication (yubico).

lastname

string

Last name of the user.

password

string

Initial password.

Only for PVE Authentication Realm users.

Parameter is ignored when user already exists or state=absent.

state

string

Indicate desired state of the user.

Choices:

  • "present" ← (default)

  • "absent"

userid

aliases: name

string / required

The user name.

Must include the desired PVE authentication realm.

validate_certs

boolean

If false, SSL certificates will not be validated.

This should only be used on personally controlled sites using self-signed certificates.

Uses the PROXMOX_VALIDATE_CERTS environment variable if not specified.

Choices:

  • false ← (default)

  • true

Attributes

Attribute

Support

Description

action_group

Action group: community.proxmox.proxmox

Use group/community.proxmox.proxmox in module_defaults to set defaults for this module.

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

- name: Create new Proxmox VE user
  community.proxmox.proxmox_user:
    api_host: node1
    api_user: root@pam
    api_password: password
    name: user@pve
    comment: Expires on 2026-01-01 00:00:00
    email: [email protected]
    enable: true
    expire: 1767222000
    firstname: User
    groups:
      - admins
    password: GoBananas!
    lastname: Some Guy

- name: Delete a Proxmox VE user
  community.proxmox.proxmox_user:
    api_host: node1
    api_user: root@pam
    api_password: password
    name: user@pve
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

msg

string

A short message on what the module did.

Returned: always

Sample: "User administrators successfully created"

userid

string

The user name.

Returned: success

Sample: "test"

Authors

  • Jeffrey van Pelt (@Thulium-Drake)

  • Kevin Quick (@kevinquick)