community.zabbix.zabbix_usergroup – Create/delete/update Zabbix user groups

Note

This plugin is part of the community.zabbix collection (version 1.2.0).

To install it use: ansible-galaxy collection install community.zabbix.

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.

  • zabbix-api >= 0.5.4

Parameters

Parameter Choices/Defaults Comments
debug_mode
string
    Choices:
  • disabled ←
  • enabled
Whether debug mode is enabled or disabled.
gui_access
string
    Choices:
  • default ←
  • internal
  • LDAP
  • disable
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.
http_login_password
string
Basic Auth password
http_login_user
string
Basic Auth login
login_password
string / required
Zabbix user password.
login_user
string / required
Zabbix user name.
name
string / required
Name of the user group to create, update or delete.

aliases: user_group
rights
list / elements=dictionary
Permissions to assign to the group
host_group
string / required
Name of the host group to add permission to.
permission
string / required
    Choices:
  • denied
  • read-only
  • read-write
Access level to the host group.
server_url
string / required
URL of Zabbix server, with protocol (http or https). url is an alias for server_url.

aliases: url
state
string
    Choices:
  • present ←
  • absent
State of the user group.
On present, it will create if user group does not exist or update the user group if the associated data is different.
On absent will remove a user group if it exists.
status
string
    Choices:
  • enabled ←
  • disabled
Whether the user group is enabled or disabled.
tag_filters
list / elements=dictionary
Tag based permissions to assign to the group
host_group
string / required
Name of the host group to add permission to.
tag
string
Default:
""
Tag name.
value
string
Default:
""
Tag value.
timeout
integer
Default:
10
The timeout of API request (seconds).
validate_certs
boolean
    Choices:
  • no
  • yes ←
If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Notes

Note

  • Only Zabbix >= 4.0 is supported.

  • 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

# Base create user group example
- name: Create user group
  community.zabbix.zabbix_usergroup:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: admin
    login_password: secret
    name: ACME
    state: present

# Base create user group with disabled gui access
- name: Create user group with disabled gui access
  community.zabbix.zabbix_usergroup:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: admin
    login_password: secret
    name: ACME
    gui_access: disable

# Base create user group with permissions
- name: Create user group with permissions
  community.zabbix.zabbix_usergroup:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: admin
    login_password: secret
    name: ACME
    rights:
        - host_group: Webserver
          permission: read-write
        - host_group: Databaseserver
          permission: read-only
    state: present

# Base create user group with tag permissions
- name: Create user group with tag permissions
  community.zabbix.zabbix_usergroup:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: admin
    login_password: secret
    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
  community.zabbix.zabbix_usergroup:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: admin
    login_password: secret
    name: ACME
    state: absent

Return Values

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

Key Returned Description
msg
string
always
The result of the operation

Sample:
User group created: ACME, ID: 42
state
string
on success
User group state at the end of execution.

Sample:
present
usergroup
string
on success
User group name.

Sample:
ACME
usrgrpid
string
on success
User group id, if created, changed or deleted.

Sample:
42


Authors

  • Tobias Birkefeld (@tcraxs)