community.zabbix.zabbix_proxy module – Create/delete/get/update Zabbix proxies
Note
This module is part of the community.zabbix collection (version 1.9.3).
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_proxy
.
Synopsis
This module allows you to create, modify, get and delete Zabbix proxy entries.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
Parameters
Parameter |
Comments |
---|---|
Certificate issuer. |
|
Description of the proxy. |
|
Basic Auth password |
|
Basic Auth login |
|
Dictionary with params for the interface when proxy is in passive mode. For more information, review proxy interface documentation at https://www.zabbix.com/documentation/4.0/manual/api/reference/proxy/object#proxy_interface. Default: |
|
DNS name of the proxy interface. Required if useip=0. Default: |
|
IP address used by proxy interface. Required if useip=1. Default: |
|
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. Default: |
|
Port used by proxy interface. Default: |
|
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. Default: |
|
Connect to proxy interface with IP address instead of DNS name. 0 (don’t use ip), 1 (use ip). Choices:
|
|
Zabbix user password. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
Zabbix user name. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
Comma-delimited list of IP/CIDR addresses or DNS names to accept active proxy requests from. Requires status=active. Works only with >= Zabbix 4.0. ( remove option for <= 4.0 ) |
|
Name of the proxy in Zabbix. |
|
URL of Zabbix server, with protocol (http or https). If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release |
|
State of the proxy. On On Choices:
|
|
Type of proxy. (4 - active, 5 - passive) Choices:
|
|
The timeout of API request (seconds). This option is deprecated with the move to httpapi connection and will be removed in the next release The default value is |
|
Connections from proxy. Choices:
|
|
Connections to proxy. Choices:
|
|
The preshared key, at least 32 hex digits. Required if either tls_connect or tls_accept has PSK enabled. |
|
PSK identity. Required if either tls_connect or tls_accept has PSK enabled. |
|
Certificate subject. |
|
If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. If not set the environment variable This option is deprecated with the move to httpapi connection and will be removed in the next release The default value is Choices:
|
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
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
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
set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
- 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
- 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
- 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