community.zabbix.zabbix_user module – Create/update/delete Zabbix users
Note
This module is part of the community.zabbix collection (version 3.1.2).
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.zabbix
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.zabbix.zabbix_user
.
Synopsis
This module allows you to create, modify and delete Zabbix users.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
URL of the page to redirect the user to after logging in. |
|
Whether to enable auto-login. If enable autologin, cannot enable autologout. Choices:
|
|
User session life time in seconds. If set to 0, the session will never expire. If enable autologout, cannot enable autologin. |
|
Current password for the user when overriding its password. Required when overriding the logged in user’s password. https://www.zabbix.com/documentation/6.4/en/manual/api/reference/user/update |
|
Basic Auth password |
|
Basic Auth login |
|
Language code of the user’s language. Choices:
|
|
Name of the user. |
|
Override password for the user. Password will not be updated on subsequent runs without setting this value to yes. Choices:
|
|
User’s password. Required unless all of the usrgrps are set to use LDAP as frontend access. |
|
Automatic refresh period in seconds. |
|
User’s role. Default is The default value will be removed at the version 2.0.0. |
|
Amount of object rows to show per page. |
|
State of the user. On On Choices:
|
|
Surname of the user. |
|
User’s theme. Choices:
|
|
User’s time zone. For the full list of supported time zones please refer to https://www.php.net/manual/en/timezones.php |
|
Set the user’s media. If not set, makes no changes to media. |
|
Whether the media is enabled. Choices:
|
|
Media type name to set. Default: |
|
Time when the notifications can be sent as a time period or user macros separated by a semicolon. Please review the documentation for more information on the supported time period. https://www.zabbix.com/documentation/current/en/manual/appendix/time_period Default: |
|
Address, user name or other identifier of the recipient. If |
|
Trigger severities to send notifications about. Default: |
|
severity average enable/disable. Choices:
|
|
severity disaster enable/disable. Choices:
|
|
severity high enable/disable. Choices:
|
|
severity information enable/disable. Choices:
|
|
severity not_classified enable/disable. Choices:
|
|
severity warning enable/disable. Choices:
|
|
Username. username is the unique identifier used and cannot be updated using this module. |
|
User groups to add the user to. Required when state=present. |
Examples
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
ansible.builtin.set_fact:
ansible_user: Admin
ansible_httpapi_pass: zabbix
# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
ansible.builtin.set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
- name: create a new zabbix user.
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_user:
username: example
name: user name
surname: user surname
usrgrps:
- Guests
- Disabled
passwd: password
lang: en_GB
theme: blue-theme
autologin: no
autologout: "0"
refresh: "30"
rows_per_page: "200"
after_login_url: ""
user_medias:
- mediatype: Email
sendto:
- example@example.com
- example1@example.com
period: 1-7,00:00-24:00
severity:
not_classified: no
information: yes
warning: yes
average: yes
high: yes
disaster: yes
active: no
state: present
- name: delete existing zabbix user.
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_user:
username: example
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
User id created or changed Returned: success Sample: |