diff --git a/REFERENCE.md b/REFERENCE.md
index 8366048e..61a60149 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -49,12 +49,16 @@ start on boot and will be restarted if stopped.
* [`icinga2::object::apiuser`](#icinga2objectapiuser): Manage Icinga 2 ApiUser objects.
* [`icinga2::object::checkcommand`](#icinga2objectcheckcommand): Manage Icinga 2 Host objects.
* [`icinga2::object::checkresultreader`](#icinga2objectcheckresultreader): Manage Icinga 2 CheckResultReader objects.
+* [`icinga2::object::dependency`](#icinga2objectdependency): Manage Icinga 2 dependency objects.
* [`icinga2::object::endpoint`](#icinga2objectendpoint): Manage Icinga 2 endpoint objects.
* [`icinga2::object::eventcommand`](#icinga2objecteventcommand): Manage Icinga 2 EventCommand objects.
* [`icinga2::object::host`](#icinga2objecthost): Manage Icinga 2 Host objects.
* [`icinga2::object::hostgroup`](#icinga2objecthostgroup): Manage Icinga 2 HostGroup objects.
* [`icinga2::object::icingaapplication`](#icinga2objecticingaapplication)
+* [`icinga2::object::notification`](#icinga2objectnotification): Manage Icinga 2 notification objects.
* [`icinga2::object::notificationcommand`](#icinga2objectnotificationcommand): Manage Icinga 2 notificationcommand objects.
+* [`icinga2::object::scheduleddowntime`](#icinga2objectscheduleddowntime): Manage Icinga 2 scheduleddowntime objects.
+* [`icinga2::object::service`](#icinga2objectservice): Manage Icinga 2 service objects.
* [`icinga2::object::servicegroup`](#icinga2objectservicegroup): Manage Icinga 2 servicegroup objects.
* [`icinga2::object::timeperiod`](#icinga2objecttimeperiod): Manage Icinga 2 timeperiod objects.
* [`icinga2::object::user`](#icinga2objectuser): Manage Icinga 2 user objects.
@@ -85,7 +89,7 @@ start on boot and will be restarted if stopped.
## Classes
-### `icinga2`
+### `icinga2`
This module installs and configures Icinga 2.
@@ -190,9 +194,23 @@ class { 'icinga2':
#### Parameters
-The following parameters are available in the `icinga2` class.
+The following parameters are available in the `icinga2` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`enable`](#enable)
+* [`manage_repo`](#manage_repo)
+* [`manage_repos`](#manage_repos)
+* [`manage_package`](#manage_package)
+* [`manage_packages`](#manage_packages)
+* [`manage_selinux`](#manage_selinux)
+* [`manage_service`](#manage_service)
+* [`features`](#features)
+* [`purge_features`](#purge_features)
+* [`constants`](#constants)
+* [`plugins`](#plugins)
+* [`confd`](#confd)
+
+##### `ensure`
Data type: `Stdlib::Ensure::Service`
@@ -200,7 +218,7 @@ Manages if the service should be stopped or running.
Default value: `running`
-##### `enable`
+##### `enable`
Data type: `Boolean`
@@ -208,7 +226,7 @@ If set to true the Icinga 2 service will start on boot.
Default value: ``true``
-##### `manage_repo`
+##### `manage_repo`
Data type: `Boolean`
@@ -216,7 +234,7 @@ Deprecated, use manage_repos.
Default value: ``false``
-##### `manage_repos`
+##### `manage_repos`
Data type: `Boolean`
@@ -226,7 +244,7 @@ For more information, see http://github.com/icinga/puppet-icinga.
Default value: ``false``
-##### `manage_package`
+##### `manage_package`
Data type: `Boolean`
@@ -234,7 +252,7 @@ Deprecated, use manage_packages.
Default value: ``false``
-##### `manage_packages`
+##### `manage_packages`
Data type: `Boolean`
@@ -242,7 +260,7 @@ If set to false packages aren't managed.
Default value: ``true``
-##### `manage_selinux`
+##### `manage_selinux`
Data type: `Boolean`
@@ -251,7 +269,7 @@ and `manage_packages` has to be set to true.
Default value: ``false``
-##### `manage_service`
+##### `manage_service`
Data type: `Boolean`
@@ -260,13 +278,13 @@ isn't restarted if a config file changed.
Default value: ``true``
-##### `features`
+##### `features`
Data type: `Array`
List of features to activate. Defaults to [checker, mainlog, notification].
-##### `purge_features`
+##### `purge_features`
Data type: `Boolean`
@@ -274,7 +292,7 @@ Define if configuration files for features not managed by Puppet should be purge
Default value: ``true``
-##### `constants`
+##### `constants`
Data type: `Hash`
@@ -282,13 +300,13 @@ Hash of constants. Defaults are set in the params class. Your settings will be m
Default value: `{}`
-##### `plugins`
+##### `plugins`
Data type: `Array`
A list of the ITL plugins to load. Defaults to [ 'plugins', 'plugins-contrib', 'windows-plugins', 'nscp' ].
-##### `confd`
+##### `confd`
Data type: `Variant[Boolean, String]`
@@ -299,7 +317,7 @@ with tag icinga2::config::file.
Default value: ``true``
-### `icinga2::feature::api`
+### `icinga2::feature::api`
Configures the Icinga 2 feature api.
@@ -369,9 +387,37 @@ file { '/var/lib/icinga2/ca/ca.key':
#### Parameters
-The following parameters are available in the `icinga2::feature::api` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::api` class:
+
+* [`ensure`](#ensure)
+* [`pki`](#pki)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`ssl_crl`](#ssl_crl)
+* [`accept_config`](#accept_config)
+* [`accept_commands`](#accept_commands)
+* [`max_anonymous_clients`](#max_anonymous_clients)
+* [`ca_host`](#ca_host)
+* [`ca_port`](#ca_port)
+* [`fingerprint`](#fingerprint)
+* [`ticket_salt`](#ticket_salt)
+* [`ticket_id`](#ticket_id)
+* [`endpoints`](#endpoints)
+* [`zones`](#zones)
+* [`ssl_protocolmin`](#ssl_protocolmin)
+* [`ssl_handshake_timeout`](#ssl_handshake_timeout)
+* [`connect_timeout`](#connect_timeout)
+* [`ssl_cipher_list`](#ssl_cipher_list)
+* [`bind_host`](#bind_host)
+* [`bind_port`](#bind_port)
+* [`access_control_allow_origin`](#access_control_allow_origin)
+* [`access_control_allow_credentials`](#access_control_allow_credentials)
+* [`access_control_allow_headers`](#access_control_allow_headers)
+* [`access_control_allow_methods`](#access_control_allow_methods)
+* [`environment`](#environment)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -379,7 +425,7 @@ Set to present enables the feature api, absent disabled it.
Default value: `present`
-##### `pki`
+##### `pki`
Data type: `Enum['ca', 'icinga2', 'none', 'puppet']`
@@ -398,7 +444,7 @@ Provides multiple sources for the certificate, key and ca.
Default value: `'icinga2'`
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -407,7 +453,7 @@ requires pki to be set to 'none'.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -416,7 +462,7 @@ The certificate in a base64 encoded string to store in cert directory This param
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -425,7 +471,7 @@ requires pki to be set to 'none'.
Default value: ``undef``
-##### `ssl_crl`
+##### `ssl_crl`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -433,7 +479,7 @@ Optional location of the certificate revocation list.
Default value: ``undef``
-##### `accept_config`
+##### `accept_config`
Data type: `Optional[Boolean]`
@@ -441,7 +487,7 @@ Accept zone configuration.
Default value: ``undef``
-##### `accept_commands`
+##### `accept_commands`
Data type: `Optional[Boolean]`
@@ -449,7 +495,7 @@ Accept remote commands.
Default value: ``undef``
-##### `max_anonymous_clients`
+##### `max_anonymous_clients`
Data type: `Optional[Integer[0]]`
@@ -457,7 +503,7 @@ Limit the number of anonymous client connections (not configured endpoints and s
Default value: ``undef``
-##### `ca_host`
+##### `ca_host`
Data type: `Optional[Stdlib::Host]`
@@ -465,7 +511,7 @@ This host will be connected to request the certificate. Set this if you use the
Default value: ``undef``
-##### `ca_port`
+##### `ca_port`
Data type: `Stdlib::Port::Unprivileged`
@@ -473,7 +519,7 @@ Port of the 'ca_host'.
Default value: `5665`
-##### `fingerprint`
+##### `fingerprint`
Data type: `Optional[Icinga2::Fingerprint]`
@@ -483,19 +529,17 @@ on your CA host. (Icinga2 versions before 2.12.0 require '-sha1' as digest algor
Default value: ``undef``
-##### `Variant`
+##### `ticket_salt`
-Data type: `[String, Sensitive[String]] ticket_salt
-Salt to use for ticket generation. The salt is stored to api.conf if none or ca is chosen for pki.
-Defaults to constant TicketSalt. Keep in mind this parameter is parsed so please use only alpha numric
-characters as salt or a constant.`
+Data type: `Variant[String, Sensitive[String]]`
-ariant[[String, Sensitive[String]] ticket_salt
Salt to use for ticket generation. The salt is stored to api.conf if none or ca is chosen for pki.
Defaults to constant TicketSalt. Keep in mind this parameter is parsed so please use only alpha numric
characters as salt or a constant.
-##### `ticket_id`
+Default value: `'TicketSalt'`
+
+##### `ticket_id`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -505,7 +549,7 @@ in case the pki is set to 'icinga2'.
Default value: ``undef``
-##### `endpoints`
+##### `endpoints`
Data type: `Hash[String, Hash]`
@@ -513,7 +557,7 @@ Hash to configure endpoint objects. `NodeName` is a icnga2 constant.
Default value: `{ 'NodeName' => {} }`
-##### `zones`
+##### `zones`
Data type: `Hash[String, Hash]`
@@ -521,15 +565,15 @@ Hash to configure zone objects. `ZoneName` and `NodeName` are icinga2 constants.
Default value: `{ 'ZoneName' => { endpoints => [ 'NodeName' ] } }`
-##### `ssl_protocolmin`
+##### `ssl_protocolmin`
-Data type: `Optional[Enum['TLSv1', 'TLSv1.1', 'TLSv1.2']]`
+Data type: `Optional[Enum['TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3']]`
Minimal TLS version to require.
Default value: ``undef``
-##### `ssl_handshake_timeout`
+##### `ssl_handshake_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -537,7 +581,7 @@ TLS Handshake timeout.
Default value: ``undef``
-##### `connect_timeout`
+##### `connect_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -545,7 +589,7 @@ Timeout for establishing new connections.
Default value: ``undef``
-##### `ssl_cipher_list`
+##### `ssl_cipher_list`
Data type: `Optional[String]`
@@ -553,7 +597,7 @@ List of allowed TLS ciphers, to finetune encryption.
Default value: ``undef``
-##### `bind_host`
+##### `bind_host`
Data type: `Optional[Stdlib::Host]`
@@ -561,7 +605,7 @@ The IP address the api listener will be bound to.
Default value: ``undef``
-##### `bind_port`
+##### `bind_port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -569,7 +613,7 @@ The port the api listener will be bound to.
Default value: ``undef``
-##### `access_control_allow_origin`
+##### `access_control_allow_origin`
Data type: `Optional[Array[String]]`
@@ -577,7 +621,7 @@ Specifies an array of origin URLs that may access the API.
Default value: ``undef``
-##### `access_control_allow_credentials`
+##### `access_control_allow_credentials`
Data type: `Optional[Boolean]`
@@ -585,7 +629,7 @@ Indicates whether or not the actual request can be made using credentials.
Default value: ``undef``
-##### `access_control_allow_headers`
+##### `access_control_allow_headers`
Data type: `Optional[String]`
@@ -593,7 +637,7 @@ Used in response to a preflight request to indicate which HTTP headers can be us
Default value: ``undef``
-##### `access_control_allow_methods`
+##### `access_control_allow_methods`
Data type: `Optional[Array[Enum['GET', 'POST', 'PUT', 'DELETE']]]`
@@ -601,7 +645,7 @@ Used in response to a preflight request to indicate which HTTP methods can be us
Default value: ``undef``
-##### `environment`
+##### `environment`
Data type: `Optional[String]`
@@ -609,15 +653,7 @@ Used as suffix in TLS SNI extension name; default from constant ApiEnvironment,
Default value: ``undef``
-##### `ticket_salt`
-
-Data type: `Variant[String, Sensitive[String]]`
-
-
-
-Default value: `'TicketSalt'`
-
-### `icinga2::feature::checker`
+### `icinga2::feature::checker`
Configures the Icinga 2 feature checker.
@@ -626,9 +662,12 @@ MaxConcurrentChecks which will be set if you still use concurrent_checks.
#### Parameters
-The following parameters are available in the `icinga2::feature::checker` class.
+The following parameters are available in the `icinga2::feature::checker` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`concurrent_checks`](#concurrent_checks)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -636,7 +675,7 @@ Set to present enables the feature checker, absent disabled it.
Default value: `present`
-##### `concurrent_checks`
+##### `concurrent_checks`
Data type: `Optional[Integer[1]]`
@@ -644,15 +683,18 @@ The maximum number of concurrent checks.
Default value: ``undef``
-### `icinga2::feature::command`
+### `icinga2::feature::command`
Configures the Icinga 2 feature command.
#### Parameters
-The following parameters are available in the `icinga2::feature::command` class.
+The following parameters are available in the `icinga2::feature::command` class:
+
+* [`ensure`](#ensure)
+* [`command_path`](#command_path)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -660,7 +702,7 @@ Set to present to enable the feature command, absent to disabled it.
Default value: `present`
-##### `command_path`
+##### `command_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -668,15 +710,19 @@ Absolute path to the command pipe.
Default value: ``undef``
-### `icinga2::feature::compatlog`
+### `icinga2::feature::compatlog`
Configures the Icinga 2 feature compatlog.
#### Parameters
-The following parameters are available in the `icinga2::feature::compatlog` class.
+The following parameters are available in the `icinga2::feature::compatlog` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`log_dir`](#log_dir)
+* [`rotation_method`](#rotation_method)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -684,7 +730,7 @@ Set to present enables the feature compatlog, absent disabled it.
Default value: `present`
-##### `log_dir`
+##### `log_dir`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -692,7 +738,7 @@ Absolute path to the log directory.
Default value: ``undef``
-##### `rotation_method`
+##### `rotation_method`
Data type: `Optional[Enum['DAILY', 'HOURLY', 'MONTHLY', 'WEEKLY']]`
@@ -700,15 +746,18 @@ Sets how often should the log file be rotated.
Default value: ``undef``
-### `icinga2::feature::debuglog`
+### `icinga2::feature::debuglog`
Configures the Icinga 2 feature mainlog.
#### Parameters
-The following parameters are available in the `icinga2::feature::debuglog` class.
+The following parameters are available in the `icinga2::feature::debuglog` class:
+
+* [`ensure`](#ensure)
+* [`path`](#path)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -716,7 +765,7 @@ Set to present enables the feature mainlog, absent disables it.
Default value: `present`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -724,7 +773,7 @@ Absolute path to the log file.
Default value: `"${::icinga2::globals::log_dir}/debug.log"`
-### `icinga2::feature::elasticsearch`
+### `icinga2::feature::elasticsearch`
Configures the Icinga 2 feature elasticsearch.
@@ -741,9 +790,28 @@ class { 'icinga2::feature::elasticsearch':
#### Parameters
-The following parameters are available in the `icinga2::feature::elasticsearch` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::elasticsearch` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`index`](#index)
+* [`username`](#username)
+* [`password`](#password)
+* [`enable_ssl`](#enable_ssl)
+* [`ssl_noverify`](#ssl_noverify)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`enable_send_perfdata`](#enable_send_perfdata)
+* [`flush_interval`](#flush_interval)
+* [`flush_threshold`](#flush_threshold)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -751,7 +819,7 @@ Set to present enables the feature elasticsearch, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -759,7 +827,7 @@ Elasticsearch host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -767,7 +835,7 @@ Elasticsearch HTTP port.
Default value: ``undef``
-##### `index`
+##### `index`
Data type: `Optional[String]`
@@ -775,7 +843,7 @@ Elasticsearch index name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -783,7 +851,7 @@ Elasticsearch user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -791,7 +859,7 @@ Elasticsearch user password. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -799,7 +867,7 @@ Either enable or disable SSL. Other SSL parameters are only affected if this is
Default value: ``undef``
-##### `ssl_noverify`
+##### `ssl_noverify`
Data type: `Optional[Boolean]`
@@ -807,7 +875,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -815,7 +883,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -823,7 +891,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -831,7 +899,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -839,7 +907,7 @@ The private key in a base64 encoded string to store in spicified ssl_key_path fi
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -847,7 +915,7 @@ The certificate in a base64 encoded to store in spicified ssl_cert_path file.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -855,7 +923,7 @@ The CA root certificate in a base64 encoded string to store in spicified ssl_cac
Default value: ``undef``
-##### `enable_send_perfdata`
+##### `enable_send_perfdata`
Data type: `Optional[Boolean]`
@@ -863,7 +931,7 @@ Whether to send check performance data metrics.
Default value: ``undef``
-##### `flush_interval`
+##### `flush_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -871,7 +939,7 @@ How long to buffer data points before transferring to Elasticsearch.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer]`
@@ -879,7 +947,7 @@ How many data points to buffer before forcing a transfer to Elasticsearch.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -887,15 +955,30 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::gelf`
+### `icinga2::feature::gelf`
Configures the Icinga 2 feature gelf.
#### Parameters
-The following parameters are available in the `icinga2::feature::gelf` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::gelf` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`source`](#source)
+* [`enable_ssl`](#enable_ssl)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`ssl_noverify`](#ssl_noverify)
+* [`enable_send_perfdata`](#enable_send_perfdata)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -903,7 +986,7 @@ Set to present enables the feature gelf, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -911,7 +994,7 @@ GELF receiver host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -919,7 +1002,7 @@ GELF receiver port.
Default value: ``undef``
-##### `source`
+##### `source`
Data type: `Optional[String]`
@@ -927,7 +1010,7 @@ Source name for this instance.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Boolean`
@@ -935,7 +1018,7 @@ Either enable or disable SSL/TLS. Other SSL parameters are only affected if this
Default value: ``false``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -943,7 +1026,7 @@ Location of the private key. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -951,7 +1034,7 @@ Location of the certificate. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -959,7 +1042,7 @@ Location of the CA certificate. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -968,7 +1051,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -977,7 +1060,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -986,7 +1069,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_noverify`
+##### `ssl_noverify`
Data type: `Optional[Boolean]`
@@ -994,7 +1077,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `enable_send_perfdata`
+##### `enable_send_perfdata`
Data type: `Optional[Boolean]`
@@ -1002,7 +1085,7 @@ Enable performance data for 'CHECK RESULT' events.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1010,7 +1093,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::graphite`
+### `icinga2::feature::graphite`
Configures the Icinga 2 feature graphite.
@@ -1029,9 +1112,18 @@ class { '::icinga2::feature::graphite':
#### Parameters
-The following parameters are available in the `icinga2::feature::graphite` class.
+The following parameters are available in the `icinga2::feature::graphite` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`host_name_template`](#host_name_template)
+* [`service_name_template`](#service_name_template)
+* [`enable_send_thresholds`](#enable_send_thresholds)
+* [`enable_send_metadata`](#enable_send_metadata)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1039,7 +1131,7 @@ Set to present enables the feature graphite, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1047,7 +1139,7 @@ Graphite Carbon host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1055,7 +1147,7 @@ Graphite Carbon port.
Default value: ``undef``
-##### `host_name_template`
+##### `host_name_template`
Data type: `Optional[String]`
@@ -1063,7 +1155,7 @@ Template for metric path of hosts.
Default value: ``undef``
-##### `service_name_template`
+##### `service_name_template`
Data type: `Optional[String]`
@@ -1071,7 +1163,7 @@ Template for metric path of services.
Default value: ``undef``
-##### `enable_send_thresholds`
+##### `enable_send_thresholds`
Data type: `Optional[Boolean]`
@@ -1079,7 +1171,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -1087,7 +1179,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1095,15 +1187,22 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::icingadb`
+### `icinga2::feature::icingadb`
Configures the Icinga 2 feature icingadb.
#### Parameters
-The following parameters are available in the `icinga2::feature::icingadb` class.
+The following parameters are available in the `icinga2::feature::icingadb` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`socket_path`](#socket_path)
+* [`connect_timeout`](#connect_timeout)
+* [`password`](#password)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1111,7 +1210,7 @@ Set to present, enables the feature icingadb, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1119,7 +1218,7 @@ IcingaDB Redis host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1127,7 +1226,7 @@ IcingaDB Redis port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1135,7 +1234,7 @@ IcingaDB Redis unix sockt. Can be used instead of host and port attributes.
Default value: ``undef``
-##### `connect_timeout`
+##### `connect_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -1143,7 +1242,7 @@ Timeout for establishing new connections.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -1151,7 +1250,7 @@ IcingaDB Redis password. The password parameter isn't parsed anymore.
Default value: ``undef``
-### `icinga2::feature::idomysql`
+### `icinga2::feature::idomysql`
Installs and configures the Icinga 2 feature ido-mysql.
@@ -1180,9 +1279,34 @@ class{ 'icinga2::feature::idomysql':
#### Parameters
-The following parameters are available in the `icinga2::feature::idomysql` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::idomysql` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`socket_path`](#socket_path)
+* [`user`](#user)
+* [`password`](#password)
+* [`database`](#database)
+* [`enable_ssl`](#enable_ssl)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`ssl_capath`](#ssl_capath)
+* [`ssl_cipher`](#ssl_cipher)
+* [`table_prefix`](#table_prefix)
+* [`instance_name`](#instance_name)
+* [`instance_description`](#instance_description)
+* [`enable_ha`](#enable_ha)
+* [`failover_timeout`](#failover_timeout)
+* [`cleanup`](#cleanup)
+* [`categories`](#categories)
+* [`import_schema`](#import_schema)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1190,7 +1314,7 @@ Set to present enables the feature ido-mysql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1198,7 +1322,7 @@ MySQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1206,7 +1330,7 @@ MySQL database port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1214,7 +1338,7 @@ MySQL socket path.
Default value: ``undef``
-##### `user`
+##### `user`
Data type: `String`
@@ -1222,13 +1346,13 @@ MySQL database user with read/write permission to the icinga database.
Default value: `'icinga'`
-##### `password`
+##### `password`
Data type: `Variant[String, Sensitive[String]]`
MySQL database user's password. The password parameter isn't parsed anymore.
-##### `database`
+##### `database`
Data type: `String`
@@ -1236,7 +1360,7 @@ MySQL database name.
Default value: `'icinga'`
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Boolean`
@@ -1244,7 +1368,7 @@ Either enable or disable SSL/TLS. Other SSL parameters are only affected if this
Default value: ``false``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1252,7 +1376,7 @@ Location of the private key. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1260,7 +1384,7 @@ Location of the certificate. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1268,7 +1392,7 @@ Location of the CA certificate. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1277,7 +1401,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1286,7 +1410,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1295,7 +1419,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_capath`
+##### `ssl_capath`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1303,7 +1427,7 @@ MySQL SSL trusted SSL CA certificates in PEM format directory path. Only valid i
Default value: ``undef``
-##### `ssl_cipher`
+##### `ssl_cipher`
Data type: `Optional[String]`
@@ -1311,7 +1435,7 @@ MySQL SSL list of allowed ciphers. Only valid if ssl is enabled.
Default value: ``undef``
-##### `table_prefix`
+##### `table_prefix`
Data type: `Optional[String]`
@@ -1319,7 +1443,7 @@ MySQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1327,7 +1451,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1335,7 +1459,7 @@ Description for the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1343,7 +1467,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-##### `failover_timeout`
+##### `failover_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -1351,7 +1475,7 @@ Set the failover timeout in a HA cluster. Must not be lower than 60s.
Default value: ``undef``
-##### `cleanup`
+##### `cleanup`
Data type: `Optional[Icinga2::IdoCleanup]`
@@ -1359,7 +1483,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1367,7 +1491,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1375,7 +1499,7 @@ Whether to import the MySQL schema or not.
Default value: ``false``
-### `icinga2::feature::idopgsql`
+### `icinga2::feature::idopgsql`
Installs and configures the Icinga 2 feature ido-pgsql.
@@ -1403,9 +1527,31 @@ class{ 'icinga2::feature::idopgsql':
#### Parameters
-The following parameters are available in the `icinga2::feature::idopgsql` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::idopgsql` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`user`](#user)
+* [`password`](#password)
+* [`database`](#database)
+* [`ssl_mode`](#ssl_mode)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`table_prefix`](#table_prefix)
+* [`instance_name`](#instance_name)
+* [`instance_description`](#instance_description)
+* [`enable_ha`](#enable_ha)
+* [`failover_timeout`](#failover_timeout)
+* [`cleanup`](#cleanup)
+* [`categories`](#categories)
+* [`import_schema`](#import_schema)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1413,7 +1559,7 @@ Set to present enables the feature ido-pgsql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1421,7 +1567,7 @@ PostgreSQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Stdlib::Port::Unprivileged`
@@ -1429,7 +1575,7 @@ PostgreSQL database port.
Default value: `5432`
-##### `user`
+##### `user`
Data type: `String`
@@ -1437,13 +1583,13 @@ PostgreSQL database user with read/write permission to the icinga database.
Default value: `'icinga'`
-##### `password`
+##### `password`
Data type: `Variant[String, Sensitive[String]]`
PostgreSQL database user's password. The password parameter isn't parsed anymore.
-##### `database`
+##### `database`
Data type: `String`
@@ -1451,7 +1597,7 @@ PostgreSQL database name.
Default value: `'icinga'`
-##### `ssl_mode`
+##### `ssl_mode`
Data type: `Optional[Enum['disable', 'allow',
'prefer', 'verify-full',
@@ -1461,7 +1607,7 @@ Enable SSL connection mode.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1469,7 +1615,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1477,7 +1623,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1485,7 +1631,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1493,7 +1639,7 @@ The private key in a base64 encoded string to store in spicified ssl_key_path fi
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1501,7 +1647,7 @@ The certificate in a base64 encoded string to store in spicified ssl_cert_path f
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1509,7 +1655,7 @@ The CA root certificate in a base64 encoded string to store in spicified ssl_cac
Default value: ``undef``
-##### `table_prefix`
+##### `table_prefix`
Data type: `Optional[String]`
@@ -1517,7 +1663,7 @@ PostgreSQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1525,7 +1671,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1533,7 +1679,7 @@ Description of the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1541,7 +1687,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-##### `failover_timeout`
+##### `failover_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -1549,7 +1695,7 @@ Set the failover timeout in a HA cluster. Must not be lower than 60s.
Default value: ``undef``
-##### `cleanup`
+##### `cleanup`
Data type: `Optional[Icinga2::IdoCleanup]`
@@ -1557,7 +1703,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1565,7 +1711,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1573,7 +1719,7 @@ Whether to import the PostgreSQL schema or not.
Default value: ``false``
-### `icinga2::feature::influxdb`
+### `icinga2::feature::influxdb`
Configures the Icinga 2 feature influxdb.
@@ -1592,9 +1738,34 @@ class { 'icinga2::feature::influxdb':
#### Parameters
-The following parameters are available in the `icinga2::feature::influxdb` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::influxdb` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`database`](#database)
+* [`username`](#username)
+* [`password`](#password)
+* [`basic_auth`](#basic_auth)
+* [`enable_ssl`](#enable_ssl)
+* [`ssl_noverify`](#ssl_noverify)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`host_measurement`](#host_measurement)
+* [`host_tags`](#host_tags)
+* [`service_measurement`](#service_measurement)
+* [`service_tags`](#service_tags)
+* [`enable_send_thresholds`](#enable_send_thresholds)
+* [`enable_send_metadata`](#enable_send_metadata)
+* [`flush_interval`](#flush_interval)
+* [`flush_threshold`](#flush_threshold)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1602,7 +1773,7 @@ Set to present enables the feature influxdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1610,7 +1781,7 @@ InfluxDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port]`
@@ -1618,7 +1789,7 @@ InfluxDB HTTP port.
Default value: ``undef``
-##### `database`
+##### `database`
Data type: `Optional[String]`
@@ -1626,7 +1797,7 @@ InfluxDB database name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -1634,7 +1805,7 @@ InfluxDB user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -1642,7 +1813,7 @@ InfluxDB user password. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `basic_auth`
+##### `basic_auth`
Data type: `Optional[Icinga2::BasicAuth]`
@@ -1650,7 +1821,7 @@ Username and password for HTTP basic authentication.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -1658,7 +1829,7 @@ Either enable or disable SSL. Other SSL parameters are only affected if this is
Default value: ``undef``
-##### `ssl_noverify`
+##### `ssl_noverify`
Data type: `Optional[Boolean]`
@@ -1666,7 +1837,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1674,7 +1845,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1682,7 +1853,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1690,7 +1861,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1698,7 +1869,7 @@ The private key in a base64 encoded string to store in ssl_key_path file.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1706,7 +1877,7 @@ The certificate in a base64 encoded string to store in ssl_cert_path file.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1714,7 +1885,7 @@ The CA root certificate in a base64 encoded to store in ssl_cacert_path file.
Default value: ``undef``
-##### `host_measurement`
+##### `host_measurement`
Data type: `String`
@@ -1722,7 +1893,7 @@ The value of this is used for the measurement setting in host_template.
Default value: `'$host.check_command$'`
-##### `host_tags`
+##### `host_tags`
Data type: `Hash`
@@ -1730,7 +1901,7 @@ Tags defined in this hash will be set in the host_template.
Default value: `{ hostname => '$host.name$' }`
-##### `service_measurement`
+##### `service_measurement`
Data type: `String`
@@ -1738,7 +1909,7 @@ The value of this is used for the measurement setting in host_template.
Default value: `'$service.check_command$'`
-##### `service_tags`
+##### `service_tags`
Data type: `Hash`
@@ -1746,7 +1917,7 @@ Tags defined in this hash will be set in the service_template.
Default value: `{ hostname => '$host.name$', service => '$service.name$' }`
-##### `enable_send_thresholds`
+##### `enable_send_thresholds`
Data type: `Optional[Boolean]`
@@ -1754,7 +1925,7 @@ Whether to send warn, crit, min & max tagged data.
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -1762,7 +1933,7 @@ Whether to send check metadata e.g. states, execution time, latency etc.
Default value: ``undef``
-##### `flush_interval`
+##### `flush_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -1770,7 +1941,7 @@ How long to buffer data points before transfering to InfluxDB.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer[1]]`
@@ -1778,7 +1949,7 @@ How many data points to buffer before forcing a transfer to InfluxDB.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1786,7 +1957,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::influxdb2`
+### `icinga2::feature::influxdb2`
Configures the Icinga 2 feature influxdb2.
@@ -1805,9 +1976,33 @@ class { 'icinga2::feature::influxdb2':
#### Parameters
-The following parameters are available in the `icinga2::feature::influxdb2` class.
-
-##### `ensure`
+The following parameters are available in the `icinga2::feature::influxdb2` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`organization`](#organization)
+* [`bucket`](#bucket)
+* [`auth_token`](#auth_token)
+* [`enable_ssl`](#enable_ssl)
+* [`ssl_noverify`](#ssl_noverify)
+* [`ssl_key_path`](#ssl_key_path)
+* [`ssl_cert_path`](#ssl_cert_path)
+* [`ssl_cacert_path`](#ssl_cacert_path)
+* [`ssl_key`](#ssl_key)
+* [`ssl_cert`](#ssl_cert)
+* [`ssl_cacert`](#ssl_cacert)
+* [`host_measurement`](#host_measurement)
+* [`host_tags`](#host_tags)
+* [`service_measurement`](#service_measurement)
+* [`service_tags`](#service_tags)
+* [`enable_send_thresholds`](#enable_send_thresholds)
+* [`enable_send_metadata`](#enable_send_metadata)
+* [`flush_interval`](#flush_interval)
+* [`flush_threshold`](#flush_threshold)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1815,7 +2010,7 @@ Set to present enables the feature influxdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1823,7 +2018,7 @@ InfluxDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port]`
@@ -1831,25 +2026,25 @@ InfluxDB HTTP port.
Default value: ``undef``
-##### `organization`
+##### `organization`
Data type: `String`
InfluxDB organization name.
-##### `bucket`
+##### `bucket`
Data type: `String`
InfluxDB bucket name.
-##### `auth_token`
+##### `auth_token`
Data type: `Variant[String, Sensitive[String]]`
InfluxDB authentication token.
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -1857,7 +2052,7 @@ Either enable or disable SSL. Other SSL parameters are only affected if this is
Default value: ``undef``
-##### `ssl_noverify`
+##### `ssl_noverify`
Data type: `Optional[Boolean]`
@@ -1865,7 +2060,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1873,7 +2068,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1881,7 +2076,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1889,7 +2084,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1897,7 +2092,7 @@ The private key in a base64 encoded string to store in ssl_key_path file.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1905,7 +2100,7 @@ The certificate in a base64 encoded string to store in ssl_cert_path file.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1913,7 +2108,7 @@ The CA root certificate in a base64 encoded to store in ssl_cacert_path file.
Default value: ``undef``
-##### `host_measurement`
+##### `host_measurement`
Data type: `String`
@@ -1921,7 +2116,7 @@ The value of this is used for the measurement setting in host_template.
Default value: `'$host.check_command$'`
-##### `host_tags`
+##### `host_tags`
Data type: `Hash`
@@ -1929,7 +2124,7 @@ Tags defined in this hash will be set in the host_template.
Default value: `{ hostname => '$host.name$' }`
-##### `service_measurement`
+##### `service_measurement`
Data type: `String`
@@ -1937,7 +2132,7 @@ The value of this is used for the measurement setting in host_template.
Default value: `'$service.check_command$'`
-##### `service_tags`
+##### `service_tags`
Data type: `Hash`
@@ -1945,7 +2140,7 @@ Tags defined in this hash will be set in the service_template.
Default value: `{ hostname => '$host.name$', service => '$service.name$' }`
-##### `enable_send_thresholds`
+##### `enable_send_thresholds`
Data type: `Optional[Boolean]`
@@ -1953,7 +2148,7 @@ Whether to send warn, crit, min & max tagged data.
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -1961,7 +2156,7 @@ Whether to send check metadata e.g. states, execution time, latency etc.
Default value: ``undef``
-##### `flush_interval`
+##### `flush_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -1969,7 +2164,7 @@ How long to buffer data points before transfering to InfluxDB.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer[1]]`
@@ -1977,7 +2172,7 @@ How many data points to buffer before forcing a transfer to InfluxDB.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1985,15 +2180,22 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::livestatus`
+### `icinga2::feature::livestatus`
Configures the Icinga 2 feature livestatus.
#### Parameters
-The following parameters are available in the `icinga2::feature::livestatus` class.
+The following parameters are available in the `icinga2::feature::livestatus` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`socket_type`](#socket_type)
+* [`bind_host`](#bind_host)
+* [`bind_port`](#bind_port)
+* [`socket_path`](#socket_path)
+* [`compat_log_path`](#compat_log_path)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2001,7 +2203,7 @@ Set to present enables the feature livestatus, absent disables it.
Default value: `present`
-##### `socket_type`
+##### `socket_type`
Data type: `Optional[Enum['tcp', 'unix']]`
@@ -2009,7 +2211,7 @@ Specifies the socket type. Can be either 'tcp' or 'unix'.
Default value: ``undef``
-##### `bind_host`
+##### `bind_host`
Data type: `Optional[Stdlib::Host]`
@@ -2017,7 +2219,7 @@ IP address to listen for connections. Only valid when socket_type is 'tcp'.
Default value: ``undef``
-##### `bind_port`
+##### `bind_port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2025,7 +2227,7 @@ Port to listen for connections. Only valid when socket_type is 'tcp'.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2033,7 +2235,7 @@ Specifies the path to the UNIX socket file. Only valid when socket_type is 'unix
Default value: ``undef``
-##### `compat_log_path`
+##### `compat_log_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2041,15 +2243,19 @@ Required for historical table queries. Requires CompatLogger feature to be enabl
Default value: ``undef``
-### `icinga2::feature::mainlog`
+### `icinga2::feature::mainlog`
Configures the Icinga 2 feature mainlog.
#### Parameters
-The following parameters are available in the `icinga2::feature::mainlog` class.
+The following parameters are available in the `icinga2::feature::mainlog` class:
+
+* [`ensure`](#ensure)
+* [`severity`](#severity)
+* [`path`](#path)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2057,7 +2263,7 @@ Set to 'present' enables the feature mainlog, 'absent' disabled it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2065,7 +2271,7 @@ You can set the log severity to 'information', 'notice', 'warning' or 'debug'.
Default value: `'information'`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -2073,15 +2279,18 @@ Absolute path to the log file.
Default value: `"${::icinga2::globals::log_dir}/icinga2.log"`
-### `icinga2::feature::notification`
+### `icinga2::feature::notification`
Configures the Icinga 2 feature notification.
#### Parameters
-The following parameters are available in the `icinga2::feature::notification` class.
+The following parameters are available in the `icinga2::feature::notification` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2089,7 +2298,7 @@ Set to present enables the feature notification, absent disabled it.
Default value: `present`
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2097,15 +2306,20 @@ Notifications are load-balanced amongst all nodes in a zone.
Default value: ``undef``
-### `icinga2::feature::opentsdb`
+### `icinga2::feature::opentsdb`
Configures the Icinga 2 feature opentsdb.
#### Parameters
-The following parameters are available in the `icinga2::feature::opentsdb` class.
+The following parameters are available in the `icinga2::feature::opentsdb` class:
+
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`enable_ha`](#enable_ha)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2113,7 +2327,7 @@ Set to present enables the feature opentsdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -2121,7 +2335,7 @@ OpenTSDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2129,7 +2343,7 @@ OpenTSDB port.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2137,15 +2351,25 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::perfdata`
+### `icinga2::feature::perfdata`
Configures the Icinga 2 feature perfdata.
#### Parameters
-The following parameters are available in the `icinga2::feature::perfdata` class.
+The following parameters are available in the `icinga2::feature::perfdata` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`host_perfdata_path`](#host_perfdata_path)
+* [`service_perfdata_path`](#service_perfdata_path)
+* [`host_temp_path`](#host_temp_path)
+* [`service_temp_path`](#service_temp_path)
+* [`host_format_template`](#host_format_template)
+* [`service_format_template`](#service_format_template)
+* [`rotation_interval`](#rotation_interval)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2153,7 +2377,7 @@ Set to present enables the feature perfdata, absent disables it.
Default value: `present`
-##### `host_perfdata_path`
+##### `host_perfdata_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2161,7 +2385,7 @@ Absolute path to the perfdata file for hosts.
Default value: ``undef``
-##### `service_perfdata_path`
+##### `service_perfdata_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2169,7 +2393,7 @@ Absolute path to the perfdata file for services.
Default value: ``undef``
-##### `host_temp_path`
+##### `host_temp_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2177,7 +2401,7 @@ Path to the temporary host file.
Default value: ``undef``
-##### `service_temp_path`
+##### `service_temp_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2185,7 +2409,7 @@ Path to the temporary service file.
Default value: ``undef``
-##### `host_format_template`
+##### `host_format_template`
Data type: `Optional[String]`
@@ -2193,7 +2417,7 @@ Host Format template for the performance data file.
Default value: ``undef``
-##### `service_format_template`
+##### `service_format_template`
Data type: `Optional[String]`
@@ -2201,7 +2425,7 @@ Service Format template for the performance data file.
Default value: ``undef``
-##### `rotation_interval`
+##### `rotation_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2210,7 +2434,7 @@ i.e. 1m or 15s.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2218,15 +2442,20 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-### `icinga2::feature::statusdata`
+### `icinga2::feature::statusdata`
Configures the Icinga 2 feature statusdata.
#### Parameters
-The following parameters are available in the `icinga2::feature::statusdata` class.
+The following parameters are available in the `icinga2::feature::statusdata` class:
+
+* [`ensure`](#ensure)
+* [`status_path`](#status_path)
+* [`objects_path`](#objects_path)
+* [`update_interval`](#update_interval)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2234,7 +2463,7 @@ Set to present enables the feature statusdata, absent disables it.
Default value: `present`
-##### `status_path`
+##### `status_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2242,7 +2471,7 @@ Absolute path to the status.dat file.
Default value: ``undef``
-##### `objects_path`
+##### `objects_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2250,7 +2479,7 @@ Absolute path to the object.cache file.
Default value: ``undef``
-##### `update_interval`
+##### `update_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2259,15 +2488,19 @@ it in minutes with the letter m or in seconds with s.
Default value: ``undef``
-### `icinga2::feature::syslog`
+### `icinga2::feature::syslog`
Configures the Icinga 2 feature syslog.
#### Parameters
-The following parameters are available in the `icinga2::feature::syslog` class.
+The following parameters are available in the `icinga2::feature::syslog` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`severity`](#severity)
+* [`facility`](#facility)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2275,7 +2508,7 @@ Set to present enables the feature syslog, absent disables it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2283,7 +2516,7 @@ You can choose the log severity between information, notice, warning or debug.
Default value: `'warning'`
-##### `facility`
+##### `facility`
Data type: `Optional[Icinga2::LogFacility]`
@@ -2292,15 +2525,18 @@ like FacilityDaemon.
Default value: ``undef``
-### `icinga2::feature::windowseventlog`
+### `icinga2::feature::windowseventlog`
Configures the Icinga 2 feature windowseventlog.
#### Parameters
-The following parameters are available in the `icinga2::feature::windowseventlog` class.
+The following parameters are available in the `icinga2::feature::windowseventlog` class:
+
+* [`ensure`](#ensure)
+* [`severity`](#severity)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2308,7 +2544,7 @@ Set to present enables the feature windowseventlog, absent disables it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2316,7 +2552,7 @@ You can choose the log severity between information, notice, warning or debug.
Default value: `'warning'`
-### `icinga2::pki::ca`
+### `icinga2::pki::ca`
This class provides multiple ways to create the CA used by Icinga 2.
@@ -2342,9 +2578,12 @@ class { 'icinga2::pki::ca':
#### Parameters
-The following parameters are available in the `icinga2::pki::ca` class.
+The following parameters are available in the `icinga2::pki::ca` class:
-##### `ca_cert`
+* [`ca_cert`](#ca_cert)
+* [`ca_key`](#ca_key)
+
+##### `ca_cert`
Data type: `Optional[String]`
@@ -2353,7 +2592,7 @@ Icinga 2 CLI.
Default value: ``undef``
-##### `ca_key`
+##### `ca_key`
Data type: `Optional[String]`
@@ -2363,7 +2602,7 @@ Default value: ``undef``
## Defined types
-### `icinga2::config::fragment`
+### `icinga2::config::fragment`
Set a code fragment in a target configuration file.
@@ -2398,22 +2637,27 @@ icinga2::config::fragment { 'load-function':
#### Parameters
-The following parameters are available in the `icinga2::config::fragment` defined type.
+The following parameters are available in the `icinga2::config::fragment` defined type:
+
+* [`content`](#content)
+* [`target`](#target)
+* [`order`](#order)
+* [`code_name`](#code_name)
-##### `content`
+##### `content`
Data type: `String`
Content to insert in file specified in target.
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this fragment. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2421,7 +2665,7 @@ String or integer to set the position in the target file, sorted in alpha numeri
Default value: `'00'`
-##### `code_name`
+##### `code_name`
Data type: `String`
@@ -2429,7 +2673,7 @@ Data type: `String`
Default value: `$title`
-### `icinga2::object::apiuser`
+### `icinga2::object::apiuser`
Manage Icinga 2 ApiUser objects.
@@ -2479,9 +2723,17 @@ Manage Icinga 2 ApiUser objects.
#### Parameters
-The following parameters are available in the `icinga2::object::apiuser` defined type.
+The following parameters are available in the `icinga2::object::apiuser` defined type:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`apiuser_name`](#apiuser_name)
+* [`password`](#password)
+* [`client_cn`](#client_cn)
+* [`permissions`](#permissions)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2489,7 +2741,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `apiuser_name`
+##### `apiuser_name`
Data type: `String`
@@ -2497,7 +2749,7 @@ Set the name of the apiuser object.
Default value: `$title`
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -2505,7 +2757,7 @@ Password string. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `client_cn`
+##### `client_cn`
Data type: `Optional[String]`
@@ -2513,7 +2765,7 @@ Optional. Client Common Name (CN).
Default value: ``undef``
-##### `permissions`
+##### `permissions`
Data type: `Optional[Array]`
@@ -2522,14 +2774,14 @@ and filter. The latter must be specified as function.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared at the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2537,15 +2789,27 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `30`
-### `icinga2::object::checkcommand`
+### `icinga2::object::checkcommand`
Manage Icinga 2 Host objects.
#### Parameters
-The following parameters are available in the `icinga2::object::checkcommand` defined type.
+The following parameters are available in the `icinga2::object::checkcommand` defined type:
+
+* [`ensure`](#ensure)
+* [`checkcommand_name`](#checkcommand_name)
+* [`import`](#import)
+* [`command`](#command)
+* [`env`](#env)
+* [`vars`](#vars)
+* [`timeout`](#timeout)
+* [`arguments`](#arguments)
+* [`target`](#target)
+* [`template`](#template)
+* [`order`](#order)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2553,7 +2817,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkcommand_name`
+##### `checkcommand_name`
Data type: `String`
@@ -2561,7 +2825,7 @@ Title of the CheckCommand object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2569,7 +2833,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2579,7 +2843,7 @@ When using the "arguments" attribute this must be an array. Can be specified as
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2587,7 +2851,7 @@ A dictionary of macros which should be exported as environment variables prior t
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2597,7 +2861,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2605,7 +2869,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Variant[Hash, String]]`
@@ -2613,14 +2877,14 @@ A dictionary of command arguments.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -2628,7 +2892,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2636,15 +2900,21 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `15`
-### `icinga2::object::checkresultreader`
+### `icinga2::object::checkresultreader`
Manage Icinga 2 CheckResultReader objects.
#### Parameters
-The following parameters are available in the `icinga2::object::checkresultreader` defined type.
+The following parameters are available in the `icinga2::object::checkresultreader` defined type:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`checkresultreader_name`](#checkresultreader_name)
+* [`spool_dir`](#spool_dir)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2652,7 +2922,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkresultreader_name`
+##### `checkresultreader_name`
Data type: `String`
@@ -2660,7 +2930,7 @@ Set the Icinga 2 name of the ceckresultreader object.
Default value: `$title`
-##### `spool_dir`
+##### `spool_dir`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2668,14 +2938,14 @@ The directory which contains the check result files.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2683,15 +2953,217 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `'05'`
-### `icinga2::object::endpoint`
+### `icinga2::object::dependency`
+
+Manage Icinga 2 dependency objects.
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::dependency` defined type:
+
+* [`ensure`](#ensure)
+* [`dependency_name`](#dependency_name)
+* [`parent_host_name`](#parent_host_name)
+* [`parent_service_name`](#parent_service_name)
+* [`child_host_name`](#child_host_name)
+* [`child_service_name`](#child_service_name)
+* [`disable_checks`](#disable_checks)
+* [`disable_notifications`](#disable_notifications)
+* [`ignore_soft_states`](#ignore_soft_states)
+* [`period`](#period)
+* [`states`](#states)
+* [`apply`](#apply)
+* [`prefix`](#prefix)
+* [`apply_target`](#apply_target)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `dependency_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the dependency object.
+
+Default value: `$title`
+
+##### `parent_host_name`
+
+Data type: `Optional[String]`
+
+The parent host.
+
+Default value: ``undef``
+
+##### `parent_service_name`
+
+Data type: `Optional[String]`
+
+The parent service. If omitted, this dependency object is treated as host
+dependency.
+
+Default value: ``undef``
+
+##### `child_host_name`
+
+Data type: `Optional[String]`
+
+The child host.
+
+Default value: ``undef``
+
+##### `child_service_name`
+
+Data type: `Optional[String]`
+
+The child service. If omitted, this dependency object is treated as host
+dependency.
+
+Default value: ``undef``
+
+##### `disable_checks`
+
+Data type: `Optional[Boolean]`
+
+Whether to disable checks when this dependency fails.
+
+Default value: ``undef``
+
+##### `disable_notifications`
+
+Data type: `Optional[Boolean]`
+
+Whether to disable notifications when this dependency fails.
+true.
+
+Default value: ``undef``
+
+##### `ignore_soft_states`
+
+Data type: `Optional[Boolean]`
+
+Whether to ignore soft states for the reachability calculation.
+true.
+
+Default value: ``undef``
+
+##### `period`
+
+Data type: `Optional[String]`
+
+Time period during which this dependency is enabled.
+
+Default value: ``undef``
+
+##### `states`
+
+Data type: `Optional[Array]`
+
+A list of state filters when this dependency should be OK.
+
+Default value: ``undef``
+
+##### `apply`
+
+Data type: `Variant[Boolean, String]`
+
+Dispose an apply instead an object if set to 'true'. Value is taken as statement,
+i.e. 'vhost => config in host.vars.vhosts'.
+
+Default value: ``false``
+
+##### `prefix`
+
+Data type: `Variant[Boolean, String]`
+
+Set dependency_name as prefix in front of 'apply for'. Only effects if apply is a string.
+
+Default value: ``false``
+
+##### `apply_target`
+
+Data type: `Enum['Host', 'Service']`
+
+An object type on which to target the apply rule. Valid values are `Host`
+and `Service`.
+
+Default value: `'Host'`
+
+##### `assign`
+
+Data type: `Array`
+
+Assign user group members using the group assign rules.
+
+Default value: `[]`
+
+##### `ignore`
+
+Data type: `Array`
+
+Exclude users using the group ignore rules.
+
+Default value: `[]`
+
+##### `template`
+
+Data type: `Boolean`
+
+Set to true creates a template instead of an object.
+
+Default value: ``false``
+
+##### `import`
+
+Data type: `Array`
+
+Sorted List of templates to include.
+
+Default value: `[]`
+
+##### `target`
+
+Data type: `Stdlib::Absolutepath`
+
+Destination config file to store in this object. File will be declared the
+first time.
+
+##### `order`
+
+Data type: `Variant[String, Integer]`
+
+String or integer to set the position in the target file, sorted alpha numeric.
+
+Default value: `70`
+
+### `icinga2::object::endpoint`
Manage Icinga 2 endpoint objects.
#### Parameters
-The following parameters are available in the `icinga2::object::endpoint` defined type.
+The following parameters are available in the `icinga2::object::endpoint` defined type:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`endpoint_name`](#endpoint_name)
+* [`host`](#host)
+* [`port`](#port)
+* [`log_duration`](#log_duration)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2699,7 +3171,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `endpoint_name`
+##### `endpoint_name`
Data type: `String`
@@ -2707,7 +3179,7 @@ Set the Icinga 2 name of the endpoint object.
Default value: `$title`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -2715,7 +3187,7 @@ Optional. The IP address of the remote Icinga 2 instance.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2723,7 +3195,7 @@ The service name/port of the remote Icinga 2 instance.
Default value: ``undef``
-##### `log_duration`
+##### `log_duration`
Data type: `Optional[Icinga2::Interval]`
@@ -2734,7 +3206,7 @@ or 1h for one hour.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2743,7 +3215,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2751,15 +3223,26 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `40`
-### `icinga2::object::eventcommand`
+### `icinga2::object::eventcommand`
Manage Icinga 2 EventCommand objects.
#### Parameters
-The following parameters are available in the `icinga2::object::eventcommand` defined type.
+The following parameters are available in the `icinga2::object::eventcommand` defined type:
+
+* [`ensure`](#ensure)
+* [`eventcommand_name`](#eventcommand_name)
+* [`command`](#command)
+* [`env`](#env)
+* [`vars`](#vars)
+* [`timeout`](#timeout)
+* [`arguments`](#arguments)
+* [`target`](#target)
+* [`import`](#import)
+* [`order`](#order)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2767,7 +3250,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `eventcommand_name`
+##### `eventcommand_name`
Data type: `String`
@@ -2775,7 +3258,7 @@ Set the Icinga 2 name of the eventcommand object.
Default value: `$title`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2785,7 +3268,7 @@ takes care of parsing the command.
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2793,7 +3276,7 @@ A dictionary of macros which should be exported as environment variables prior t
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2803,7 +3286,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2811,7 +3294,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Hash]`
@@ -2819,14 +3302,14 @@ A dictionary of command arguments.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `import`
+##### `import`
Data type: `Array`
@@ -2834,7 +3317,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2842,15 +3325,50 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `20`
-### `icinga2::object::host`
+### `icinga2::object::host`
Manage Icinga 2 Host objects.
#### Parameters
-The following parameters are available in the `icinga2::object::host` defined type.
-
-##### `ensure`
+The following parameters are available in the `icinga2::object::host` defined type:
+
+* [`ensure`](#ensure)
+* [`host_name`](#host_name)
+* [`import`](#import)
+* [`display_name`](#display_name)
+* [`address`](#address)
+* [`address6`](#address6)
+* [`vars`](#vars)
+* [`groups`](#groups)
+* [`check_command`](#check_command)
+* [`max_check_attempts`](#max_check_attempts)
+* [`check_period`](#check_period)
+* [`check_timeout`](#check_timeout)
+* [`check_interval`](#check_interval)
+* [`retry_interval`](#retry_interval)
+* [`enable_notifications`](#enable_notifications)
+* [`enable_active_checks`](#enable_active_checks)
+* [`enable_passive_checks`](#enable_passive_checks)
+* [`enable_event_handler`](#enable_event_handler)
+* [`enable_flapping`](#enable_flapping)
+* [`enable_perfdata`](#enable_perfdata)
+* [`event_command`](#event_command)
+* [`flapping_threshold_low`](#flapping_threshold_low)
+* [`flapping_threshold_high`](#flapping_threshold_high)
+* [`volatile`](#volatile)
+* [`zone`](#zone)
+* [`command_endpoint`](#command_endpoint)
+* [`notes`](#notes)
+* [`notes_url`](#notes_url)
+* [`action_url`](#action_url)
+* [`icon_image`](#icon_image)
+* [`icon_image_alt`](#icon_image_alt)
+* [`template`](#template)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2858,7 +3376,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `host_name`
+##### `host_name`
Data type: `String`
@@ -2866,7 +3384,7 @@ Hostname of the Host object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2874,7 +3392,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -2882,7 +3400,7 @@ A short description of the host (e.g. displayed by external interfaces instead o
Default value: ``undef``
-##### `address`
+##### `address`
Data type: `Optional[Stdlib::Host]`
@@ -2890,7 +3408,7 @@ The host's address v4.
Default value: ``undef``
-##### `address6`
+##### `address6`
Data type: `Optional[Stdlib::Host]`
@@ -2898,7 +3416,7 @@ The host's address v6.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2908,7 +3426,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -2916,7 +3434,7 @@ A list of host groups this host belongs to.
Default value: ``undef``
-##### `check_command`
+##### `check_command`
Data type: `Optional[String]`
@@ -2924,7 +3442,7 @@ The name of the check command.
Default value: ``undef``
-##### `max_check_attempts`
+##### `max_check_attempts`
Data type: `Optional[Integer[1]]`
@@ -2932,7 +3450,7 @@ The number of times a host is re-checked before changing into a hard state.
Default value: ``undef``
-##### `check_period`
+##### `check_period`
Data type: `Optional[String]`
@@ -2940,7 +3458,7 @@ The name of a time period which determines when this host should be checked.
Default value: ``undef``
-##### `check_timeout`
+##### `check_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2948,7 +3466,7 @@ Check command timeout in seconds. Overrides the CheckCommand's timeout attribute
Default value: ``undef``
-##### `check_interval`
+##### `check_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2956,7 +3474,7 @@ The check interval (in seconds). This interval is used for checks when the host
Default value: ``undef``
-##### `retry_interval`
+##### `retry_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2964,7 +3482,7 @@ The retry interval (in seconds). This interval is used for checks when the host
Default value: ``undef``
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -2972,7 +3490,7 @@ Whether notifications are enabled.
Default value: ``undef``
-##### `enable_active_checks`
+##### `enable_active_checks`
Data type: `Optional[Boolean]`
@@ -2980,7 +3498,7 @@ Whether active checks are enabled.
Default value: ``undef``
-##### `enable_passive_checks`
+##### `enable_passive_checks`
Data type: `Optional[Boolean]`
@@ -2988,7 +3506,7 @@ Whether passive checks are enabled.
Default value: ``undef``
-##### `enable_event_handler`
+##### `enable_event_handler`
Data type: `Optional[Boolean]`
@@ -2996,7 +3514,7 @@ Enables event handlers for this host.
Default value: ``undef``
-##### `enable_flapping`
+##### `enable_flapping`
Data type: `Optional[Boolean]`
@@ -3004,7 +3522,7 @@ Whether flap detection is enabled.
Default value: ``undef``
-##### `enable_perfdata`
+##### `enable_perfdata`
Data type: `Optional[Boolean]`
@@ -3012,7 +3530,7 @@ Whether performance data processing is enabled.
Default value: ``undef``
-##### `event_command`
+##### `event_command`
Data type: `Optional[String]`
@@ -3021,7 +3539,7 @@ state changes or the host is in a SOFT state.
Default value: ``undef``
-##### `flapping_threshold_low`
+##### `flapping_threshold_low`
Data type: `Optional[Integer[1]]`
@@ -3029,7 +3547,7 @@ Flapping lower bound in percent for a host to be considered not flapping.
Default value: ``undef``
-##### `flapping_threshold_high`
+##### `flapping_threshold_high`
Data type: `Optional[Integer[1]]`
@@ -3037,7 +3555,7 @@ Flapping upper bound in percent for a host to be considered flapping.
Default value: ``undef``
-##### `volatile`
+##### `volatile`
Data type: `Optional[Boolean]`
@@ -3045,7 +3563,7 @@ The volatile setting enables always HARD state types if NOT-OK state changes occ
Default value: ``undef``
-##### `zone`
+##### `zone`
Data type: `Optional[String]`
@@ -3053,7 +3571,7 @@ The zone this object is a member of.
Default value: ``undef``
-##### `command_endpoint`
+##### `command_endpoint`
Data type: `Optional[String]`
@@ -3061,7 +3579,7 @@ The endpoint where commands are executed on.
Default value: ``undef``
-##### `notes`
+##### `notes`
Data type: `Optional[String]`
@@ -3069,7 +3587,7 @@ Notes for the host.
Default value: ``undef``
-##### `notes_url`
+##### `notes_url`
Data type: `Optional[String]`
@@ -3077,7 +3595,7 @@ Url for notes for the host (for example, in notification commands).
Default value: ``undef``
-##### `action_url`
+##### `action_url`
Data type: `Optional[String]`
@@ -3085,7 +3603,7 @@ Url for actions for the host (for example, an external graphing tool).
Default value: ``undef``
-##### `icon_image`
+##### `icon_image`
Data type: `Optional[String]`
@@ -3093,7 +3611,7 @@ Icon image for the host. Used by external interfaces only.
Default value: ``undef``
-##### `icon_image_alt`
+##### `icon_image_alt`
Data type: `Optional[String]`
@@ -3101,7 +3619,7 @@ Icon image description for the host. Used by external interface only.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3109,14 +3627,14 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3124,7 +3642,7 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `50`
-### `icinga2::object::hostgroup`
+### `icinga2::object::hostgroup`
Manage Icinga 2 HostGroup objects.
@@ -3143,9 +3661,18 @@ icinga2::object::hostgroup { 'monitoring-hosts':
#### Parameters
-The following parameters are available in the `icinga2::object::hostgroup` defined type.
+The following parameters are available in the `icinga2::object::hostgroup` defined type:
+
+* [`ensure`](#ensure)
+* [`display_name`](#display_name)
+* [`groups`](#groups)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`target`](#target)
+* [`order`](#order)
+* [`hostgroup_name`](#hostgroup_name)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3153,7 +3680,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3161,7 +3688,7 @@ A short description of the host group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -3169,7 +3696,7 @@ An array of nested group names.
Default value: ``undef``
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -3177,7 +3704,7 @@ Assign host group members using the group rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -3185,14 +3712,14 @@ Ignore host group members using the group rules.
Default value: `[]`
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared at the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3200,7 +3727,7 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `55`
-##### `hostgroup_name`
+##### `hostgroup_name`
Data type: `String`
@@ -3208,15 +3735,28 @@ Data type: `String`
Default value: `$title`
-### `icinga2::object::icingaapplication`
+### `icinga2::object::icingaapplication`
The icinga2::object::icingaapplication class.
#### Parameters
-The following parameters are available in the `icinga2::object::icingaapplication` defined type.
+The following parameters are available in the `icinga2::object::icingaapplication` defined type:
-##### `environment`
+* [`environment`](#environment)
+* [`target`](#target)
+* [`order`](#order)
+* [`ensure`](#ensure)
+* [`app_name`](#app_name)
+* [`enable_notifications`](#enable_notifications)
+* [`enable_event_handlers`](#enable_event_handlers)
+* [`enable_flapping`](#enable_flapping)
+* [`enable_host_checks`](#enable_host_checks)
+* [`enable_service_checks`](#enable_service_checks)
+* [`enable_perfdata`](#enable_perfdata)
+* [`vars`](#vars)
+
+##### `environment`
Data type: `Optional[String]`
@@ -3225,7 +3765,7 @@ specified in the configuration or on the CLI with --define.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -3234,7 +3774,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3242,7 +3782,7 @@ String or integer to control the position in the target file, sorted alpha numer
Default value: `5`
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3250,7 +3790,7 @@ Data type: `Enum['absent', 'present']`
Default value: `present`
-##### `app_name`
+##### `app_name`
Data type: `String`
@@ -3258,7 +3798,7 @@ Data type: `String`
Default value: `$title`
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -3266,7 +3806,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_event_handlers`
+##### `enable_event_handlers`
Data type: `Optional[Boolean]`
@@ -3274,7 +3814,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_flapping`
+##### `enable_flapping`
Data type: `Optional[Boolean]`
@@ -3282,7 +3822,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_host_checks`
+##### `enable_host_checks`
Data type: `Optional[Boolean]`
@@ -3290,7 +3830,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_service_checks`
+##### `enable_service_checks`
Data type: `Optional[Boolean]`
@@ -3298,7 +3838,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_perfdata`
+##### `enable_perfdata`
Data type: `Optional[Boolean]`
@@ -3306,7 +3846,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3314,15 +3854,39 @@ Data type: `Optional[Icinga2::CustomAttributes]`
Default value: ``undef``
-### `icinga2::object::notificationcommand`
+### `icinga2::object::notification`
-Manage Icinga 2 notificationcommand objects.
+Manage Icinga 2 notification objects.
#### Parameters
-The following parameters are available in the `icinga2::object::notificationcommand` defined type.
-
-##### `ensure`
+The following parameters are available in the `icinga2::object::notification` defined type:
+
+* [`ensure`](#ensure)
+* [`notification_name`](#notification_name)
+* [`host_name`](#host_name)
+* [`service_name`](#service_name)
+* [`vars`](#vars)
+* [`users`](#users)
+* [`user_groups`](#user_groups)
+* [`times`](#times)
+* [`command`](#command)
+* [`interval`](#interval)
+* [`period`](#period)
+* [`zone`](#zone)
+* [`types`](#types)
+* [`states`](#states)
+* [`template`](#template)
+* [`apply`](#apply)
+* [`prefix`](#prefix)
+* [`apply_target`](#apply_target)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3330,34 +3894,32 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `notificationcommand_name`
+##### `notification_name`
Data type: `String`
-Set the Icinga 2 name of the notificationcommand object.
+Set the Icinga 2 name of the notification object.
Default value: `$title`
-##### `command`
+##### `host_name`
-Data type: `Optional[Variant[Array, String]]`
+Data type: `Optional[String]`
-The command. This can either be an array of individual command arguments.
-Alternatively a string can be specified in which case the shell interpreter
-(usually /bin/sh) takes care of parsing the command.
+The name of the host this notification belongs to.
Default value: ``undef``
-##### `env`
+##### `service_name`
-Data type: `Optional[Hash]`
+Data type: `Optional[String]`
-A dictionary of macros which should be exported as environment variables
-prior to executing the command.
+The short name of the service this notification belongs to. If omitted, this
+notification object is treated as host notification.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3367,118 +3929,115 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `users`
-Data type: `Optional[Icinga2::Interval]`
+Data type: `Optional[Variant[String, Array]]`
-The command timeout in seconds.
+A list of user names who should be notified.
Default value: ``undef``
-##### `arguments`
+##### `user_groups`
-Data type: `Optional[Hash]`
+Data type: `Optional[Variant[String, Array]]`
-A dictionary of command arguments.
+A list of user group names who should be notified.
Default value: ``undef``
-##### `template`
-
-Data type: `Boolean`
-
-Set to true creates a template instead of an object.
-
-Default value: ``false``
+##### `times`
-##### `import`
+Data type: `Optional[Hash]`
-Data type: `Array`
+A dictionary containing begin and end attributes for the notification.
-Sorted List of templates to include.
+Default value: ``undef``
-Default value: `[]`
+##### `command`
-##### `target`
+Data type: `Optional[String]`
-Data type: `Stdlib::Absolutepath`
+The name of the notification command which should be executed when the
+notification is triggered.
-Destination config file to store in this object. File will be declared the
-first time.
+Default value: ``undef``
-##### `order`
+##### `interval`
-Data type: `Variant[String, Integer]`
+Data type: `Optional[Variant[Icinga2::Interval,Pattern[/(host|service)\./]]]`
-String or integer to set the position in the target file, sorted alpha numeric.
+The notification interval (in seconds). This interval is used for active
+notifications.
-Default value: `25`
+Default value: ``undef``
-### `icinga2::object::servicegroup`
+##### `period`
-Manage Icinga 2 servicegroup objects.
+Data type: `Optional[String]`
-#### Parameters
+The name of a time period which determines when this notification should be
+triggered.
-The following parameters are available in the `icinga2::object::servicegroup` defined type.
+Default value: ``undef``
-##### `ensure`
+##### `zone`
-Data type: `Enum['absent', 'present']`
+Data type: `Optional[String]`
-Set to present enables the object, absent disables it.
+The zone this object is a member of.
-Default value: `present`
+Default value: ``undef``
-##### `servicegroup_name`
+##### `types`
-Data type: `String`
+Data type: `Optional[Variant[Array, String]]`
-Set the Icinga 2 name of the servicegroup object.
+A list of type filters when this notification should be triggered.
-Default value: `$title`
+Default value: ``undef``
-##### `display_name`
+##### `states`
-Data type: `Optional[String]`
+Data type: `Optional[Variant[Array, String]]`
-A short description of the service group.
+A list of state filters when this notification should be triggered.
Default value: ``undef``
-##### `groups`
+##### `template`
-Data type: `Optional[Array]`
+Data type: `Boolean`
-An array of nested group names.
+Set to true creates a template instead of an object.
-Default value: ``undef``
+Default value: ``false``
-##### `assign`
+##### `apply`
-Data type: `Array`
+Data type: `Variant[Boolean, String]`
-Assign user group members using the group assign rules.
+Dispose an apply instead an object if set to 'true'. Value is taken as statement,
+i.e. 'vhost => config in host.vars.vhosts'.
-Default value: `[]`
+Default value: ``false``
-##### `ignore`
+##### `prefix`
-Data type: `Array`
+Data type: `Variant[Boolean, String]`
-Exclude users using the group ignore rules.
+Set notification_name as prefix in front of 'apply for'. Only effects if apply is a string.
-Default value: `[]`
+Default value: ``false``
-##### `template`
+##### `apply_target`
-Data type: `Boolean`
+Data type: `Enum['Host', 'Service']`
-Set to true creates a template instead of an object.
+An object type on which to target the apply rule. Valid values are `Host` and `Service`.
-Default value: ``false``
+Default value: `'Host'`
-##### `import`
+##### `import`
Data type: `Array`
@@ -3486,46 +4045,818 @@ Sorted List of templates to include.
Default value: `[]`
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
String or integer to set the position in the target file, sorted alpha numeric.
-Default value: `65`
+Default value: `85`
-### `icinga2::object::timeperiod`
+##### `assign`
-Manage Icinga 2 timeperiod objects.
+Data type: `Array`
-#### Parameters
-The following parameters are available in the `icinga2::object::timeperiod` defined type.
-##### `ensure`
+Default value: `[]`
-Data type: `Enum['absent', 'present']`
+##### `ignore`
-Set to present enables the object, absent disables it.
+Data type: `Array`
-Default value: `present`
-##### `timeperiod_name`
-Data type: `String`
+Default value: `[]`
-Set the Icinga 2 name of the timeperiod object.
+### `icinga2::object::notificationcommand`
+
+Manage Icinga 2 notificationcommand objects.
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::notificationcommand` defined type:
+
+* [`ensure`](#ensure)
+* [`notificationcommand_name`](#notificationcommand_name)
+* [`command`](#command)
+* [`env`](#env)
+* [`vars`](#vars)
+* [`timeout`](#timeout)
+* [`arguments`](#arguments)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `notificationcommand_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the notificationcommand object.
+
+Default value: `$title`
+
+##### `command`
+
+Data type: `Optional[Variant[Array, String]]`
+
+The command. This can either be an array of individual command arguments.
+Alternatively a string can be specified in which case the shell interpreter
+(usually /bin/sh) takes care of parsing the command.
+
+Default value: ``undef``
+
+##### `env`
+
+Data type: `Optional[Hash]`
+
+A dictionary of macros which should be exported as environment variables
+prior to executing the command.
+
+Default value: ``undef``
+
+##### `vars`
+
+Data type: `Optional[Icinga2::CustomAttributes]`
+
+A dictionary containing custom attributes that are specific to this service,
+a string to do operations on this dictionary or an array for multiple use
+of custom attributes.
+
+Default value: ``undef``
+
+##### `timeout`
+
+Data type: `Optional[Icinga2::Interval]`
+
+The command timeout in seconds.
+
+Default value: ``undef``
+
+##### `arguments`
+
+Data type: `Optional[Hash]`
+
+A dictionary of command arguments.
+
+Default value: ``undef``
+
+##### `template`
+
+Data type: `Boolean`
+
+Set to true creates a template instead of an object.
+
+Default value: ``false``
+
+##### `import`
+
+Data type: `Array`
+
+Sorted List of templates to include.
+
+Default value: `[]`
+
+##### `target`
+
+Data type: `Stdlib::Absolutepath`
+
+Destination config file to store in this object. File will be declared the
+first time.
+
+##### `order`
+
+Data type: `Variant[String, Integer]`
+
+String or integer to set the position in the target file, sorted alpha numeric.
+
+Default value: `25`
+
+### `icinga2::object::scheduleddowntime`
+
+Manage Icinga 2 scheduleddowntime objects.
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::scheduleddowntime` defined type:
+
+* [`ensure`](#ensure)
+* [`scheduleddowntime_name`](#scheduleddowntime_name)
+* [`host_name`](#host_name)
+* [`service_name`](#service_name)
+* [`author`](#author)
+* [`comment`](#comment)
+* [`fixed`](#fixed)
+* [`duration`](#duration)
+* [`ranges`](#ranges)
+* [`apply`](#apply)
+* [`prefix`](#prefix)
+* [`apply_target`](#apply_target)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `scheduleddowntime_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the scheduleddowntime object.
+
+Default value: `$title`
+
+##### `host_name`
+
+Data type: `Optional[String]`
+
+The name of the host this comment belongs to.
+
+Default value: ``undef``
+
+##### `service_name`
+
+Data type: `Optional[String]`
+
+The short name of the service this comment belongs to. If omitted, this comment object is treated as host comment.
+
+Default value: ``undef``
+
+##### `author`
+
+Data type: `Optional[String]`
+
+The author's name.
+
+Default value: ``undef``
+
+##### `comment`
+
+Data type: `Optional[String]`
+
+The comment text.
+
+Default value: ``undef``
+
+##### `fixed`
+
+Data type: `Optional[Boolean]`
+
+Whether this is a fixed downtime.
+
+Default value: ``undef``
+
+##### `duration`
+
+Data type: `Optional[Icinga2::Interval]`
+
+The duration as number.
+
+Default value: ``undef``
+
+##### `ranges`
+
+Data type: `Optional[Hash]`
+
+A dictionary containing information which days and durations apply to this timeperiod.
+
+Default value: ``undef``
+
+##### `apply`
+
+Data type: `Variant[Boolean, String]`
+
+Dispose an apply instead an object if set to 'true'. Value is taken as statement,
+i.e. 'vhost => config in host.vars.vhosts'.
+
+Default value: ``false``
+
+##### `prefix`
+
+Data type: `Variant[Boolean, String]`
+
+Set scheduleddowntime_name as prefix in front of 'apply for'. Only effects if apply is a string.
+
+Default value: ``false``
+
+##### `apply_target`
+
+Data type: `Enum['Host', 'Service']`
+
+An object type on which to target the apply rule. Valid values are `Host` and `Service`.
+
+Default value: `'Host'`
+
+##### `assign`
+
+Data type: `Array`
+
+Assign user group members using the group assign rules.
+
+Default value: `[]`
+
+##### `ignore`
+
+Data type: `Array`
+
+Exclude users using the group ignore rules.
+
+Default value: `[]`
+
+##### `target`
+
+Data type: `Stdlib::Absolutepath`
+
+Destination config file to store in this object. File will be declared the
+first time.
+
+##### `order`
+
+Data type: `Variant[String, Integer]`
+
+String or integer to set the position in the target file, sorted alpha numeric.
+
+Default value: `90`
+
+### `icinga2::object::service`
+
+Manage Icinga 2 service objects.
+
+#### Examples
+
+##### A service `ping` is applied to all hosts with a valid ipv4 address.
+
+```puppet
+::icinga2::object::service { 'ping4':
+ import => ['generic-service'],
+ apply => true,
+ check_command => 'ping',
+ assign => ['host.address'],
+ target => '/etc/icinga2/zones.d/global-templates/services.conf',
+}
+```
+
+##### A `apply Service for (disk_name =>config in host.vars.disks)` rule is applied to all Linux hosts with an Icinga Agent. Note in this example it's required that the endpoint (see `command_endpoint`) and the host object has the same name!
+
+```puppet
+::icinga2::object::service { 'linux_disks':
+ import => ['generic-service'],
+ apply => 'disk_name => config in host.vars.disks',
+ check_command => 'disk',
+ command_endpoint => 'host.name',
+ vars => '+ config',
+ assign => ['host.vars.os == Linux'],
+ ignore => ['host.vars.noagent'],
+ target => '/etc/icinga2/zones.d/global-templates/services.conf',
+}
+```
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::service` defined type:
+
+* [`ensure`](#ensure)
+* [`service_name`](#service_name)
+* [`display_name`](#display_name)
+* [`host_name`](#host_name)
+* [`groups`](#groups)
+* [`vars`](#vars)
+* [`check_command`](#check_command)
+* [`max_check_attempts`](#max_check_attempts)
+* [`check_period`](#check_period)
+* [`check_timeout`](#check_timeout)
+* [`check_interval`](#check_interval)
+* [`retry_interval`](#retry_interval)
+* [`enable_notifications`](#enable_notifications)
+* [`enable_active_checks`](#enable_active_checks)
+* [`enable_passive_checks`](#enable_passive_checks)
+* [`enable_event_handler`](#enable_event_handler)
+* [`enable_flapping`](#enable_flapping)
+* [`enable_perfdata`](#enable_perfdata)
+* [`event_command`](#event_command)
+* [`flapping_threshold_low`](#flapping_threshold_low)
+* [`flapping_threshold_high`](#flapping_threshold_high)
+* [`volatile`](#volatile)
+* [`zone`](#zone)
+* [`command_endpoint`](#command_endpoint)
+* [`notes`](#notes)
+* [`notes_url`](#notes_url)
+* [`action_url`](#action_url)
+* [`icon_image`](#icon_image)
+* [`icon_image_alt`](#icon_image_alt)
+* [`template`](#template)
+* [`apply`](#apply)
+* [`prefix`](#prefix)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `service_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the service object.
+
+Default value: `$title`
+
+##### `display_name`
+
+Data type: `Optional[String]`
+
+A short description of the service.
+
+Default value: ``undef``
+
+##### `host_name`
+
+Data type: `Optional[String]`
+
+The host this service belongs to. There must be a Host object with
+that name.
+
+Default value: ``undef``
+
+##### `groups`
+
+Data type: `Optional[Array]`
+
+The service groups this service belongs to.
+
+Default value: ``undef``
+
+##### `vars`
+
+Data type: `Optional[Icinga2::CustomAttributes]`
+
+A dictionary containing custom attributes that are specific to this service,
+a string to do operations on this dictionary or an array for multiple use
+of custom attributes.
+
+Default value: ``undef``
+
+##### `check_command`
+
+Data type: `Optional[String]`
+
+The name of the check command.
+
+Default value: ``undef``
+
+##### `max_check_attempts`
+
+Data type: `Optional[Integer[1]]`
+
+The number of times a service is re-checked before changing into a hard
+state.
+
+Default value: ``undef``
+
+##### `check_period`
+
+Data type: `Optional[String]`
+
+The name of a time period which determines when this service should be
+checked.
+
+Default value: ``undef``
+
+##### `check_timeout`
+
+Data type: `Optional[Icinga2::Interval]`
+
+Check command timeout in seconds. Overrides the CheckCommand's timeout
+attribute.
+
+Default value: ``undef``
+
+##### `check_interval`
+
+Data type: `Optional[Icinga2::Interval]`
+
+The check interval (in seconds). This interval is used for checks when the
+service is in a HARD state.
+
+Default value: ``undef``
+
+##### `retry_interval`
+
+Data type: `Optional[Icinga2::Interval]`
+
+The retry interval (in seconds). This interval is used for checks when the
+service is in a SOFT state.
+
+Default value: ``undef``
+
+##### `enable_notifications`
+
+Data type: `Optional[Boolean]`
+
+Whether notifications are enabled.
+
+Default value: ``undef``
+
+##### `enable_active_checks`
+
+Data type: `Optional[Boolean]`
+
+Whether active checks are enabled.
+
+Default value: ``undef``
+
+##### `enable_passive_checks`
+
+Data type: `Optional[Boolean]`
+
+Whether passive checks are enabled.
+
+Default value: ``undef``
+
+##### `enable_event_handler`
+
+Data type: `Optional[Boolean]`
+
+Enables event handlers for this host.
+
+Default value: ``undef``
+
+##### `enable_flapping`
+
+Data type: `Optional[Boolean]`
+
+Whether flap detection is enabled.
+
+Default value: ``undef``
+
+##### `enable_perfdata`
+
+Data type: `Optional[Boolean]`
+
+Whether performance data processing is enabled.
+
+Default value: ``undef``
+
+##### `event_command`
+
+Data type: `Optional[String]`
+
+The name of an event command that should be executed every time the
+service's state changes or the service is in a SOFT state.
+
+Default value: ``undef``
+
+##### `flapping_threshold_low`
+
+Data type: `Optional[Integer[1]]`
+
+Flapping lower bound in percent for a host to be considered not flapping.
+
+Default value: ``undef``
+
+##### `flapping_threshold_high`
+
+Data type: `Optional[Integer[1]]`
+
+Flapping upper bound in percent for a host to be considered flapping.
+
+Default value: ``undef``
+
+##### `volatile`
+
+Data type: `Optional[Boolean]`
+
+The volatile setting enables always HARD state types if NOT-OK state changes
+occur.
+
+Default value: ``undef``
+
+##### `zone`
+
+Data type: `Optional[String]`
+
+The zone this object is a member of.
+
+Default value: ``undef``
+
+##### `command_endpoint`
+
+Data type: `Optional[String]`
+
+The endpoint where commands are executed on.
+
+Default value: ``undef``
+
+##### `notes`
+
+Data type: `Optional[String]`
+
+Notes for the service.
+
+Default value: ``undef``
+
+##### `notes_url`
+
+Data type: `Optional[String]`
+
+Url for notes for the service (for example, in notification commands).
+
+Default value: ``undef``
+
+##### `action_url`
+
+Data type: `Optional[String]`
+
+Url for actions for the service (for example, an external graphing tool).
+
+Default value: ``undef``
+
+##### `icon_image`
+
+Data type: `Optional[String]`
+
+Icon image for the service. Used by external interfaces only.
+
+Default value: ``undef``
+
+##### `icon_image_alt`
+
+Data type: `Optional[String]`
+
+Icon image description for the service. Used by external interface only.
+
+Default value: ``undef``
+
+##### `template`
+
+Data type: `Boolean`
+
+Set to true creates a template instead of an object.
+
+Default value: ``false``
+
+##### `apply`
+
+Data type: `Variant[Boolean, String]`
+
+Dispose an apply instead an object if set to 'true'. Value is taken as statement,
+i.e. 'vhost => config in host.vars.vhosts'.
+
+Default value: ``false``
+
+##### `prefix`
+
+Data type: `Variant[Boolean, String]`
+
+Set service_name as prefix in front of 'apply for'. Only effects if apply is a string.
+
+Default value: ``false``
+
+##### `assign`
+
+Data type: `Array`
+
+Assign user group members using the group assign rules.
+
+Default value: `[]`
+
+##### `ignore`
+
+Data type: `Array`
+
+Exclude users using the group ignore rules.
+
+Default value: `[]`
+
+##### `import`
+
+Data type: `Array`
+
+Sorted List of templates to include.
+
+Default value: `[]`
+
+##### `target`
+
+Data type: `Stdlib::Absolutepath`
+
+Destination config file to store in this object. File will be declared the
+first time.
+
+##### `order`
+
+Data type: `Variant[String, Integer]`
+
+String or integer to set the position in the target file, sorted alpha numeric.
+
+Default value: `60`
+
+### `icinga2::object::servicegroup`
+
+Manage Icinga 2 servicegroup objects.
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::servicegroup` defined type:
+
+* [`ensure`](#ensure)
+* [`servicegroup_name`](#servicegroup_name)
+* [`display_name`](#display_name)
+* [`groups`](#groups)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `servicegroup_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the servicegroup object.
+
+Default value: `$title`
+
+##### `display_name`
+
+Data type: `Optional[String]`
+
+A short description of the service group.
+
+Default value: ``undef``
+
+##### `groups`
+
+Data type: `Optional[Array]`
+
+An array of nested group names.
+
+Default value: ``undef``
+
+##### `assign`
+
+Data type: `Array`
+
+Assign user group members using the group assign rules.
+
+Default value: `[]`
+
+##### `ignore`
+
+Data type: `Array`
+
+Exclude users using the group ignore rules.
+
+Default value: `[]`
+
+##### `template`
+
+Data type: `Boolean`
+
+Set to true creates a template instead of an object.
+
+Default value: ``false``
+
+##### `import`
+
+Data type: `Array`
+
+Sorted List of templates to include.
+
+Default value: `[]`
+
+##### `target`
+
+Data type: `Stdlib::Absolutepath`
+
+Destination config file to store in this object. File will be declared the
+first time.
+
+##### `order`
+
+Data type: `Variant[String, Integer]`
+
+String or integer to set the position in the target file, sorted alpha numeric.
+
+Default value: `65`
+
+### `icinga2::object::timeperiod`
+
+Manage Icinga 2 timeperiod objects.
+
+#### Parameters
+
+The following parameters are available in the `icinga2::object::timeperiod` defined type:
+
+* [`ensure`](#ensure)
+* [`timeperiod_name`](#timeperiod_name)
+* [`display_name`](#display_name)
+* [`import`](#import)
+* [`ranges`](#ranges)
+* [`prefer_includes`](#prefer_includes)
+* [`excludes`](#excludes)
+* [`includes`](#includes)
+* [`template`](#template)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
+
+Data type: `Enum['absent', 'present']`
+
+Set to present enables the object, absent disables it.
+
+Default value: `present`
+
+##### `timeperiod_name`
+
+Data type: `String`
+
+Set the Icinga 2 name of the timeperiod object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3533,7 +4864,7 @@ A short description of the time period.
Default value: ``undef``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3541,7 +4872,7 @@ Sorted List of templates to include.
Default value: `['legacy-timeperiod']`
-##### `ranges`
+##### `ranges`
Data type: `Optional[Hash]`
@@ -3550,7 +4881,7 @@ timeperiod.
Default value: ``undef``
-##### `prefer_includes`
+##### `prefer_includes`
Data type: `Optional[Boolean]`
@@ -3558,7 +4889,7 @@ Boolean whether to prefer timeperiods includes or excludes.
Default value: ``undef``
-##### `excludes`
+##### `excludes`
Data type: `Optional[Array]`
@@ -3566,7 +4897,7 @@ An array of timeperiods, which should exclude from your timerange.
Default value: ``undef``
-##### `includes`
+##### `includes`
Data type: `Optional[Array]`
@@ -3574,7 +4905,7 @@ An array of timeperiods, which should include into your timerange
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3582,13 +4913,13 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store this object in. File will be declared on the first run.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3596,15 +4927,31 @@ String or integer to control the position in the target file, sorted alpha numer
Default value: `35`
-### `icinga2::object::user`
+### `icinga2::object::user`
Manage Icinga 2 user objects.
#### Parameters
-The following parameters are available in the `icinga2::object::user` defined type.
-
-##### `ensure`
+The following parameters are available in the `icinga2::object::user` defined type:
+
+* [`ensure`](#ensure)
+* [`user_name`](#user_name)
+* [`display_name`](#display_name)
+* [`email`](#email)
+* [`pager`](#pager)
+* [`vars`](#vars)
+* [`groups`](#groups)
+* [`enable_notifications`](#enable_notifications)
+* [`period`](#period)
+* [`types`](#types)
+* [`states`](#states)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3612,7 +4959,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `user_name`
+##### `user_name`
Data type: `String`
@@ -3620,7 +4967,7 @@ Set the Icinga 2 name of the user object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3628,7 +4975,7 @@ A short description of the user.
Default value: ``undef``
-##### `email`
+##### `email`
Data type: `Optional[String]`
@@ -3636,7 +4983,7 @@ An email string for this user. Useful for notification commands.
Default value: ``undef``
-##### `pager`
+##### `pager`
Data type: `Optional[String]`
@@ -3644,7 +4991,7 @@ A pager string for this user. Useful for notification commands.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3654,7 +5001,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -3662,7 +5009,7 @@ An array of group names.
Default value: ``undef``
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -3670,7 +5017,7 @@ Whether notifications are enabled for this user.
Default value: ``undef``
-##### `period`
+##### `period`
Data type: `Optional[String]`
@@ -3679,7 +5026,7 @@ should be triggered.
Default value: ``undef``
-##### `types`
+##### `types`
Data type: `Optional[Array]`
@@ -3688,7 +5035,7 @@ everything is matched.
Default value: ``undef``
-##### `states`
+##### `states`
Data type: `Optional[Array]`
@@ -3696,7 +5043,7 @@ A set of state filters when this notification should be triggered.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3704,7 +5051,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3712,14 +5059,14 @@ Sorted List of templates to include.
Default value: `[]`
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3727,15 +5074,26 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `75`
-### `icinga2::object::usergroup`
+### `icinga2::object::usergroup`
Manage Icinga 2 usergroup objects.
#### Parameters
-The following parameters are available in the `icinga2::object::usergroup` defined type.
+The following parameters are available in the `icinga2::object::usergroup` defined type:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`usergroup_name`](#usergroup_name)
+* [`display_name`](#display_name)
+* [`groups`](#groups)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3743,7 +5101,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `usergroup_name`
+##### `usergroup_name`
Data type: `String`
@@ -3751,7 +5109,7 @@ Set the Icinga 2 name of the usergroup object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3759,7 +5117,7 @@ A short description of the service group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Array`
@@ -3767,7 +5125,7 @@ An array of nested group names.
Default value: `[]`
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -3775,7 +5133,7 @@ Assign user group members using the group assign rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -3783,7 +5141,7 @@ Exclude users using the group ignore rules.
Default value: `[]`
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3791,7 +5149,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3799,14 +5157,14 @@ Sorted List of templates to include.
Default value: `[]`
-##### `target`
+##### `target`
Data type: `Stdlib::Absolutepath`
Destination config file to store in this object. File will be declared the
first time.
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3814,15 +5172,23 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `80`
-### `icinga2::object::zone`
+### `icinga2::object::zone`
Manage Icinga 2 zone objects.
#### Parameters
-The following parameters are available in the `icinga2::object::zone` defined type.
+The following parameters are available in the `icinga2::object::zone` defined type:
+
+* [`ensure`](#ensure)
+* [`zone_name`](#zone_name)
+* [`endpoints`](#endpoints)
+* [`parent`](#parent)
+* [`global`](#global)
+* [`target`](#target)
+* [`order`](#order)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3830,7 +5196,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `zone_name`
+##### `zone_name`
Data type: `String`
@@ -3838,7 +5204,7 @@ Set the Icinga 2 name of the zone object.
Default value: `$title`
-##### `endpoints`
+##### `endpoints`
Data type: `Optional[Array]`
@@ -3846,7 +5212,7 @@ List of endpoints belong to this zone.
Default value: `[]`
-##### `parent`
+##### `parent`
Data type: `Optional[String]`
@@ -3854,7 +5220,7 @@ Parent zone to this zone.
Default value: ``undef``
-##### `global`
+##### `global`
Data type: `Optional[Boolean]`
@@ -3863,7 +5229,7 @@ and parent are ignored.
Default value: ``false``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -3872,7 +5238,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3882,7 +5248,7 @@ Default value: `45`
## Functions
-### `icinga2::icinga2_attributes`
+### `icinga2::icinga2_attributes`
Type: Ruby 4.x API
@@ -3901,7 +5267,7 @@ Data type: `Any`
The original array of arguments. Port this to individually managed params
to get the full benefit of the modern function API.
-### `icinga2::icinga2_ticket_id`
+### `icinga2::icinga2_ticket_id`
Type: Ruby 4.x API
@@ -3909,7 +5275,7 @@ Summarise what the function does here
#### `icinga2::icinga2_ticket_id(String $cn, Variant[String, Sensitive[String]] $salt)`
-The icinga2::icinga2_ticket_id function.
+Summarise what the function does here
Returns: `String` Calculated ticket to receive a certificate.
@@ -3925,7 +5291,7 @@ Data type: `Variant[String, Sensitive[String]]`
The ticket salt of the Icinga CA.
-### `icinga2_attributes`
+### `icinga2_attributes`
Type: Ruby 3.x API
@@ -3937,7 +5303,7 @@ The icinga2_attributes function.
Returns: `Any` Parsed config as string
-### `icinga2_ticket_id`
+### `icinga2_ticket_id`
Type: Ruby 3.x API
@@ -3951,34 +5317,49 @@ Returns: `Any` The ticket to get a certificate
## Data types
-### `Icinga2::BasicAuth`
+### `Icinga2::BasicAuth`
A strict type for basic authentication
-Alias of `Struct[{
+Alias of
+
+```puppet
+Struct[{
'username' => String,
'password' => Variant[String, Sensitive[String]],
-}]`
+}]
+```
-### `Icinga2::CustomAttributes`
+### `Icinga2::CustomAttributes`
A type for the structure of custom attributes
-Alias of `Optional[Variant[String, Array[Variant[String, Hash]], Hash]]`
+Alias of
+
+```puppet
+Optional[Variant[String, Array[Variant[String, Hash]], Hash]]
+```
-### `Icinga2::Fingerprint`
+### `Icinga2::Fingerprint`
Type for certificate fingerprints
SHA1: 160 bit (20 byte) digest
SHA256: 256 bit (32 byte) digest
-Alias of `Pattern[/^([0-9a-fA-F]{2}\:){19}(([0-9a-fA-F]{2}\:){12})?[0-9a-fA-F]{2}$/]`
+Alias of
+
+```puppet
+Pattern[/^([0-9a-fA-F]{2}\:){19}(([0-9a-fA-F]{2}\:){12})?[0-9a-fA-F]{2}$/]
+```
-### `Icinga2::IdoCleanup`
+### `Icinga2::IdoCleanup`
A type for the structure of settings to cleanup IDO databases
-Alias of `Hash[Enum[
+Alias of
+
+```puppet
+Hash[Enum[
'acknowledgements_age',
'commenthistory_age',
'contactnotifications_age',
@@ -3994,19 +5375,27 @@ Alias of `Hash[Enum[
'statehistory_age',
'servicechecks_age',
'systemcommands_age',
- ], String]`
+ ], String]
+```
-### `Icinga2::Interval`
+### `Icinga2::Interval`
A strict type for intervals
-Alias of `Variant[Integer, Pattern[/^\d+\.?\d*[d|h|m|s]?$/]]`
+Alias of
+
+```puppet
+Variant[Integer, Pattern[/^\d+\.?\d*[d|h|m|s]?$/]]
+```
-### `Icinga2::LogFacility`
+### `Icinga2::LogFacility`
A strict type of syslog facilities
-Alias of `Variant[Enum[
+Alias of
+
+```puppet
+Variant[Enum[
'LOG_AUTH',
'LOG_AUTHPRIV',
'LOG_CRON',
@@ -4019,11 +5408,16 @@ Alias of `Variant[Enum[
'LOG_SYSLOG',
'LOG_USER',
'LOG_UUCP'
- ], Pattern[/^LOG_LOCAL[0-7]$/]]`
+ ], Pattern[/^LOG_LOCAL[0-7]$/]]
+```
-### `Icinga2::LogSeverity`
+### `Icinga2::LogSeverity`
A strict type for log levels
-Alias of `Enum['debug', 'information', 'notice', 'warning', 'critical']`
+Alias of
+
+```puppet
+Enum['debug', 'information', 'notice', 'warning', 'critical']
+```
diff --git a/manifests/config/fragment.pp b/manifests/config/fragment.pp
index 202480aa..76a4df33 100644
--- a/manifests/config/fragment.pp
+++ b/manifests/config/fragment.pp
@@ -25,14 +25,14 @@
# }}',
# }
#
-# @param [String] content
+# @param content
# Content to insert in file specified in target.
#
-# @param [Stdlib::Absolutepath]target
+# @param target
# Destination config file to store in this fragment. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted in alpha numeric order. Defaults to `00`.
#
define icinga2::config::fragment(
diff --git a/manifests/feature/api.pp b/manifests/feature/api.pp
index b1bb0a9b..f9b973da 100644
--- a/manifests/feature/api.pp
+++ b/manifests/feature/api.pp
@@ -48,10 +48,10 @@
# tag => 'icinga2::config::file',
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature api, absent disabled it.
#
-# @param [Enum['ca', 'icinga2', 'none', 'puppet']] pki
+# @param pki
# Provides multiple sources for the certificate, key and ca.
# - puppet: Copies the key, cert and CAcert from the Puppet ssl directory to the cert directory
# /var/lib/icinga2/certs on Linux and C:/ProgramData/icinga2/var/lib/icinga2/certs on Windows.
@@ -65,88 +65,88 @@
# - none: Does nothing and you either have to manage the files yourself as file resources
# or use the ssl_key, ssl_cert, ssl_cacert parameters.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in cert directory. This parameter
# requires pki to be set to 'none'.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in cert directory This parameter
# requires pki to be set to 'none'.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded string to store in cert directory. This parameter
# requires pki to be set to 'none'.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_crl
+# @param ssl_crl
# Optional location of the certificate revocation list.
#
-# @param [Optional[Boolean]] accept_config
+# @param accept_config
# Accept zone configuration.
#
-# @param [Optional[Boolean]] accept_commands
+# @param accept_commands
# Accept remote commands.
#
-# @param [Optional[Integer[0]]] max_anonymous_clients
+# @param max_anonymous_clients
# Limit the number of anonymous client connections (not configured endpoints and signing requests).
#
-# @param [Optional[Stdlib::Host]] ca_host
+# @param ca_host
# This host will be connected to request the certificate. Set this if you use the icinga2 pki.
#
-# @param [Stdlib::Port::Unprivileged] ca_port
+# @param ca_port
# Port of the 'ca_host'.
#
-# @param [Optional[Icinga2::Fingerprint]] fingerprint
+# @param fingerprint
# Fingerprint of the CA host certificate for validation. Requires pki is set to `icinga2`.
# You can get the fingerprint via 'openssl x509 -noout -fingerprint -sha256 -inform pem -in [certificate-file.crt]'
# on your CA host. (Icinga2 versions before 2.12.0 require '-sha1' as digest algorithm.)
#
-# @param Variant[[String, Sensitive[String]] ticket_salt
+# @param ticket_salt
# Salt to use for ticket generation. The salt is stored to api.conf if none or ca is chosen for pki.
# Defaults to constant TicketSalt. Keep in mind this parameter is parsed so please use only alpha numric
# characters as salt or a constant.
#
-# @param [Optional[Variant[String, Sensitive[String]]]] ticket_id
+# @param ticket_id
# If a ticket_id is given it will be used instead of generating an ticket_id.
# The ticket_id will be used only when requesting a certificate from the ca_host
# in case the pki is set to 'icinga2'.
#
-# @param [Hash[String, Hash]] endpoints
+# @param endpoints
# Hash to configure endpoint objects. `NodeName` is a icnga2 constant.
#
-# @param [Hash[String, Hash]] zones
+# @param zones
# Hash to configure zone objects. `ZoneName` and `NodeName` are icinga2 constants.
#
-# @param [Optional[Enum['TLSv1', 'TLSv1.1', 'TLSv1.2']]] ssl_protocolmin
+# @param ssl_protocolmin
# Minimal TLS version to require.
#
-# @param [Optional[Icinga2::Interval]] ssl_handshake_timeout
+# @param ssl_handshake_timeout
# TLS Handshake timeout.
#
-# @param [Optional[Icinga2::Interval]] connect_timeout
+# @param connect_timeout
# Timeout for establishing new connections.
#
-# @param [Optional[String]] ssl_cipher_list
+# @param ssl_cipher_list
# List of allowed TLS ciphers, to finetune encryption.
#
-# @param [Optional[Stdlib::Host]] bind_host
+# @param bind_host
# The IP address the api listener will be bound to.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] bind_port
+# @param bind_port
# The port the api listener will be bound to.
#
-# @param [Optional[Array[String]]] access_control_allow_origin
+# @param access_control_allow_origin
# Specifies an array of origin URLs that may access the API.
#
-# @param [Optional[Boolean]] access_control_allow_credentials
+# @param access_control_allow_credentials
# Indicates whether or not the actual request can be made using credentials.
#
-# @param [Optional[String]] access_control_allow_headers
+# @param access_control_allow_headers
# Used in response to a preflight request to indicate which HTTP headers can be used when making the actual request.
#
-# @param [Optional[Array[Enum['GET', 'POST', 'PUT', 'DELETE']]]] access_control_allow_methods
+# @param access_control_allow_methods
# Used in response to a preflight request to indicate which HTTP methods can be used when making the actual request.
#
-# @param [Optional[String]] environment
+# @param environment
# Used as suffix in TLS SNI extension name; default from constant ApiEnvironment, which is empty.
#
class icinga2::feature::api(
diff --git a/manifests/feature/checker.pp b/manifests/feature/checker.pp
index aa4c6cc0..0cfed5a0 100644
--- a/manifests/feature/checker.pp
+++ b/manifests/feature/checker.pp
@@ -1,11 +1,12 @@
# @summary
# Configures the Icinga 2 feature checker.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature checker, absent disabled it.
#
-# @param [Optional[Integer[1]]] concurrent_checks
+# @param concurrent_checks
# The maximum number of concurrent checks.
+#
# @note Deprecated in Icinga 2.11, replaced by global constant
# MaxConcurrentChecks which will be set if you still use concurrent_checks.
#
diff --git a/manifests/feature/command.pp b/manifests/feature/command.pp
index 839465ba..25ce7b70 100644
--- a/manifests/feature/command.pp
+++ b/manifests/feature/command.pp
@@ -1,10 +1,10 @@
# @summary
# Configures the Icinga 2 feature command.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present to enable the feature command, absent to disabled it.
#
-# @param [Optional[Stdlib::Absolutepath]] command_path
+# @param command_path
# Absolute path to the command pipe.
#
class icinga2::feature::command(
diff --git a/manifests/feature/compatlog.pp b/manifests/feature/compatlog.pp
index 8c8f91b0..9c53e69b 100644
--- a/manifests/feature/compatlog.pp
+++ b/manifests/feature/compatlog.pp
@@ -1,13 +1,13 @@
# @summary
# Configures the Icinga 2 feature compatlog.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature compatlog, absent disabled it.
#
-# @param [Optional[Stdlib::Absolutepath]] log_dir
+# @param log_dir
# Absolute path to the log directory.
#
-# @param [Optional[Enum['DAILY', 'HOURLY', 'MONTHLY', 'WEEKLY']]] rotation_method
+# @param rotation_method
# Sets how often should the log file be rotated.
#
class icinga2::feature::compatlog(
diff --git a/manifests/feature/debuglog.pp b/manifests/feature/debuglog.pp
index 26bb7abd..41a88885 100644
--- a/manifests/feature/debuglog.pp
+++ b/manifests/feature/debuglog.pp
@@ -1,10 +1,10 @@
# @summary
# Configures the Icinga 2 feature mainlog.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature mainlog, absent disables it.
#
-# @param [Stdlib::Absolutepath] path
+# @param path
# Absolute path to the log file.
#
class icinga2::feature::debuglog(
diff --git a/manifests/feature/elasticsearch.pp b/manifests/feature/elasticsearch.pp
index e0dc9f1c..c88de9d7 100644
--- a/manifests/feature/elasticsearch.pp
+++ b/manifests/feature/elasticsearch.pp
@@ -7,58 +7,58 @@
# index => "icinga2"
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature elasticsearch, absent disables it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# Elasticsearch host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# Elasticsearch HTTP port.
#
-# @param [Optional[String]] index
+# @param index
# Elasticsearch index name.
#
-# @param [Optional[String]] username
+# @param username
# Elasticsearch user name.
#
-# @param [Optional[Variant[String, Sensitive[String]]]] password
+# @param password
# Elasticsearch user password. The password parameter isn't parsed anymore.
#
-# @param [Optional[Boolean]] enable_ssl
+# @param enable_ssl
# Either enable or disable SSL. Other SSL parameters are only affected if this is set to 'true'.
#
-# @param [Optional[Boolean]] ssl_noverify
+# @param ssl_noverify
# Disable TLS peer verification.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in spicified ssl_key_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded to store in spicified ssl_cert_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded string to store in spicified ssl_cacert_path file.
#
-# @param [Optional[Boolean]] enable_send_perfdata
+# @param enable_send_perfdata
# Whether to send check performance data metrics.
#
-# @param [Optional[Icinga2::Interval]] flush_interval
+# @param flush_interval
# How long to buffer data points before transferring to Elasticsearch.
#
-# @param [Optional[Integer]] flush_threshold
+# @param flush_threshold
# How many data points to buffer before forcing a transfer to Elasticsearch.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::elasticsearch(
diff --git a/manifests/feature/gelf.pp b/manifests/feature/gelf.pp
index c6e544fe..4bbed62f 100644
--- a/manifests/feature/gelf.pp
+++ b/manifests/feature/gelf.pp
@@ -1,49 +1,49 @@
# @summary
# Configures the Icinga 2 feature gelf.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature gelf, absent disables it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# GELF receiver host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# GELF receiver port.
#
-# @param [Optional[String]] source
+# @param source
# Source name for this instance.
#
-# @param [Boolean] enable_ssl
+# @param enable_ssl
# Either enable or disable SSL/TLS. Other SSL parameters are only affected if this is set to 'true'.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in spicified ssl_key_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in spicified ssl_cert_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded string to store in spicified ssl_cacert_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Boolean]] ssl_noverify
+# @param ssl_noverify
# Disable TLS peer verification.
#
-# @param [Optional[Boolean]] enable_send_perfdata
+# @param enable_send_perfdata
# Enable performance data for 'CHECK RESULT' events.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::gelf(
diff --git a/manifests/feature/graphite.pp b/manifests/feature/graphite.pp
index 6c19927e..74a225de 100644
--- a/manifests/feature/graphite.pp
+++ b/manifests/feature/graphite.pp
@@ -9,24 +9,24 @@
# enable_send_metadata => true,
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature graphite, absent disabled it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# Graphite Carbon host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# Graphite Carbon port.
#
-# @param [Optional[String]] host_name_template
+# @param host_name_template
# Template for metric path of hosts.
#
-# @param [Optional[String]] service_name_template
+# @param service_name_template
# Template for metric path of services.
#
-# @param [Optional[Boolean]] enable_send_thresholds
+# @param enable_send_thresholds
#
-# @param [Optional[Boolean]] enable_send_metadata
+# @param enable_send_metadata
#
# @param [Optional[Boolean]] enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
diff --git a/manifests/feature/icingadb.pp b/manifests/feature/icingadb.pp
index db10e599..85b47bdd 100644
--- a/manifests/feature/icingadb.pp
+++ b/manifests/feature/icingadb.pp
@@ -1,22 +1,22 @@
# @summary
# Configures the Icinga 2 feature icingadb.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present, enables the feature icingadb, absent disabled it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# IcingaDB Redis host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# IcingaDB Redis port.
#
-# @param [Optional[Stdlib::Absolutepath]] socket_path
+# @param socket_path
# IcingaDB Redis unix sockt. Can be used instead of host and port attributes.
#
-# @param [Optional[Icinga2::Interval]] connect_timeout
+# @param connect_timeout
# Timeout for establishing new connections.
#
-# @param [Optional[Variant[String, Sensitive[String]]]] password
+# @param password
# IcingaDB Redis password. The password parameter isn't parsed anymore.
#
class icinga2::feature::icingadb(
diff --git a/manifests/feature/idomysql.pp b/manifests/feature/idomysql.pp
index a70bba0e..18fc3474 100644
--- a/manifests/feature/idomysql.pp
+++ b/manifests/feature/idomysql.pp
@@ -19,79 +19,79 @@
# require => Mysql::Db['icinga2']
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature ido-mysql, absent disables it.
#
-# @param [Stdlib::Host] host
+# @param host
# MySQL database host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# MySQL database port.
#
-# @param [Optional[Stdlib::Absolutepath]] socket_path
+# @param socket_path
# MySQL socket path.
#
-# @param [String] user
+# @param user
# MySQL database user with read/write permission to the icinga database.
#
-# @param [Variant[String, Sensitive[String]]] password
+# @param password
# MySQL database user's password. The password parameter isn't parsed anymore.
#
-# @param [String] database
+# @param database
# MySQL database name.
#
-# @param [Boolean] enable_ssl
+# @param enable_ssl
# Either enable or disable SSL/TLS. Other SSL parameters are only affected if this is set to 'true'.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate. Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in spicified ssl_key_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in spicified ssl_cert_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded string to store in spicified ssl_cacert_path file.
# Only valid if ssl is enabled.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_capath
+# @param ssl_capath
# MySQL SSL trusted SSL CA certificates in PEM format directory path. Only valid if ssl is enabled.
#
-# @param [Optional[String]] ssl_cipher
+# @param ssl_cipher
# MySQL SSL list of allowed ciphers. Only valid if ssl is enabled.
#
-# @param [Optional[String]] table_prefix
+# @param table_prefix
# MySQL database table prefix.
#
-# @param [Optional[String]] instance_name
+# @param instance_name
# Unique identifier for the local Icinga 2 instance.
#
-# @param [Optional[String]] instance_description
+# @param instance_description
# Description for the Icinga 2 instance.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
-# @param [Optional[Icinga2::Interval]] failover_timeout
+# @param failover_timeout
# Set the failover timeout in a HA cluster. Must not be lower than 60s.
#
-# @param [Optional[Icinga2::IdoCleanup]] cleanup
+# @param cleanup
# Hash with items for historical table cleanup.
#
-# @param [Optional[Array]] categories
+# @param categories
# Array of information types that should be written to the database.
#
-# @param [Boolean] import_schema
+# @param import_schema
# Whether to import the MySQL schema or not.
#
class icinga2::feature::idomysql(
diff --git a/manifests/feature/idopgsql.pp b/manifests/feature/idopgsql.pp
index cf866bcf..4f06fcc4 100644
--- a/manifests/feature/idopgsql.pp
+++ b/manifests/feature/idopgsql.pp
@@ -18,67 +18,67 @@
# require => Postgresql::Server::Db['icinga2']
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature ido-pgsql, absent disables it.
#
-# @param [Stdlib::Host] host
+# @param host
# PostgreSQL database host address.
#
-# @param [Stdlib::Port::Unprivileged] port
+# @param port
# PostgreSQL database port.
#
-# @param [String] user
+# @param user
# PostgreSQL database user with read/write permission to the icinga database.
#
-# @param [Variant[String, Sensitive[String]]] password
+# @param password
# PostgreSQL database user's password. The password parameter isn't parsed anymore.
#
-# @param [String] database
+# @param database
# PostgreSQL database name.
#
-# @param [Optional[Enum['disable', 'allow', 'prefer', 'verify-full', 'verify-ca', 'require']]] ssl_mode
+# @param ssl_mode
# Enable SSL connection mode.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in spicified ssl_key_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in spicified ssl_cert_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded string to store in spicified ssl_cacert_path file.
#
-# @param [Optional[String]] table_prefix
+# @param table_prefix
# PostgreSQL database table prefix.
#
-# @param [Optional[String]] instance_name
+# @param instance_name
# Unique identifier for the local Icinga 2 instance.
#
-# @param [Optional[String]] instance_description
+# @param instance_description
# Description of the Icinga 2 instance.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
-# @param [Optional[Icinga2::Interval]] failover_timeout
+# @param failover_timeout
# Set the failover timeout in a HA cluster. Must not be lower than 60s.
#
-# @param [Optional[Icinga2::IdoCleanup]] cleanup
+# @param cleanup
# Hash with items for historical table cleanup.
#
-# @param [Optional[Array]] categories
+# @param categories
# Array of information types that should be written to the database.
#
-# @param [Boolean] import_schema
+# @param import_schema
# Whether to import the PostgreSQL schema or not.
#
class icinga2::feature::idopgsql(
diff --git a/manifests/feature/influxdb.pp b/manifests/feature/influxdb.pp
index 2509ea16..0b20b21a 100644
--- a/manifests/feature/influxdb.pp
+++ b/manifests/feature/influxdb.pp
@@ -9,76 +9,76 @@
# database => "icinga2"
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature influxdb, absent disables it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# InfluxDB host address.
#
-# @param [Optional[Stdlib::Port]] port
+# @param port
# InfluxDB HTTP port.
#
-# @param [Optional[String]] database
+# @param database
# InfluxDB database name.
#
-# @param [Optional[String]] username
+# @param username
# InfluxDB user name.
#
-# @param [Optional[Variant[String, Sensitive[String]]]] password
+# @param password
# InfluxDB user password. The password parameter isn't parsed anymore.
#
-# @param [Optional[Icinga2::BasicAuth]] basic_auth
+# @param basic_auth
# Username and password for HTTP basic authentication.
#
-# @param [Optional[Boolean]] enable_ssl
+# @param enable_ssl
# Either enable or disable SSL. Other SSL parameters are only affected if this is set to 'true'.
#
-# @param [Optional[Boolean]] ssl_noverify
+# @param ssl_noverify
# Disable TLS peer verification.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in ssl_key_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in ssl_cert_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded to store in ssl_cacert_path file.
#
-# @param [String] host_measurement
+# @param host_measurement
# The value of this is used for the measurement setting in host_template.
#
-# @param [Hash] host_tags
+# @param host_tags
# Tags defined in this hash will be set in the host_template.
#
-# @param [String] service_measurement
+# @param service_measurement
# The value of this is used for the measurement setting in host_template.
#
-# @param [Hash] service_tags
+# @param service_tags
# Tags defined in this hash will be set in the service_template.
#
-# @param [Optional[Boolean]] enable_send_thresholds
+# @param enable_send_thresholds
# Whether to send warn, crit, min & max tagged data.
#
-# @param [Optional[Boolean]] enable_send_metadata
+# @param enable_send_metadata
# Whether to send check metadata e.g. states, execution time, latency etc.
#
-# @param [Optional[Icinga2::Interval]] flush_interval
+# @param flush_interval
# How long to buffer data points before transfering to InfluxDB.
#
-# @param [Optional[Integer[1]]] flush_threshold
+# @param flush_threshold
# How many data points to buffer before forcing a transfer to InfluxDB.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::influxdb(
diff --git a/manifests/feature/influxdb2.pp b/manifests/feature/influxdb2.pp
index 0036bfef..28b305a4 100644
--- a/manifests/feature/influxdb2.pp
+++ b/manifests/feature/influxdb2.pp
@@ -9,73 +9,73 @@
# auth_token => "supersecret",
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature influxdb, absent disables it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# InfluxDB host address.
#
-# @param [Optional[Stdlib::Port]] port
+# @param port
# InfluxDB HTTP port.
#
-# @param [String] organization
+# @param organization
# InfluxDB organization name.
#
-# @param [String] bucket
+# @param bucket
# InfluxDB bucket name.
#
-# @param [Variant[String, Sensitive[String]]] auth_token
+# @param auth_token
# InfluxDB authentication token.
#
-# @param [Optional[Boolean]] enable_ssl
+# @param enable_ssl
# Either enable or disable SSL. Other SSL parameters are only affected if this is set to 'true'.
#
-# @param [Optional[Boolean]] ssl_noverify
+# @param ssl_noverify
# Disable TLS peer verification.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_key_path
+# @param ssl_key_path
# Location of the private key.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cert_path
+# @param ssl_cert_path
# Location of the certificate.
#
-# @param [Optional[Stdlib::Absolutepath]] ssl_cacert_path
+# @param ssl_cacert_path
# Location of the CA certificate.
#
-# @param [Optional[Stdlib::Base64]] ssl_key
+# @param ssl_key
# The private key in a base64 encoded string to store in ssl_key_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cert
+# @param ssl_cert
# The certificate in a base64 encoded string to store in ssl_cert_path file.
#
-# @param [Optional[Stdlib::Base64]] ssl_cacert
+# @param ssl_cacert
# The CA root certificate in a base64 encoded to store in ssl_cacert_path file.
#
-# @param [String] host_measurement
+# @param host_measurement
# The value of this is used for the measurement setting in host_template.
#
-# @param [Hash] host_tags
+# @param host_tags
# Tags defined in this hash will be set in the host_template.
#
-# @param [String] service_measurement
+# @param service_measurement
# The value of this is used for the measurement setting in host_template.
#
-# @param [Hash] service_tags
+# @param service_tags
# Tags defined in this hash will be set in the service_template.
#
-# @param [Optional[Boolean]] enable_send_thresholds
+# @param enable_send_thresholds
# Whether to send warn, crit, min & max tagged data.
#
-# @param [Optional[Boolean]] enable_send_metadata
+# @param enable_send_metadata
# Whether to send check metadata e.g. states, execution time, latency etc.
#
-# @param [Optional[Icinga2::Interval]] flush_interval
+# @param flush_interval
# How long to buffer data points before transfering to InfluxDB.
#
-# @param [Optional[Integer[1]]] flush_threshold
+# @param flush_threshold
# How many data points to buffer before forcing a transfer to InfluxDB.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::influxdb2(
diff --git a/manifests/feature/livestatus.pp b/manifests/feature/livestatus.pp
index 5ac7f2fa..2e036aa5 100644
--- a/manifests/feature/livestatus.pp
+++ b/manifests/feature/livestatus.pp
@@ -1,22 +1,22 @@
# @summary
# Configures the Icinga 2 feature livestatus.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature livestatus, absent disables it.
#
-# @param [Optional[Enum['tcp', 'unix']]] socket_type
+# @param socket_type
# Specifies the socket type. Can be either 'tcp' or 'unix'.
#
-# @param [Optional[Stdlib::Host]] bind_host
+# @param bind_host
# IP address to listen for connections. Only valid when socket_type is 'tcp'.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] bind_port
+# @param bind_port
# Port to listen for connections. Only valid when socket_type is 'tcp'.
#
-# @param [Optional[Stdlib::Absolutepath]] socket_path
+# @param socket_path
# Specifies the path to the UNIX socket file. Only valid when socket_type is 'unix'.
#
-# @param [Optional[Stdlib::Absolutepath]] compat_log_path
+# @param compat_log_path
# Required for historical table queries. Requires CompatLogger feature to be enabled.
#
class icinga2::feature::livestatus(
diff --git a/manifests/feature/mainlog.pp b/manifests/feature/mainlog.pp
index 2e631de4..89a3f520 100644
--- a/manifests/feature/mainlog.pp
+++ b/manifests/feature/mainlog.pp
@@ -1,13 +1,13 @@
# @summary
# Configures the Icinga 2 feature mainlog.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to 'present' enables the feature mainlog, 'absent' disabled it.
#
-# @param [Icinga2::LogSeverity] severity
+# @param severity
# You can set the log severity to 'information', 'notice', 'warning' or 'debug'.
#
-# @param [Stdlib::Absolutepath] path
+# @param path
# Absolute path to the log file.
#
class icinga2::feature::mainlog(
diff --git a/manifests/feature/notification.pp b/manifests/feature/notification.pp
index 1f6faf62..e5c43549 100644
--- a/manifests/feature/notification.pp
+++ b/manifests/feature/notification.pp
@@ -1,10 +1,10 @@
# @summary
# Configures the Icinga 2 feature notification.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature notification, absent disabled it.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Notifications are load-balanced amongst all nodes in a zone.
#
class icinga2::feature::notification(
diff --git a/manifests/feature/opentsdb.pp b/manifests/feature/opentsdb.pp
index ae459a0a..1f0d44e5 100644
--- a/manifests/feature/opentsdb.pp
+++ b/manifests/feature/opentsdb.pp
@@ -1,16 +1,16 @@
# @summary
# Configures the Icinga 2 feature opentsdb.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature opentsdb, absent disables it.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# OpenTSDB host address.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# OpenTSDB port.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::opentsdb(
diff --git a/manifests/feature/perfdata.pp b/manifests/feature/perfdata.pp
index 558f82d8..93b0152e 100644
--- a/manifests/feature/perfdata.pp
+++ b/manifests/feature/perfdata.pp
@@ -1,32 +1,32 @@
# @summary
# Configures the Icinga 2 feature perfdata.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature perfdata, absent disables it.
#
-# @param [Optional[Stdlib::Absolutepath]] host_perfdata_path
+# @param host_perfdata_path
# Absolute path to the perfdata file for hosts.
#
-# @param [Optional[Stdlib::Absolutepath]] service_perfdata_path
+# @param service_perfdata_path
# Absolute path to the perfdata file for services.
#
-# @param [Optional[Stdlib::Absolutepath]] host_temp_path
+# @param host_temp_path
# Path to the temporary host file.
#
-# @param [Optional[Stdlib::Absolutepath]] service_temp_path
+# @param service_temp_path
# Path to the temporary service file.
#
-# @param [Optional[String]] host_format_template
+# @param host_format_template
# Host Format template for the performance data file.
#
-# @param [Optional[String]] service_format_template
+# @param service_format_template
# Service Format template for the performance data file.
#
-# @param [Optional[Icinga2::Interval]] rotation_interval
+# @param rotation_interval
# Rotation interval for the files specified in {host,service}_perfdata_path. Can be written in minutes or seconds,
# i.e. 1m or 15s.
#
-# @param [Optional[Boolean]] enable_ha
+# @param enable_ha
# Enable the high availability functionality. Only valid in a cluster setup.
#
class icinga2::feature::perfdata(
diff --git a/manifests/feature/statusdata.pp b/manifests/feature/statusdata.pp
index b37e4d6e..7019033f 100644
--- a/manifests/feature/statusdata.pp
+++ b/manifests/feature/statusdata.pp
@@ -1,16 +1,16 @@
# @summary
# Configures the Icinga 2 feature statusdata.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature statusdata, absent disables it.
#
-# @param [Optional[Stdlib::Absolutepath]] status_path
+# @param status_path
# Absolute path to the status.dat file.
#
-# @param [Optional[Stdlib::Absolutepath]] objects_path
+# @param objects_path
# Absolute path to the object.cache file.
#
-# @param [Optional[Icinga2::Interval]] update_interval
+# @param update_interval
# Interval in seconds to update both status files. You can also specify
# it in minutes with the letter m or in seconds with s.
#
diff --git a/manifests/feature/syslog.pp b/manifests/feature/syslog.pp
index e956b1a1..1ed8671e 100644
--- a/manifests/feature/syslog.pp
+++ b/manifests/feature/syslog.pp
@@ -1,13 +1,13 @@
# @summary
# Configures the Icinga 2 feature syslog.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature syslog, absent disables it.
#
-# @param [Icinga2::LogSeverity] severity
+# @param severity
# You can choose the log severity between information, notice, warning or debug.
#
-# @param [Optional[Icinga2::LogFacility]] facility
+# @param facility
# Defines the facility to use for syslog entries. This can be a facility constant
# like FacilityDaemon.
#
diff --git a/manifests/feature/windowseventlog.pp b/manifests/feature/windowseventlog.pp
index 77acf22f..b5b2a7a7 100644
--- a/manifests/feature/windowseventlog.pp
+++ b/manifests/feature/windowseventlog.pp
@@ -1,10 +1,10 @@
# @summary
# Configures the Icinga 2 feature windowseventlog.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the feature windowseventlog, absent disables it.
#
-# @param [Icinga2::LogSeverity] severity
+# @param severity
# You can choose the log severity between information, notice, warning or debug.
#
class icinga2::feature::windowseventlog(
diff --git a/manifests/globals.pp b/manifests/globals.pp
index 6dc9e2b4..5d09ae3b 100644
--- a/manifests/globals.pp
+++ b/manifests/globals.pp
@@ -5,69 +5,69 @@
#
# @api private
#
-# @param [String] package_name
+# @param package_name
# The name of the icinga package to manage.
#
-# @param [String] service_name
+# @param service_name
# The name of the icinga service to manage.
#
-# @param [Optional[String]] user
+# @param user
# User as the icinga process runs.
# CAUTION: This does not manage the user context for the runnig icinga 2 process!
# The parameter is only used for ownership of files or directories.
#
-# @param [Optional[String]] group
+# @param group
# Group as the icinga process runs.
# CAUTION: This does not manage the group context for the runnig icinga 2 process!
# The parameter is only used for group membership of files or directories.
#
-# @param [Optional[String]] logon_account
+# @param logon_account
# The user context in which the service should run.
# ATM only relevant on Windows.
#
-# @param [Optional[String]] selinux_package_name
+# @param selinux_package_name
# The name of the icinga selinux package.
#
-# @param [Optional[String]] ido_mysql_package_name
+# @param ido_mysql_package_name
# The name of the icinga package that's needed for MySQL.
#
-# @param [String] ido_mysql_schema
+# @param ido_mysql_schema
# Path to the MySQL schema to import.
#
-# @param [Optional[String]] ido_pgsql_package_name
+# @param ido_pgsql_package_name
# The name of the icinga package that's needed for Postrgesql.
#
-# @param [String] ido_pgsql_schema
+# @param ido_pgsql_schema
# Path to the Postgresql schema to import.
#
-# @param [Stdlib::Absolutepath] icinga2_bin
+# @param icinga2_bin
# Path to the icinga2 binary.
#
-# @param [Stdlib::Absolutepath] conf_dir
+# @param conf_dir
# Location of the configuration directory of Icinga.
#
-# @param [Stdlib::Absolutepath] lib_dir
+# @param lib_dir
# Path to the directory contained the system libs.
#
-# @param [Stdlib::Absolutepath] log_dir
+# @param log_dir
# Location to store Icinga log files.
#
-# @param [Stdlib::Absolutepath] run_dir
+# @param run_dir
# Runtime directory of Icinga.
#
-# @param [Stdlib::Absolutepath] spool_dir
+# @param spool_dir
# Path to spool files of Icinga.
#
-# @param [Stdlib::Absolutepath] cache_dir
+# @param cache_dir
# Path to cache files of Icinga.
#
-# @param [Stdlib::Absolutepath] cert_dir
+# @param cert_dir
# Path to the directory where Icinga stores keys and certificates.
#
-# @param [Stdlib::Absolutepath] ca_dir
+# @param ca_dir
# Path to CA.
#
-# @param [Optional[String]] service_reload
+# @param service_reload
# How to do a reload of the Icinga process.
#
class icinga2::globals(
diff --git a/manifests/init.pp b/manifests/init.pp
index 68614199..d0756995 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -71,47 +71,47 @@
# confd => 'local.d',
# }
#
-# @param [Stdlib::Ensure::Service] ensure
+# @param ensure
# Manages if the service should be stopped or running.
#
-# @param [Boolean] enable
+# @param enable
# If set to true the Icinga 2 service will start on boot.
#
-# @param [Boolean] manage_repo
+# @param manage_repo
# Deprecated, use manage_repos.
#
-# @param [Boolean] manage_repos
+# @param manage_repos
# When set to true this module will use the module icinga/puppet-icinga to manage repositories,
# e.g. the release repo on packages.icinga.com repository by default, the EPEL repository or Backports.
# For more information, see http://github.com/icinga/puppet-icinga.
#
-# @param [Boolean] manage_package
+# @param manage_package
# Deprecated, use manage_packages.
#
-# @param [Boolean] manage_packages
+# @param manage_packages
# If set to false packages aren't managed.
#
-# @param [Boolean] manage_selinux
+# @param manage_selinux
# If set to true the icinga selinux package is installed. Requires a `selinux_package_name` (icinga2::globals)
# and `manage_packages` has to be set to true.
#
-# @param [Boolean] manage_service
+# @param manage_service
# If set to true the service is managed otherwise the service also
# isn't restarted if a config file changed.
#
-# @param [Array] features
+# @param features
# List of features to activate. Defaults to [checker, mainlog, notification].
#
-# @param [Boolean] purge_features
+# @param purge_features
# Define if configuration files for features not managed by Puppet should be purged.
#
-# @param [Hash] constants
+# @param constants
# Hash of constants. Defaults are set in the params class. Your settings will be merged with the defaults.
#
-# @param [Array] plugins
+# @param plugins
# A list of the ITL plugins to load. Defaults to [ 'plugins', 'plugins-contrib', 'windows-plugins', 'nscp' ].
#
-# @param [Variant[Boolean, String]] confd
+# @param confd
# `conf.d` is the directory where Icinga 2 stores its object configuration by default. To disable it,
# set this parameter to `false`. By default this parameter is `true`. It's also possible to assign your
# own directory. This directory must be managed outside of this module as file resource
diff --git a/manifests/object.pp b/manifests/object.pp
index de2a1956..8c5614f5 100644
--- a/manifests/object.pp
+++ b/manifests/object.pp
@@ -3,50 +3,50 @@
#
# @api private
#
-# @param [Enum['present', 'absent']] ensure
+# @param ensure
# Set to present enables the object, absent disabled it.
#
-# @param [String] object_name
+# @param object_name
# Set the icinga2 name of the object.
#
-# @param [Boolean] template
+# @param template
# Set to true will define a template otherwise an object.
# Ignored if apply is set.
#
-# @param [Variant[Boolean, Pattern[/^.+\s+(=>\s+.+\s+)?in\s+.+$/]]] apply
+# @param apply
# Dispose an apply instead an object if set to 'true'. Value is taken as statement,
# i.e. 'vhost => config in host.vars.vhosts'.
#
-# @param [Variant[Boolean, String]] prefix
+# @param prefix
# Set object_name as prefix in front of 'apply for'. Only effects if apply is a string.
#
-# @param [Optional[Enum['Host', 'Service']]] apply_target
+# @param apply_target
# Optional for an object type on which to target the apply rule. Valid values are `Host` and `Service`.
#
-# @param [Array] import
+# @param import
# A sorted list of templates to import in this object.
#
-# @param [Array] assign
+# @param assign
# Array of assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Array of ignore rules.
#
-# @param [Hash] attrs
+# @param attrs
# Hash for the attributes of this object. Keys are the attributes and
# values are there values.
#
-# @param [String] object_type
+# @param object_type
# Icinga 2 object type for this object.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
-# @param [Array] attrs_list
+# @param attrs_list
# Array of all possible attributes for this object type.
#
define icinga2::object(
diff --git a/manifests/object/apiuser.pp b/manifests/object/apiuser.pp
index 09e6c135..3b44487a 100644
--- a/manifests/object/apiuser.pp
+++ b/manifests/object/apiuser.pp
@@ -34,23 +34,23 @@
# target => '/etc/icinga2/conf.d/api-users.conf',
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] apiuser_name
+# @param apiuser_name
# Set the name of the apiuser object.
#
-# @param [Optional[Variant[String, Sensitive[String]]]] password
+# @param password
# Password string. The password parameter isn't parsed anymore.
#
-# @param [Optional[String]] client_cn
+# @param client_cn
# Optional. Client Common Name (CN).
#
-# @param [Optional[Array]] permissions
+# @param permissions
# Array of permissions. Either as string or dictionary with the keys permission
# and filter. The latter must be specified as function.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared at the
# first time.
#
diff --git a/manifests/object/checkcommand.pp b/manifests/object/checkcommand.pp
index cb9d4a95..b2796195 100644
--- a/manifests/object/checkcommand.pp
+++ b/manifests/object/checkcommand.pp
@@ -1,42 +1,42 @@
# @summary
# Manage Icinga 2 Host objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] checkcommand_name
+# @param checkcommand_name
# Title of the CheckCommand object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Optional[Variant[Array, String]]] command
+# @param command
# The command. This can either be an array of individual command arguments.
# Alternatively a string can be specified in which case the shell interpreter (usually /bin/sh) takes care of parsing the command.
# When using the "arguments" attribute this must be an array. Can be specified as function for advanced implementations.
#
-# @param [Optional[Hash]] env
+# @param env
# A dictionary of macros which should be exported as environment variables prior to executing the command.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Icinga2::Interval]] timeout
+# @param timeout
# The command timeout in seconds.
#
-# @param [Optional[Variant[Hash, String]]] arguments
+# @param arguments
# A dictionary of command arguments.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
#
diff --git a/manifests/object/checkresultreader.pp b/manifests/object/checkresultreader.pp
index 429abc0f..e06efe8d 100644
--- a/manifests/object/checkresultreader.pp
+++ b/manifests/object/checkresultreader.pp
@@ -1,20 +1,20 @@
# @summary
# Manage Icinga 2 CheckResultReader objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] checkresultreader_name
+# @param checkresultreader_name
# Set the Icinga 2 name of the ceckresultreader object.
#
-# @param [Optional[Stdlib::Absolutepath]] spool_dir
+# @param spool_dir
# The directory which contains the check result files.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::checkresultreader (
diff --git a/manifests/object/dependency.pp b/manifests/object/dependency.pp
index ca00554f..48d00d10 100644
--- a/manifests/object/dependency.pp
+++ b/manifests/object/dependency.pp
@@ -1,71 +1,71 @@
# @summary
# Manage Icinga 2 dependency objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] dependency_name
+# @param dependency_name
# Set the Icinga 2 name of the dependency object.
#
-# @param [Optional[String]] parent_host_name
+# @param parent_host_name
# The parent host.
#
-# @param [Optional[String]] parent_service_name
+# @param parent_service_name
# The parent service. If omitted, this dependency object is treated as host
# dependency.
#
-# @param [Optional[String]] child_host_name
+# @param child_host_name
# The child host.
#
-# @param [Optional[String]] child_service_name
+# @param child_service_name
# The child service. If omitted, this dependency object is treated as host
# dependency.
#
-# @param [Optional[Boolean]] disable_checks
+# @param disable_checks
# Whether to disable checks when this dependency fails.
#
-# @param [Optional[Boolean]] disable_notifications
+# @param disable_notifications
# Whether to disable notifications when this dependency fails.
# true.
#
-# @param [Optional[Boolean]] ignore_soft_states
+# @param ignore_soft_states
# Whether to ignore soft states for the reachability calculation.
# true.
#
-# @param [Optional[String]] period
+# @param period
# Time period during which this dependency is enabled.
#
-# @param [Optional[Array]] states
+# @param states
# A list of state filters when this dependency should be OK.
#
-# @param [Variant[Boolean, String]] apply
+# @param apply
# Dispose an apply instead an object if set to 'true'. Value is taken as statement,
# i.e. 'vhost => config in host.vars.vhosts'.
#
-# @param [Variant[Boolean, String]] prefix
+# @param prefix
# Set dependency_name as prefix in front of 'apply for'. Only effects if apply is a string.
#
-# @param [Enum['Host', 'Service']] apply_target
+# @param apply_target
# An object type on which to target the apply rule. Valid values are `Host`
# and `Service`.
#
-# @param [Array] assign
+# @param assign
# Assign user group members using the group assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Exclude users using the group ignore rules.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::dependency (
diff --git a/manifests/object/endpoint.pp b/manifests/object/endpoint.pp
index aa5f67ca..1065e34b 100644
--- a/manifests/object/endpoint.pp
+++ b/manifests/object/endpoint.pp
@@ -1,29 +1,29 @@
# @summary
# Manage Icinga 2 endpoint objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] endpoint_name
+# @param endpoint_name
# Set the Icinga 2 name of the endpoint object.
#
-# @param [Optional[Stdlib::Host]] host
+# @param host
# Optional. The IP address of the remote Icinga 2 instance.
#
-# @param [Optional[Stdlib::Port::Unprivileged]] port
+# @param port
# The service name/port of the remote Icinga 2 instance.
#
-# @param [Optional[Icinga2::Interval]] log_duration
+# @param log_duration
# Duration for keeping replay logs on connection loss.
# Attribute is specified in seconds. If log_duration is set to 0, replaying logs is disabled.
# You could also specify the value in human readable format like 10m for 10 minutes
# or 1h for one hour.
#
-# @param [Optional[Stdlib::Absolutepath]] target
+# @param target
# Destination config file to store in this object. File will be declared at the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::endpoint(
diff --git a/manifests/object/eventcommand.pp b/manifests/object/eventcommand.pp
index 7f3474d5..8e3f1aee 100644
--- a/manifests/object/eventcommand.pp
+++ b/manifests/object/eventcommand.pp
@@ -1,39 +1,39 @@
# @summary
# Manage Icinga 2 EventCommand objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] eventcommand_name
+# @param eventcommand_name
# Set the Icinga 2 name of the eventcommand object.
#
-# @param [Optional[Variant[Array, String]]] command
+# @param command
# The command. This can either be an array of individual command arguments.
# Alternatively a string can be specified in which case the shell interpreter (usually /bin/sh)
# takes care of parsing the command.
#
-# @param [Optional[Hash]] env
+# @param env
# A dictionary of macros which should be exported as environment variables prior to executing the command.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Icinga2::Interval]] timeout
+# @param timeout
# The command timeout in seconds.
#
-# @param [Optional[Hash]] arguments
+# @param arguments
# A dictionary of command arguments.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::eventcommand (
diff --git a/manifests/object/host.pp b/manifests/object/host.pp
index d82d3d20..5564d70c 100644
--- a/manifests/object/host.pp
+++ b/manifests/object/host.pp
@@ -1,110 +1,110 @@
# @summary
# Manage Icinga 2 Host objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] host_name
+# @param host_name
# Hostname of the Host object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the host (e.g. displayed by external interfaces instead of the name if set).
#
-# @param [Optional[Stdlib::Host]] address
+# @param address
# The host's address v4.
#
-# @param [Optional[Stdlib::Host]] address6
+# @param address6
# The host's address v6.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Array]] groups
+# @param groups
# A list of host groups this host belongs to.
#
-# @param [Optional[String]] check_command
+# @param check_command
# The name of the check command.
#
-# @param [Optional[Integer[1]]] max_check_attempts
+# @param max_check_attempts
# The number of times a host is re-checked before changing into a hard state.
#
-# @param [Optional[String]] check_period
+# @param check_period
# The name of a time period which determines when this host should be checked.
#
-# @param [Optional[Icinga2::Interval]] check_timeout
+# @param check_timeout
# Check command timeout in seconds. Overrides the CheckCommand's timeout attribute.
#
-# @param [Optional[Icinga2::Interval]] check_interval
+# @param check_interval
# The check interval (in seconds). This interval is used for checks when the host is in a HARD state.
#
-# @param [Optional[Icinga2::Interval]] retry_interval
+# @param retry_interval
# The retry interval (in seconds). This interval is used for checks when the host is in a SOFT state.
#
-# @param [Optional[Boolean]] enable_notifications
+# @param enable_notifications
# Whether notifications are enabled.
#
-# @param [Optional[Boolean]] enable_active_checks
+# @param enable_active_checks
# Whether active checks are enabled.
#
-# @param [Optional[Boolean]] enable_passive_checks
+# @param enable_passive_checks
# Whether passive checks are enabled.
#
-# @param [Optional[Boolean]] enable_event_handler
+# @param enable_event_handler
# Enables event handlers for this host.
#
-# @param [Optional[Boolean]] enable_flapping
+# @param enable_flapping
# Whether flap detection is enabled.
#
-# @param [Optional[Boolean]] enable_perfdata
+# @param enable_perfdata
# Whether performance data processing is enabled.
#
-# @param [Optional[String]] event_command
+# @param event_command
# The name of an event command that should be executed every time the host's
# state changes or the host is in a SOFT state.
#
-# @param [Optional[Integer[1]]] flapping_threshold_low
+# @param flapping_threshold_low
# Flapping lower bound in percent for a host to be considered not flapping.
#
-# @param [Optional[Integer[1]]] flapping_threshold_high
+# @param flapping_threshold_high
# Flapping upper bound in percent for a host to be considered flapping.
#
-# @param [Optional[Boolean]] volatile
+# @param volatile
# The volatile setting enables always HARD state types if NOT-OK state changes occur.
#
-# @param [Optional[String]] zone
+# @param zone
# The zone this object is a member of.
#
-# @param [Optional[String]] command_endpoint
+# @param command_endpoint
# The endpoint where commands are executed on.
#
-# @param [Optional[String]] notes
+# @param notes
# Notes for the host.
#
-# @param [Optional[String]] notes_url
+# @param notes_url
# Url for notes for the host (for example, in notification commands).
#
-# @param [Optional[String]] action_url
+# @param action_url
# Url for actions for the host (for example, an external graphing tool).
#
-# @param [Optional[String]] icon_image
+# @param icon_image
# Icon image for the host. Used by external interfaces only.
#
-# @param [Optional[String]] icon_image_alt
+# @param icon_image_alt
# Icon image description for the host. Used by external interface only.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::host(
diff --git a/manifests/object/hostgroup.pp b/manifests/object/hostgroup.pp
index cbd5c7df..6bb5943f 100644
--- a/manifests/object/hostgroup.pp
+++ b/manifests/object/hostgroup.pp
@@ -9,26 +9,26 @@
# assign => [ 'host.name == NodeName' ],
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the host group.
#
-# @param [Optional[Array]] groups
+# @param groups
# An array of nested group names.
#
-# @param [Array] assign
+# @param assign
# Assign host group members using the group rules.
#
-# @param [Array] ignore
+# @param ignore
# Ignore host group members using the group rules.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared at the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::hostgroup(
diff --git a/manifests/object/icingaapplication.pp b/manifests/object/icingaapplication.pp
index d501fcec..8075fa57 100644
--- a/manifests/object/icingaapplication.pp
+++ b/manifests/object/icingaapplication.pp
@@ -1,44 +1,44 @@
# @summary
# Manage Icinga 2 IcingaApplication objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] app_name
+# @param app_name
# Set the Icinga 2 name of the IcingaApplication object.
#
-# @param [Optional[Boolean]] enable_notifications
+# @param enable_notifications
# Whether notifications are globally enabled.
#
-# @param [Optional[Boolean]] enable_event_handlers
+# @param enable_event_handlers
# Whether event handlers are globally enabled.
#
-# @param [Optional[Boolean]] enable_flapping
+# @param enable_flapping
# Whether flap detection is globally enabled.
#
-# @param [Optional[Boolean]] enable_host_checks
+# @param enable_host_checks
# Whether active host checks are globally enabled.
#
-# @param [Optional[Boolean]] enable_service_checks
+# @param enable_service_checks
# Whether active service checks are globally enabled.
#
-# @param [Optional[Boolean]] enable_perfdata
+# @param enable_perfdata
# Whether performance data processing is globally enabled.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
-# @param [Optional[String]] environment
+# @param environment
# Specify the Icinga environment. This overrides the Environment constant
# specified in the configuration or on the CLI with --define.
#
-# @param [Optional[Stdlib::Absolutepath]] target
+# @param target
# Destination config file to store in this object. File will be declared at the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to control the position in the target file, sorted alpha numeric.
#
define icinga2::object::icingaapplication(
diff --git a/manifests/object/notification.pp b/manifests/object/notification.pp
index ddd02068..d2b34c00 100644
--- a/manifests/object/notification.pp
+++ b/manifests/object/notification.pp
@@ -1,75 +1,75 @@
# @summary
# Manage Icinga 2 notification objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] notification_name
+# @param notification_name
# Set the Icinga 2 name of the notification object.
#
-# @param [Optional[String]] host_name
+# @param host_name
# The name of the host this notification belongs to.
#
-# @param [Optional[String]] service_name
+# @param service_name
# The short name of the service this notification belongs to. If omitted, this
# notification object is treated as host notification.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Variant[String, Array]]] users
+# @param users
# A list of user names who should be notified.
#
-# @param [Optional[Variant[String, Array]]] user_groups
+# @param user_groups
# A list of user group names who should be notified.
#
-# @param [Optional[Hash]] times
+# @param times
# A dictionary containing begin and end attributes for the notification.
#
-# @param [Optional[String]] command
+# @param command
# The name of the notification command which should be executed when the
# notification is triggered.
#
-# @param [Optional[Variant[Icinga2::Interval,Pattern[/(host|service)\./]]]] interval
+# @param interval
# The notification interval (in seconds). This interval is used for active
# notifications.
#
-# @param [Optional[String]] period
+# @param period
# The name of a time period which determines when this notification should be
# triggered.
#
-# @param [Optional[String]] zone
+# @param zone
# The zone this object is a member of.
#
-# @param [Optional[Variant[Array, String]]] types
+# @param types
# A list of type filters when this notification should be triggered.
#
-# @param [Optional[Variant[Array, String]]] states
+# @param states
# A list of state filters when this notification should be triggered.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Variant[Boolean, String]] apply
+# @param apply
# Dispose an apply instead an object if set to 'true'. Value is taken as statement,
# i.e. 'vhost => config in host.vars.vhosts'.
#
-# @param [Variant[Boolean, String]] prefix
+# @param prefix
# Set notification_name as prefix in front of 'apply for'. Only effects if apply is a string.
#
-# @param [Enum['Host', 'Service']] apply_target
+# @param apply_target
# An object type on which to target the apply rule. Valid values are `Host` and `Service`.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::notification (
diff --git a/manifests/object/notificationcommand.pp b/manifests/object/notificationcommand.pp
index 7f532c50..f63c13dc 100644
--- a/manifests/object/notificationcommand.pp
+++ b/manifests/object/notificationcommand.pp
@@ -1,43 +1,43 @@
# @summary
# Manage Icinga 2 notificationcommand objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] notificationcommand_name
+# @param notificationcommand_name
# Set the Icinga 2 name of the notificationcommand object.
#
-# @param [Optional[Variant[Array, String]]] command
+# @param command
# The command. This can either be an array of individual command arguments.
# Alternatively a string can be specified in which case the shell interpreter
# (usually /bin/sh) takes care of parsing the command.
#
-# @param [Optional[Hash]] env
+# @param env
# A dictionary of macros which should be exported as environment variables
# prior to executing the command.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Icinga2::Interval]] timeout
+# @param timeout
# The command timeout in seconds.
#
-# @param [Optional[Hash]] arguments
+# @param arguments
# A dictionary of command arguments.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::notificationcommand (
diff --git a/manifests/object/scheduleddowntime.pp b/manifests/object/scheduleddowntime.pp
index bf098e6f..9ac65879 100644
--- a/manifests/object/scheduleddowntime.pp
+++ b/manifests/object/scheduleddowntime.pp
@@ -1,54 +1,54 @@
# @summary
# Manage Icinga 2 scheduleddowntime objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] scheduleddowntime_name
+# @param scheduleddowntime_name
# Set the Icinga 2 name of the scheduleddowntime object.
#
-# @param [Optional[String]] host_name
+# @param host_name
# The name of the host this comment belongs to.
#
-# @param [Optional[String]] service_name
+# @param service_name
# The short name of the service this comment belongs to. If omitted, this comment object is treated as host comment.
#
-# @param [Optional[String]] author
+# @param author
# The author's name.
#
-# @param [Optional[String]] comment
+# @param comment
# The comment text.
#
-# @param [Optional[Boolean]] fixed
+# @param fixed
# Whether this is a fixed downtime.
#
-# @param [Optional[Icinga2::Interval]] duration
+# @param duration
# The duration as number.
#
-# @param [Optional[Hash]] ranges
+# @param ranges
# A dictionary containing information which days and durations apply to this timeperiod.
#
-# @param [Variant[Boolean, String]] apply
+# @param apply
# Dispose an apply instead an object if set to 'true'. Value is taken as statement,
# i.e. 'vhost => config in host.vars.vhosts'.
#
-# @param [Variant[Boolean, String]] prefix
+# @param prefix
# Set scheduleddowntime_name as prefix in front of 'apply for'. Only effects if apply is a string.
#
-# @param [Enum['Host', 'Service']] apply_target
+# @param apply_target
# An object type on which to target the apply rule. Valid values are `Host` and `Service`.
#
-# @param [Array] assign
+# @param assign
# Assign user group members using the group assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Exclude users using the group ignore rules.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::scheduleddowntime (
diff --git a/manifests/object/service.pp b/manifests/object/service.pp
index d9287af2..62b2e851 100644
--- a/manifests/object/service.pp
+++ b/manifests/object/service.pp
@@ -22,127 +22,127 @@
# target => '/etc/icinga2/zones.d/global-templates/services.conf',
# }
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] service_name
+# @param service_name
# Set the Icinga 2 name of the service object.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the service.
#
-# @param [Optional[String]] host_name
+# @param host_name
# The host this service belongs to. There must be a Host object with
# that name.
#
-# @param [Optional[Array]] groups
+# @param groups
# The service groups this service belongs to.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[String]] check_command
+# @param check_command
# The name of the check command.
#
-# @param [Optional[Integer[1]]] max_check_attempts
+# @param max_check_attempts
# The number of times a service is re-checked before changing into a hard
# state.
#
-# @param [Optional[String]] check_period
+# @param check_period
# The name of a time period which determines when this service should be
# checked.
#
-# @param [Optional[Icinga2::Interval]] check_timeout
+# @param check_timeout
# Check command timeout in seconds. Overrides the CheckCommand's timeout
# attribute.
#
-# @param [Optional[Icinga2::Interval]] check_interval
+# @param check_interval
# The check interval (in seconds). This interval is used for checks when the
# service is in a HARD state.
#
-# @param [Optional[Icinga2::Interval]] retry_interval
+# @param retry_interval
# The retry interval (in seconds). This interval is used for checks when the
# service is in a SOFT state.
#
-# @param [Optional[Boolean]] enable_notifications
+# @param enable_notifications
# Whether notifications are enabled.
#
-# @param [Optional[Boolean]] enable_active_checks
+# @param enable_active_checks
# Whether active checks are enabled.
#
-# @param [Optional[Boolean]] enable_passive_checks
+# @param enable_passive_checks
# Whether passive checks are enabled.
#
-# @param [Optional[Boolean]] enable_event_handler
+# @param enable_event_handler
# Enables event handlers for this host.
#
-# @param [Optional[Boolean]] enable_flapping
+# @param enable_flapping
# Whether flap detection is enabled.
#
-# @param [Optional[Boolean]] enable_perfdata
+# @param enable_perfdata
# Whether performance data processing is enabled.
#
-# @param [Optional[String]] event_command
+# @param event_command
# The name of an event command that should be executed every time the
# service's state changes or the service is in a SOFT state.
#
-# @param [Optional[Integer[1]]] flapping_threshold_low
+# @param flapping_threshold_low
# Flapping lower bound in percent for a host to be considered not flapping.
#
-# @param [Optional[Integer[1]]] flapping_threshold_high
+# @param flapping_threshold_high
# Flapping upper bound in percent for a host to be considered flapping.
#
-# @param [Optional[Boolean]] volatile
+# @param volatile
# The volatile setting enables always HARD state types if NOT-OK state changes
# occur.
#
-# @param [Optional[String]] zone
+# @param zone
# The zone this object is a member of.
#
-# @param [Optional[String]] command_endpoint
+# @param command_endpoint
# The endpoint where commands are executed on.
#
-# @param [Optional[String]] notes
+# @param notes
# Notes for the service.
#
-# @param [Optional[String]] notes_url
+# @param notes_url
# Url for notes for the service (for example, in notification commands).
#
-# @param [Optional[String]] action_url
+# @param action_url
# Url for actions for the service (for example, an external graphing tool).
#
-# @param [Optional[String]] icon_image
+# @param icon_image
# Icon image for the service. Used by external interfaces only.
#
-# @param [Optional[String]] icon_image_alt
+# @param icon_image_alt
# Icon image description for the service. Used by external interface only.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Variant[Boolean, String]] apply
+# @param apply
# Dispose an apply instead an object if set to 'true'. Value is taken as statement,
# i.e. 'vhost => config in host.vars.vhosts'.
#
-# @param [Variant[Boolean, String]] prefix
+# @param prefix
# Set service_name as prefix in front of 'apply for'. Only effects if apply is a string.
#
-# @param [Array] assign
+# @param assign
# Assign user group members using the group assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Exclude users using the group ignore rules.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::service (
diff --git a/manifests/object/servicegroup.pp b/manifests/object/servicegroup.pp
index 0275fd69..f1e901b6 100644
--- a/manifests/object/servicegroup.pp
+++ b/manifests/object/servicegroup.pp
@@ -1,31 +1,31 @@
# @summary
# Manage Icinga 2 servicegroup objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] servicegroup_name
+# @param servicegroup_name
# Set the Icinga 2 name of the servicegroup object.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the service group.
#
-# @param [Optional[Array]] groups
+# @param groups
# An array of nested group names.
#
-# @param [Array] assign
+# @param assign
# Assign user group members using the group assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Exclude users using the group ignore rules.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
diff --git a/manifests/object/timeperiod.pp b/manifests/object/timeperiod.pp
index cad1b086..6e9d95e7 100644
--- a/manifests/object/timeperiod.pp
+++ b/manifests/object/timeperiod.pp
@@ -1,38 +1,38 @@
# @summary
# Manage Icinga 2 timeperiod objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] timeperiod_name
+# @param timeperiod_name
# Set the Icinga 2 name of the timeperiod object.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the time period.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Optional[Hash]] ranges
+# @param ranges
# A dictionary containing information which days and durations apply to this
# timeperiod.
#
-# @param [Optional[Boolean]] prefer_includes
+# @param prefer_includes
# Boolean whether to prefer timeperiods includes or excludes.
#
-# @param [Optional[Array]] excludes
+# @param excludes
# An array of timeperiods, which should exclude from your timerange.
#
-# @param [Optional[Array]] includes
+# @param includes
# An array of timeperiods, which should include into your timerange
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store this object in. File will be declared on the first run.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to control the position in the target file, sorted alpha numeric.
#
define icinga2::object::timeperiod (
diff --git a/manifests/object/user.pp b/manifests/object/user.pp
index 0706c311..8f83c57c 100644
--- a/manifests/object/user.pp
+++ b/manifests/object/user.pp
@@ -1,54 +1,54 @@
# @summary
# Manage Icinga 2 user objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] user_name
+# @param user_name
# Set the Icinga 2 name of the user object.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the user.
#
-# @param [Optional[String]] email
+# @param email
# An email string for this user. Useful for notification commands.
#
-# @param [Optional[String]] pager
+# @param pager
# A pager string for this user. Useful for notification commands.
#
-# @param [Optional[Icinga2::CustomAttributes]] vars
+# @param vars
# A dictionary containing custom attributes that are specific to this service,
# a string to do operations on this dictionary or an array for multiple use
# of custom attributes.
#
-# @param [Optional[Array]] groups
+# @param groups
# An array of group names.
#
-# @param [Optional[Boolean]] enable_notifications
+# @param enable_notifications
# Whether notifications are enabled for this user.
#
-# @param [Optional[String]] period
+# @param period
# The name of a time period which determines when a notification for this user
# should be triggered.
#
-# @param [Optional[Array]] types
+# @param types
# A set of type filters when this notification should be triggered.
# everything is matched.
#
-# @param [Optional[Array]] states
+# @param states
# A set of state filters when this notification should be triggered.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::user (
diff --git a/manifests/object/usergroup.pp b/manifests/object/usergroup.pp
index dbd9eb0b..e3f2c158 100644
--- a/manifests/object/usergroup.pp
+++ b/manifests/object/usergroup.pp
@@ -1,35 +1,35 @@
# @summary
# Manage Icinga 2 usergroup objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] usergroup_name
+# @param usergroup_name
# Set the Icinga 2 name of the usergroup object.
#
-# @param [Optional[String]] display_name
+# @param display_name
# A short description of the service group.
#
-# @param [Array] groups
+# @param groups
# An array of nested group names.
#
-# @param [Array] assign
+# @param assign
# Assign user group members using the group assign rules.
#
-# @param [Array] ignore
+# @param ignore
# Exclude users using the group ignore rules.
#
-# @param [Boolean] template
+# @param template
# Set to true creates a template instead of an object.
#
-# @param [Array] import
+# @param import
# Sorted List of templates to include.
#
-# @param [Stdlib::Absolutepath] target
+# @param target
# Destination config file to store in this object. File will be declared the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to set the position in the target file, sorted alpha numeric.
#
define icinga2::object::usergroup (
diff --git a/manifests/object/zone.pp b/manifests/object/zone.pp
index fa3b658f..65ffbe72 100644
--- a/manifests/object/zone.pp
+++ b/manifests/object/zone.pp
@@ -1,27 +1,27 @@
# @summary
# Manage Icinga 2 zone objects.
#
-# @param [Enum['absent', 'present']] ensure
+# @param ensure
# Set to present enables the object, absent disables it.
#
-# @param [String] zone_name
+# @param zone_name
# Set the Icinga 2 name of the zone object.
#
-# @param [Optional[Array]] endpoints
+# @param endpoints
# List of endpoints belong to this zone.
#
-# @param [Optional[String]] parent
+# @param parent
# Parent zone to this zone.
#
-# @param [Optional[Boolean]] global
+# @param global
# If set to true, a global zone is defined and the parameter endpoints
# and parent are ignored.
#
-# @param [Optional[Stdlib::Absolutepath]] target
+# @param target
# Destination config file to store in this object. File will be declared at the
# first time.
#
-# @param [Variant[String, Integer]] order
+# @param order
# String or integer to control the position in the target file, sorted alpha numeric.
#
define icinga2::object::zone(
diff --git a/manifests/pki/ca.pp b/manifests/pki/ca.pp
index 4c988966..08a38781 100644
--- a/manifests/pki/ca.pp
+++ b/manifests/pki/ca.pp
@@ -13,11 +13,11 @@
# ca_key => '-----BEGIN RSA PRIVATE KEY----- ...',
# }
#
-# @param [Optional[String]] ca_cert
+# @param ca_cert
# Content of the CA certificate. If this is unset, a certificate will be generated with the
# Icinga 2 CLI.
#
-# @param [Optional[String]] ca_key
+# @param ca_key
# Content of the CA key. If this is unset, a key will be generated with the Icinga 2 CLI.
#
class icinga2::pki::ca(