community.zabbix.zabbix_proxy (2.3.1) — module

Create/delete/get/update Zabbix proxies

Authors: Alen Komic (@akomic)

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 create, modify, get and delete Zabbix proxy entries.


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: Create or update a proxy with proxy type active
  # 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_proxy:
    proxy_name: ExampleProxy
    description: ExampleProxy
    status: active
    state: present
    proxy_address: ExampleProxy.local
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new passive proxy using only it's IP
  # 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_proxy:
    proxy_name: ExampleProxy
    description: ExampleProxy
    status: passive
    state: present
    interface:
      useip: 1
      ip: 10.1.1.2
      port: 10051
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new passive proxy using only it's DNS
  # 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_proxy:
    proxy_name: ExampleProxy
    description: ExampleProxy
    status: passive
    state: present
    interface:
      dns: proxy.example.com
      port: 10051

Inputs

    
state:
    choices:
    - present
    - absent
    default: present
    description:
    - State of the proxy.
    - On C(present), it will create if proxy does not exist or update the proxy if the
      associated data is different.
    - On C(absent) will remove a proxy if it exists.
    required: false
    type: str

status:
    choices:
    - active
    - passive
    default: active
    description:
    - Type of proxy. (4 - active, 5 - passive)
    required: false
    type: str

ca_cert:
    aliases:
    - tls_issuer
    description:
    - Certificate issuer.
    required: false
    type: str

tls_psk:
    description:
    - The preshared key, at least 32 hex digits. Required if either I(tls_connect) or
      I(tls_accept) has PSK enabled.
    required: false
    type: str

interface:
    default: {}
    description:
    - Dictionary with params for the interface when proxy is in passive mode.
    - For more information, review proxy interface documentation at
    - U(https://www.zabbix.com/documentation/current/en/manual/api/reference/proxy/object#proxy-interface).
    required: false
    suboptions:
      dns:
        default: ''
        description:
        - DNS name of the proxy interface.
        - Required if I(useip=0).
        type: str
      ip:
        default: ''
        description:
        - IP address used by proxy interface.
        - Required if I(useip=1).
        type: str
      port:
        default: '10051'
        description:
        - Port used by proxy interface.
        type: str
      useip:
        choices:
        - 0
        - 1
        default: 0
        description:
        - Connect to proxy interface with IP address instead of DNS name.
        - 0 (don't use ip), 1 (use ip).
        type: int
    type: dict

proxy_name:
    description:
    - Name of the proxy in Zabbix.
    required: true
    type: str

tls_accept:
    choices:
    - no_encryption
    - PSK
    - certificate
    default: no_encryption
    description:
    - Connections from proxy.
    required: false
    type: str

description:
    description:
    - Description of the proxy.
    required: false
    type: str

tls_connect:
    choices:
    - no_encryption
    - PSK
    - certificate
    default: no_encryption
    description:
    - Connections to proxy.
    required: false
    type: str

tls_subject:
    description:
    - Certificate subject.
    required: false
    type: str

proxy_address:
    description:
    - Comma-delimited list of IP/CIDR addresses or DNS names to accept active proxy requests
      from.
    - Requires I(status=active).
    required: false
    type: str

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

tls_psk_identity:
    description:
    - PSK identity. Required if either I(tls_connect) or I(tls_accept) has PSK enabled.
    required: false
    type: str

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