community.zabbix.zabbix_connector module – Create/Delete/Update Zabbix connectors
Note
This module is part of the community.zabbix collection (version 3.3.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_connector.
New in community.zabbix 3.3.0
Synopsis
- This module allows you to create, modify and delete Zabbix connectors. 
Requirements
The below requirements are needed on the host that executes this module.
- python >= 3.9 
Parameters
| Parameter | Comments | 
|---|---|
| Parameter introduced in Zabbix 7.0 Interval between attempts in seconds (value between 0 and 10). | |
| HTTP authentication method used by the connector. Choices: 
 | |
| Type of data being streamed. Choices: 
 | |
| Description of the connector. | |
| Whether the connector is enabled. (mapped to the status property of the connector object in the Zabbix API) Choices: 
 | |
| Basic Auth password | |
| Basic Auth login | |
| HTTP(S) proxy used by the connector. | |
| Parameter introduced in Zabbix 7.0 List of value types to stream. Each element should be one of  
 
 | |
| Maximum number of attempts. | |
| Maximum number of records sent in one message. | |
| Number of sender processes used by the connector. | |
| Name of the connector. | |
| Password to authenticate the connector with the receiver. Supported only if  | |
| Public SSL key file path for client authentication. | |
| Private SSL key file path for client authentication. | |
| Password of the private SSL key file. | |
| State of the connector. On  On  Choices: 
 | |
| List of tags to filter streamed data. | |
| Conditional operator used to filter . Choices: 
 | |
| Name of the tag. | |
| Value of the tag compared. | |
| Tag filter evaluation method. Choices: 
 | |
| Message sending timeout in seconds (value between 1 and 60). | |
| Bearer token to authenticate the connector with the receiver. Required when  | |
| URL of the receiver used by the connector. | |
| Username to authenticate the connector with the receiver. Supported only if  | |
| Whether the connector should verify the receiver’s hostname against the certificate’s CN or SAN fields. Choices: 
 | |
| Whether the connector should verify the receiver’s certificate. Choices: 
 | 
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 or update a connector
  # 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:
    name: My app connector
    description: Connector to send item values to My app
    state: present
    enabled: true
    data_type: item_values
    url: https://my-app.example.com/api/zabbix-stream
    auth_type: bearer
    token: "{{ my_app_bearer_token }}"
    value_types:
      - numeric_float
      - character
      - numeric_unsigned
      - text
    tags_eval_type: and/or
    tags:
      - tag: to-my-app
        operator: exists
      - tag: privacy
        operator: does not equal
        value: hidden
- name: Delete a connector
  # 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:
    name: My app connector
    state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| Text result of the operation. Returned: always Sample:  | |
| JSON result of the Zabbix API call Returned: success Sample:  | 
