community.zabbix.zabbix_user module – Create/update/delete Zabbix users
Note
This module is part of the community.zabbix collection (version 1.9.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.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 >= 2.6
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. |
|
Language code of the user’s language.
Choices:
|
|
Zabbix user password. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
Zabbix user name. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
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. Always required for Zabbix versions lower than 4.0. |
|
Automatic refresh period in seconds. |
|
User’s role. role_name can be used when Zabbix version is 5.2 or higher. Default is The default value will be removed at the version 2.0.0. |
|
Amount of object rows to show per page. |
|
URL of Zabbix server, with protocol (http or https). If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
State of the user. On On Choices:
|
|
Surname of the user. |
|
User’s theme. Choices:
|
|
The timeout of API request (seconds). This option is deprecated with the move to httpapi connection and will be removed in the next release Default: |
|
User’s time zone. timezone can be used with Zabbix version 5.2 or higher. For the full list of supported time zones please refer to https://www.php.net/manual/en/timezones.php |
|
Type of the user. type can be used when Zabbix version is 5.0 or lower. Choices:
|
|
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/4.0/manual/appendix/time_period Default: |
|
Address, user name or other identifier of the recipient. |
|
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:
|
|
Name of the user alias in Zabbix. username is the unique identifier used and cannot be updated using this module. alias should be replaced with username |
|
User groups to add the user to. Required when state=present. |
|
If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release Choices:
|
Notes
Note
If you use login_password=zabbix, the word “zabbix” is replaced by “********” in all module output, because login_password uses
no_log
. See this FAQ for more information.
Examples
# Set following variables for Zabbix Server host in play or inventory
- name: Set connection specific variables
set_fact:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 80
ansible_httpapi_use_ssl: false
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: 'zabbixeu' # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
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
set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
- name: create a new zabbix user.
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: [email protected]
period: 1-7,00:00-24:00
severity:
not_classified: no
information: yes
warning: yes
average: yes
high: yes
disaster: yes
active: no
type: Zabbix super admin
state: present
- name: delete existing zabbix user.
community.zabbix.zabbix_user:
username: example
usrgrps:
- Guests
passwd: password
user_medias:
- sendto: [email protected]
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: |