community.zabbix.httpapi (1.8.0) — connection

Use httpapi to run command on network appliances

| "added in version" 1.6.0 of community.zabbix"

Authors: Markus Fischbacher (@rockaut)

Install collection

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


Add to requirements.yml

  collections:
    - name: community.zabbix
      version: 1.8.0

Description

This connection plugin provides a connection to Zabbix jsonrpc api over a HTTP(S).

Inputs

    
host:
    default: inventory_hostname
    description:
    - Specifies the remote device FQDN or IP address to establish the HTTP(S) connection
      to.
    vars:
    - name: ansible_host

port:
    description:
    - Specifies the port on the remote device that listens for connections when establishing
      the HTTP(S) connection.
    - When unspecified, will pick 80 or 443 based on the value of use_ssl.
    env:
    - name: ANSIBLE_REMOTE_PORT
    ini:
    - key: remote_port
      section: defaults
    type: int
    vars:
    - name: ansible_httpapi_port

become:
    default: false
    description:
    - The become option will instruct the CLI session to attempt privilege escalation
      on platforms that support it.  Normally this means transitioning from user mode
      to C(enable) mode in the CLI session. If become is set to True and the remote device
      does not support privilege escalation or the privilege has already been elevated,
      then this option is silently ignored.
    - Can be configured from the CLI via the C(--become) or C(-b) options.
    env:
    - name: ANSIBLE_BECOME
    ini:
    - key: become
      section: privilege_escalation
    type: boolean
    vars:
    - name: ansible_become

use_ssl:
    default: false
    description:
    - Whether to connect using SSL (HTTPS) or not (HTTP).
    type: boolean
    vars:
    - name: ansible_httpapi_use_ssl

password:
    description:
    - Configures the user password used to authenticate to the remote device when needed
      for the device API.
    vars:
    - name: ansible_password
    - name: ansible_httpapi_pass
    - name: ansible_httpapi_password

use_proxy:
    default: true
    description:
    - Whether to use https_proxy for requests.
    type: boolean
    vars:
    - name: ansible_httpapi_use_proxy

network_os:
    description:
    - Configures the device platform network operating system.  This value is used to
      load the correct httpapi plugin to communicate with the remote device
    vars:
    - name: ansible_network_os

remote_user:
    description:
    - The username used to authenticate to the remote device when the API connection is
      first established.  If the remote_user is not specified, the connection will use
      the username of the logged in user.
    - Can be configured from the CLI via the C(--user) or C(-u) options.
    env:
    - name: ANSIBLE_REMOTE_USER
    ini:
    - key: remote_user
      section: defaults
    vars:
    - name: ansible_user

session_key:
    description:
    - Configures the session key to be used to authenticate to the remote device when
      needed for the device API.
    - This should contain a dictionary representing the key name and value for the token.
    - When specified, I(password) is ignored.
    type: dict
    vars:
    - name: ansible_httpapi_session_key

become_method:
    default: sudo
    description:
    - This option allows the become method to be specified in for handling privilege escalation.  Typically
      the become_method value is set to C(enable) but could be defined as other values.
    env:
    - name: ANSIBLE_BECOME_METHOD
    ini:
    - key: become_method
      section: privilege_escalation
    vars:
    - name: ansible_become_method

import_modules:
    default: false
    description:
    - Reduce CPU usage and network module execution time by enabling direct execution.
      Instead of the module being packaged and executed by the shell, it will be directly
      executed by the Ansible control node using the same python interpreter as the Ansible
      process. Note- Incompatible with C(asynchronous mode). Note- Python 3 and Ansible
      2.9.16 or greater required. Note- With Ansible 2.9.x fully qualified modules names
      are required in tasks.
    env:
    - name: ANSIBLE_NETWORK_IMPORT_MODULES
    ini:
    - key: import_modules
      section: ansible_network
    type: boolean
    vars:
    - name: ansible_network_import_modules

validate_certs:
    default: true
    description:
    - Whether to validate SSL certificates
    type: boolean
    vars:
    - name: ansible_httpapi_validate_certs

persistent_log_messages:
    default: false
    description:
    - This flag will enable logging the command executed and response received from target
      device in the ansible log file. For this option to work 'log_path' ansible configuration
      option is required to be set to a file path with write access.
    - Be sure to fully understand the security implications of enabling this option as
      it could create a security vulnerability by logging sensitive information in log
      file.
    env:
    - name: ANSIBLE_PERSISTENT_LOG_MESSAGES
    ini:
    - key: log_messages
      section: persistent_connection
    type: boolean
    vars:
    - name: ansible_persistent_log_messages

persistent_command_timeout:
    default: 30
    description:
    - Configures, in seconds, the amount of time to wait for a command to return from
      the remote device.  If this timer is exceeded before the command returns, the connection
      plugin will raise an exception and close.
    env:
    - name: ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
    ini:
    - key: command_timeout
      section: persistent_connection
    type: int
    vars:
    - name: ansible_command_timeout

persistent_connect_timeout:
    default: 30
    description:
    - Configures, in seconds, the amount of time to wait when trying to initially establish
      a persistent connection.  If this value expires before the connection to the remote
      device is completed, the connection will fail.
    env:
    - name: ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
    ini:
    - key: connect_timeout
      section: persistent_connection
    type: int
    vars:
    - name: ansible_connect_timeout