t_systems_mms.icinga_director.icinga_notification – Manage notifications in Icinga2

Note

This plugin is part of the t_systems_mms.icinga_director collection (version 1.16.0).

To install it use: ansible-galaxy collection install t_systems_mms.icinga_director.

To use it in a playbook, specify: t_systems_mms.icinga_director.icinga_notification.

New in version 1.0.0: of t_systems_mms.icinga_director

Synopsis

  • Add or remove a notification to Icinga2 through the director API.

Parameters

Parameter Choices/Defaults Comments
apply_to
string / required
    Choices:
  • host
  • service
Whether this notification should affect hosts or services.
assign_filter
string
The filter where the notification will take effect.
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.
disabled
boolean
added in 1.9.0 of t_systems_mms.icinga_director
    Choices:
  • no ←
  • yes
Disabled objects will not be deployed.
force
boolean
    Choices:
  • no ←
  • yes
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
    Choices:
  • no ←
  • yes
Credentials specified with url_username and url_password should be passed in HTTP Header.
http_agent
string
Default:
"ansible-httpget"
Header to identify as, generally appears in web server logs.
imports
list / elements=string
Importable templates, add as many as you want. Required when state is present.
Please note that order matters when importing properties from multiple templates - last one wins.
notification_interval
string
The notification interval (in seconds). This interval is used for active notifications.
Defaults to 30 minutes. If set to 0, re-notifications are disabled.
object_name
string / required
Name of the notification.

aliases: name
state
string
    Choices:
  • present ←
  • absent
Apply feature state.
states
list / elements=string
added in 1.9.0 of t_systems_mms.icinga_director
The host or service states you want to get notifications for.
time_period
string
added in 1.15.0 of t_systems_mms.icinga_director
The name of a time period which determines when this notification should be triggered.

aliases: period
times_begin
integer
added in 1.15.0 of t_systems_mms.icinga_director
First notification delay.
Delay unless the first notification should be sent.
times_end
integer
added in 1.15.0 of t_systems_mms.icinga_director
Last notification.
When the last notification should be sent.
types
list / elements=string
The state transition types you want to get notifications for.
url
string / required
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_proxy
boolean
    Choices:
  • no
  • yes ←
If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.
user_groups
list / elements=string
added in 1.16.0 of t_systems_mms.icinga_director
User Groups that should be notified by this notification.
users
list / elements=string
Users that should be notified by this notification.
validate_certs
boolean
    Choices:
  • no
  • yes ←
If no, SSL certificates will not be validated.
This should only be used on personally controlled sites using self-signed certificates.
vars
dictionary
added in 1.9.0 of t_systems_mms.icinga_director
Custom properties of the notification.

Notes

Note

  • This module supports check mode.

Examples

- name: Create notification
  t_systems_mms.icinga_director.icinga_notification:
    state: present
    url: "{{ icinga_url }}"
    url_username: "{{ icinga_user }}"
    url_password: "{{ icinga_pass }}"
    apply_to: host
    assign_filter: 'host.name="foohost"'
    imports:
      - foonotificationtemplate
    notification_interval: '0'
    object_name: E-Mail_host
    states:
      - Up
      - Down
    types:
      - Problem
      - Recovery
    users:
      - rb
    user_groups:
      - OnCall
    disabled: false
    vars:
      foo: bar
    time_period: "24/7"
    times_begin: 20
    times_end: 120

Authors

  • Sebastian Gumprich (@rndmh3ro) / Sebastian Gruber (sgruber94)