On this page
community.general.icinga2_host – Manage a host in Icinga2
Note
This plugin is part of the community.general collection (version 3.8.1).
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.general.
To use it in a playbook, specify: community.general.icinga2_host.
Synopsis
- Add or remove a host to Icinga2 through the API.
 - See https://www.icinga.com/docs/icinga2/latest/doc/12-icinga2-api/
 
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| check_command
        
        string
         | 
      Default: 
        "hostalive"
         | 
      
        
        The command used to check if the host is alive.
         | 
     
| client_cert
        
        path
         | 
      
        
        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,  client_key is not required.
        | 
     |
| client_key
        
        path
         | 
      
        
        PEM formatted file that contains your private key to be used for SSL client authentication. If  client_cert contains both the certificate and key, this option is not required.
        | 
     |
| display_name
        
        string
         | 
      
        
        The name used to display the host.
        
       
        If not specified, it defaults to the value of the name parameter.
         | 
     |
| force
        
        boolean
         | 
      
       
  | 
      
        
        If  
       yes do not get a cached copy.
       
        Alias  
       thirsty has been deprecated and will be removed in 2.13.
       aliases: thirsty  | 
     
| force_basic_auth
        
        boolean
         | 
      
       
  | 
      
        
        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.
         | 
     
| http_agent
        
        string
         | 
      Default: 
        "ansible-httpget"
         | 
      
        
        Header to identify as, generally appears in web server logs.
         | 
     
| ip
        
        string / required
         | 
      
        
        The IP address of the host.
         | 
     |
| name
        
        string / required
         | 
      
        
        Name used to create / delete the host. This does not need to be the FQDN, but does needs to be unique.
        
       aliases: host  | 
     |
| state
        
        string
         | 
      
       
  | 
      
        
        Apply feature state.
         | 
     
| template
        
        string
         | 
      
        
        The template used to define the host.
        
       
        Template cannot be modified after object creation.
         | 
     |
| url
        
        string
         | 
      
        
        HTTP, HTTPS, or FTP URL in the form (http|https|ftp)://[user[:pass]]@host.domain[:port]/path
         | 
     |
| url_password
        
        string
         | 
      
        
        The password for use in HTTP basic authentication.
        
       
        If the  url_username parameter is not specified, the url_password parameter will not be used.
        | 
     |
| url_username
        
        string
         | 
      
        
        The username for use in HTTP basic authentication.
        
       
        This parameter can be used without  url_password for sites that allow empty passwords.
        | 
     |
| use_gssapi
        
        boolean
        
       
        added in 2.11 of ansible.builtin
         | 
      
       
  | 
      
        
        Use GSSAPI to perform the authentication, typically this is for Kerberos or Kerberos through Negotiate authentication.
        
       
        Requires the Python library gssapi to be installed.
        
       
        Credentials for GSSAPI can be specified with url_username/url_password or with the GSSAPI env var  
       KRB5CCNAME that specified a custom Kerberos credential cache.
       
        NTLM authentication is  not supported even if the GSSAPI mech for NTLM has been installed.
        | 
     
| use_proxy
        
        boolean
         | 
      
       
  | 
      
        
        If  no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.
        | 
     
| validate_certs
        
        boolean
         | 
      
       
  | 
      
        
        If  no, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.
        | 
     
| variables
        
        dictionary
         | 
      
        
        Dictionary of variables.
         | 
     |
| zone
        
        string
         | 
      
        
        The zone from where this host should be polled.
         | 
     
Examples
- 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
  Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| data
        
        dictionary
         | 
      always | 
        
        The data structure used for create, modify or delete of the host
          | 
     
| name
        
        string
         | 
      always | 
        
        The name used to create, modify or delete the host
          | 
     
Authors
- Jurgen Brand (@t794104)
 
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/latest/collections/community/general/icinga2_host_module.html