community.zabbix.zabbix_hostmacro – Create/update/delete Zabbix host macros

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_hostmacro.

Synopsis

  • manages Zabbix host macros, it can create, update or delete them.

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
force
boolean
    Choices:
  • no
  • yes ←
Only updates an existing macro if set to yes.
host_name
string / required
Name of the host.
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.
macro_name
string / required
Name of the host macro in zabbix native format {$MACRO} or simple format MACRO.
macro_value
string
Value of the host macro.
Required if state=present.
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 macro.
On present, it will create if macro does not exist or update the macro if the associated data is different.
On absent will remove a macro if it exists.
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

  • 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

- name: Create new host macro or update an existing macro's value
  local_action:
    module: community.zabbix.zabbix_hostmacro
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    host_name: ExampleHost
    macro_name: EXAMPLE.MACRO
    macro_value: Example value
    state: present

# Values with curly brackets need to be quoted otherwise they will be interpreted as a dictionary
- name: Create new host macro in Zabbix native format
  local_action:
    module: community.zabbix.zabbix_hostmacro
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    host_name: ExampleHost
    macro_name: "{$EXAMPLE.MACRO}"
    macro_value: Example value
    state: present

- name: Delete existing host macro
  local_action:
    module: community.zabbix.zabbix_hostmacro
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    host_name: ExampleHost
    macro_name: "{$EXAMPLE.MACRO}"
    state: absent

Authors

  • Cove (@cove)

  • Dean Hailin Song (!UNKNOWN)