community.zabbix.zabbix_template_info (2.3.1) — module

Gather information about Zabbix template

Authors: sky-joker (@sky-joker)

Install collection

Install with ansible-galaxy collection install community.zabbix:==2.3.1


Add to requirements.yml

  collections:
    - name: community.zabbix
      version: 2.3.1

Description

This module allows you to search for Zabbix template.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# 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
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get Zabbix template as JSON
  # 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_template_info:
    template_name: Template
    format: json
    omit_date: yes
  register: template_json
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get Zabbix template as XML
  # 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_template_info:
    template_name: Template
    format: xml
    omit_date: no
  register: template_json
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get Zabbix template as YAML
  # 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_template_info:
    template_name: Template
    format: yaml
    omit_date: no
  register: template_yaml
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Determine if Zabbix template exists
  # 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_template_info:
    template_name: Template
    format: none
  register: template

Inputs

    
format:
    choices:
    - json
    - xml
    - yaml
    - none
    default: json
    description:
    - Format to use when dumping template.
    type: str

omit_date:
    default: false
    description:
    - Removes the date field for the dumped template
    required: false
    type: bool

template_name:
    description:
    - Name of the template in Zabbix.
    required: true
    type: str

http_login_user:
    description:
    - Basic Auth login
    required: false
    type: str

http_login_password:
    description:
    - Basic Auth password
    required: false
    type: str

Outputs

template_id:
  description: The ID of the template
  returned: always
  type: str
template_json:
  description: The JSON of the template
  returned: when format is json and omit_date is true
  sample:
    changed: false
    failed: false
    template_id: '10529'
    template_json:
      zabbix_export:
        groups:
        - name: Templates
          uuid: 7df96b18c230490a9a0a9e2307226338
        templates:
        - groups:
          - name: Templates
          name: ExampleTemplateForTempleteInfoModule
          template: ExampleTemplateForTempleteInfoModule
          uuid: 615e9b0662bb4399a2503a9aaa743517
        version: '6.0'
  type: str
template_xml:
  description: The XML of the template
  returned: when format is xml and omit_date is false
  sample: "<zabbix_export>\n    <version>6.0</version>\n    <groups>\n        <group>\n\
    \            <uuid>7df96b18c230490a9a0a9e2307226338</uuid>\n            <name>Templates</name>\n\
    \        </group>\n    </groups>\n    <templates>\n        <template>\n      \
    \      <uuid>9a83162273f74032a1005fdb13943038</uuid>\n            <template>ExampleTemplateForTempleteInfoModule</template>\n\
    \            <name>ExampleTemplateForTempleteInfoModule</name>\n            <groups>\n\
    \                <group>\n                    <name>Templates</name>\n       \
    \         </group>\n            </groups>\n        </template>\n    </templates>\n\
    </zabbix_export>"
  type: str
template_yaml:
  description: The YAML of the template
  returned: when format is yaml and omit_date is false
  sample: "zabbix_export:\n  version: \"6.0\"\n  groups:\n    -\n      uuid: 7df96b18c230490a9a0a9e2307226338\n\
    \      name: Templates\n      templates:\n        -\n          uuid: 67b075276bf047d3aeb8f7d5c2121c6a\n\
    \          template: ExampleTemplateForTempleteInfoModule\n          name: ExampleTemplateForTempleteInfoModule\n\
    \          groups:\n            -\n              name: Templatesn"
  type: str