community.general.ejabberd_user module – Manages users for ejabberd servers

Note

This module is part of the community.general collection (version 9.4.0).

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.general. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: community.general.ejabberd_user.

Synopsis

  • This module provides user management for ejabberd servers

Requirements

The below requirements are needed on the host that executes this module.

  • ejabberd with mod_admin_extra

Parameters

Parameter

Comments

host

string / required

the ejabberd host associated with this username

logging

boolean

enables or disables the local syslog facility for this module

Choices:

  • false ← (default)

  • true

password

string

the password to assign to the username

state

string

describe the desired state of the user to be managed

Choices:

  • "present" ← (default)

  • "absent"

username

string / required

the name of the user to manage

Attributes

Attribute

Support

Description

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.

Notes

Note

  • Password parameter is required for state == present only

  • Passwords must be stored in clear text for this release

  • The ejabberd configuration file must include mod_admin_extra as a module.

Examples

# Example playbook entries using the ejabberd_user module to manage users state.

- name: Create a user if it does not exist
  community.general.ejabberd_user:
    username: test
    host: server
    password: password

- name: Delete a user if it exists
  community.general.ejabberd_user:
    username: test
    host: server
    state: absent

Authors

  • Peter Sprygada (@privateip)