community.general.zabbix_proxy (0.1.1) — module

Create/delete/get/update Zabbix proxies

Authors: Alen Komic (@akomic)

preview | supported by community

Install collection

Install with ansible-galaxy collection install community.general:==0.1.1


Add to requirements.yml

  collections:
    - name: community.general
      version: 0.1.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.
- name: Create or update a proxy with proxy type active
  local_action:
    module: zabbix_proxy
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    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
  local_action:
    module: zabbix_proxy
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    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
  local_action:
    module: zabbix_proxy
    server_url: http://monitor.example.com
    login_user: username
    login_password: password
    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

timeout:
    default: 10
    description:
    - The timeout of API request (seconds).
    type: int

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/4.0/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
      main:
        default: 0
        description:
        - Whether the interface is used as default.
        - This suboption is currently ignored for Zabbix proxy.
        - This suboption is deprecated since Ansible 2.10 and will eventually be removed
          in 2.14.
        required: false
        type: int
      port:
        default: '10051'
        description:
        - Port used by proxy interface.
        type: str
      type:
        default: 0
        description:
        - Interface type to add.
        - This suboption is currently ignored for Zabbix proxy.
        - This suboption is deprecated since Ansible 2.10 and will eventually be removed
          in 2.14.
        required: false
        type: int
      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

login_user:
    description:
    - Zabbix user name.
    required: true
    type: str

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

server_url:
    aliases:
    - url
    description:
    - URL of Zabbix server, with protocol (http or https). C(url) is an alias for C(server_url).
    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).
    - Works only with >= Zabbix 4.0. ( remove option for <= 4.0 )
    required: false
    type: str

login_password:
    description:
    - Zabbix user password.
    required: true
    type: str

validate_certs:
    default: true
    description:
    - If set to False, SSL certificates will not be validated. This should only be used
      on personally controlled sites using self-signed certificates.
    type: bool

http_login_user:
    description:
    - Basic Auth login
    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
    type: str