community.zabbix.zabbix_group module – Create/delete Zabbix host groups

Note

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

To use it in a playbook, specify: community.zabbix.zabbix_group.

Synopsis

  • Create host groups if they do not exist.

  • Delete existing host groups if they exist.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • zabbix-api >= 0.5.4

Parameters

Parameter

Comments

host_groups

aliases: host_group

list / elements=string / required

List of host groups to create or delete.

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.

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

Create or delete host group.

Choices:

  • present ← (default)

  • absent

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

  • Too many concurrent updates to the same group may cause Zabbix to return errors, see examples for a workaround if needed.

  • 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 host groups example
- name: Create host groups
  local_action:
    module: community.zabbix.zabbix_group
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    state: present
    host_groups:
      - Example group1
      - Example group2

# Limit the Zabbix group creations to one host since Zabbix can return an error when doing concurrent updates
- name: Create host groups
  local_action:
    module: community.zabbix.zabbix_group
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    state: present
    host_groups:
      - Example group1
      - Example group2
  when: inventory_hostname==groups['group_name'][0]

Authors

  • Cove (@cove)

  • Tony Minfei Ding

  • Harrison Gu (@harrisongu)