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

Note

This plugin is part of the community.zabbix collection (version 1.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.

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

Comments

debug_mode

string

Whether debug mode is enabled or disabled.

Choices:

  • disabled ← (default)

  • enabled

gui_access

string

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:

  • default ← (default)

  • internal

  • LDAP

  • disable

http_login_password

string

Basic Auth password

http_login_user

string

Basic Auth login

login_password

string / required

Zabbix user password.

If not set the environment variable ZABBIX_PASSWORD will be used.

login_user

string / required

Zabbix user name.

If not set the environment variable ZABBIX_USERNAME will be used.

name

aliases: user_group

string / required

Name of the user group to create, update or delete.

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

Access level to the host group.

Choices:

  • denied

  • read-only

  • read-write

server_url

aliases: url

string / required

URL of Zabbix server, with protocol (http or https). url is an alias for server_url.

If not set the environment variable ZABBIX_SERVER will be used.

state

string

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.

Choices:

  • present ← (default)

  • absent

status

string

Whether the user group is enabled or disabled.

Choices:

  • enabled ← (default)

  • 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

Tag name.

Default: “”

value

string

Tag value.

Default: “”

timeout

integer

The timeout of API request (seconds).

Default: 10

validate_certs

boolean

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 ZABBIX_VALIDATE_CERTS will be used.

Choices:

  • no

  • yes ← (default)

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

Description

msg

string

The result of the operation

Returned: always

Sample: “User group created: ACME, ID: 42”

state

string

User group state at the end of execution.

Returned: on success

Sample: “present”

usergroup

string

User group name.

Returned: on success

Sample: “ACME”

usrgrpid

string

User group id, if created, changed or deleted.

Returned: on success

Sample: “42”

Authors

  • Tobias Birkefeld (@tcraxs)