community.zabbix.zabbix_globalmacro module – Create/update/delete Zabbix Global macros
Note
This module is part of the community.zabbix collection (version 2.2.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
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.zabbix.zabbix_globalmacro
.
New in community.zabbix 1.4.0
Synopsis
manages Zabbix Global macros, it can create, update or delete them.
For macro_type Secret the value field cannot be validated and will always be overwritten due to the secret nature of the Text.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
---|---|
Only updates an existing macro if set to Choices:
|
|
Basic Auth password |
|
Basic Auth login |
|
Text Description of the global macro. Default: |
|
Name of the global macro in zabbix native format |
|
Type of the global macro Text or Secret Text. Required if state=present. text secret - Secret Text Works only with Zabbix >= 5.0 and will default to Text in lower versions vault - Vault Secret Works only with Zabbix >= 5.2 and will default to Text in lower versions Choices:
|
|
Value of the global macro. Required if state=present. |
|
State of the macro. On On Choices:
|
Notes
Note
This module returns changed=true when macro_type=secret.
Examples
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
ansible.builtin.set_fact:
ansible_user: Admin
ansible_httpapi_pass: zabbix
# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
ansible.builtin.set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
- name: Create new global macro or update an existing macro's value
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_globalmacro:
macro_name: EXAMPLE.MACRO
macro_value: Example value
macro_type: 0
macro_description: Example description
state: present
# Values with curly brackets need to be quoted otherwise they will be interpreted as a dictionary
- name: Create new global macro in Zabbix native format with Secret Type
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_globalmacro:
macro_name: "{$EXAMPLE.MACRO}"
macro_value: Example value
macro_type: 1
macro_description: Example description
state: present
- name: Delete existing global macro
community.zabbix.zabbix_globalmacro:
macro_name: "{$EXAMPLE.MACRO}"
state: absent