community.zabbix.zabbix_usergroup module – Create/delete/update Zabbix user groups
Note
This module is part of the community.zabbix collection (version 2.5.1).
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_usergroup
.
Synopsis
Create user groups if they do not exist.
Delete existing user groups if they exist and are empty.
Update existing user groups.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
Whether debug mode is enabled or disabled. Choices:
|
|
Frontend authentication method of the users in the group. Possible values: default - use the system default authentication method; internal - use internal authentication; LDAP - use LDAP authentication; disable - disable access to the frontend. Choices:
|
|
Host group permissions to assign to the user group For => Zabbix 6.2 |
|
Name of the host group to add permission to. |
|
Access level to the host group. Choices:
|
|
Basic Auth password |
|
Basic Auth login |
|
Name of the user group to create, update or delete. |
|
Permissions to assign to the group For <= Zabbix 6.0 |
|
Name of the host group to add permission to. |
|
Access level to the host group. Choices:
|
|
State of the user group. On On Choices:
|
|
Whether the user group is enabled or disabled. Choices:
|
|
Tag based permissions to assign to the group |
|
Name of the host group to add permission to. |
|
Tag name. Default: |
|
Tag value. Default: |
|
Template group permissions to assign to the user group For => Zabbix 6.2 |
|
Access level to the templategroup. Choices:
|
|
Name of the template group to add permission to. |
|
Authentication user directory when gui_access set to LDAP or System default. For => Zabbix 6.2 |
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
# Base create user group example
- name: Create user group
# 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_usergroup:
name: ACME
userdirectory: LDAP infra 1
state: present
# Base create user group with selected user directory for LDAP authentication
- name: Create user group
# 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_usergroup:
name: ACME
userdirectory: LDAP infra 1
state: present
# Base create user group with disabled gui access
- name: Create user group with disabled gui access
# 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_usergroup:
name: ACME
gui_access: disable
# Base create user group with permissions for Zabbix <= 6.0
- name: Create user group with permissions
# 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_usergroup:
name: ACME
rights:
- host_group: Webserver
permission: read-write
- host_group: Databaseserver
permission: read-only
state: present
# Base create user group with permissions for Zabbix => 6.2
- name: Create user group with permissions
# 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_usergroup:
name: ACME
hostgroup_rights:
- host_group: Webserver
permission: read-write
- host_group: Databaseserver
permission: read-only
templategroup_rights:
- template_group: Linux Templates
permission: read-write
- template_group: Templates
permission: read-only
state: present
# Base create user group with tag permissions
- name: Create user group with tag permissions
# 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_usergroup:
name: ACME
tag_filters:
- host_group: Webserver
tag: Application
value: Java
- host_group: Discovered hosts
tag: Service
value: JIRA
state: present
# Base delete user groups example
- name: Delete user groups
# 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_usergroup:
name: ACME
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The result of the operation Returned: always Sample: |
|
User group state at the end of execution. Returned: on success Sample: |
|
User group name. Returned: on success Sample: |
|
User group id, if created, changed or deleted. Returned: on success Sample: |