community.zabbix.zabbix_group – Create/delete Zabbix host 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_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 Choices/Defaults Comments
host_groups
list / elements=string / required
List of host groups to create or delete.

aliases: host_group
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
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.

aliases: url
state
string
    Choices:
  • present ←
  • absent
Create or delete host group.
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.
If not set the environment variable ZABBIX_VALIDATE_CERTS will be used.

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 (!UNKNOWN)

  • Harrison Gu (@harrisongu)