community.general.icinga2_host (8.5.0) — module

Manage a host in Icinga2

Authors: Jurgen Brand (@t794104)

Install collection

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


Add to requirements.yml

  collections:
    - name: community.general
      version: 8.5.0

Description

Add or remove a host to Icinga2 through the API.

See U(https://www.icinga.com/docs/icinga2/latest/doc/12-icinga2-api/)

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add host to icinga
  community.general.icinga2_host:
    url: "https://icinga2.example.com"
    url_username: "ansible"
    url_password: "a_secret"
    state: present
    name: "{{ ansible_fqdn }}"
    ip: "{{ ansible_default_ipv4.address }}"
    variables:
      foo: "bar"
  delegate_to: 127.0.0.1

Inputs

    
ip:
    description:
    - The IP address of the host.
    - This is no longer required since community.general 8.0.0.
    type: str

url:
    description:
    - HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
    type: str

name:
    aliases:
    - host
    description:
    - Name used to create / delete the host. This does not need to be the FQDN, but does
      needs to be unique.
    required: true
    type: str

zone:
    description:
    - The zone from where this host should be polled.
    type: str

force:
    default: false
    description:
    - If V(yes) do not get a cached copy.
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Apply feature state.
    type: str

template:
    description:
    - The template used to define the host.
    - Template cannot be modified after object creation.
    type: str

use_proxy:
    default: true
    description:
    - If V(false), it will not use a proxy, even if one is defined in an environment variable
      on the target hosts.
    type: bool

variables:
    description:
    - Dictionary of variables.
    type: dict

client_key:
    description:
    - PEM formatted file that contains your private key to be used for SSL client authentication.
      If O(client_cert) contains both the certificate and key, this option is not required.
    type: path

http_agent:
    default: ansible-httpget
    description:
    - Header to identify as, generally appears in web server logs.
    type: str

use_gssapi:
    default: false
    description:
    - Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos
      through Negotiate authentication.
    - Requires the Python library L(gssapi,https://github.com/pythongssapi/python-gssapi)
      to be installed.
    - Credentials for GSSAPI can be specified with O(url_username)/O(url_password) or
      with the GSSAPI env var C(KRB5CCNAME) that specified a custom Kerberos credential
      cache.
    - NTLM authentication is B(not) supported even if the GSSAPI mech for NTLM has been
      installed.
    type: bool
    version_added: '2.11'
    version_added_collection: ansible.builtin

client_cert:
    description:
    - PEM formatted certificate chain file to be used for SSL client authentication. This
      file can also include the key as well, and if the key is included, O(client_key)
      is not required.
    type: path

display_name:
    description:
    - The name used to display the host.
    - If not specified, it defaults to the value of the O(name) parameter.
    type: str

url_password:
    description:
    - The password for use in HTTP basic authentication.
    - If the O(url_username) parameter is not specified, the O(url_password) parameter
      will not be used.
    type: str

url_username:
    description:
    - The username for use in HTTP basic authentication.
    - This parameter can be used without O(url_password) for sites that allow empty passwords.
    type: str

check_command:
    default: hostalive
    description:
    - The command used to check if the host is alive.
    type: str

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

force_basic_auth:
    default: false
    description:
    - httplib2, the library used by the uri module only sends authentication information
      when a webservice responds to an initial request with a 401 status. Since some basic
      auth services do not properly send a 401, logins will fail. This option forces the
      sending of the Basic authentication header upon initial request.
    type: bool

Outputs

data:
  description: The data structure used for create, modify or delete of the host
  returned: always
  type: dict
name:
  description: The name used to create, modify or delete the host
  returned: always
  type: str