diff --git a/REFERENCE.md b/REFERENCE.md
index 092e7904..a44b85b5 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -80,7 +80,7 @@ start on boot and will be restarted if stopped.
## Classes
-### `icinga2`
+### `icinga2`
This module installs and configures Icinga 2.
@@ -185,9 +185,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`
@@ -195,7 +209,7 @@ Manages if the service should be stopped or running.
Default value: `running`
-##### `enable`
+##### `enable`
Data type: `Boolean`
@@ -203,7 +217,7 @@ If set to true the Icinga 2 service will start on boot.
Default value: ``true``
-##### `manage_repo`
+##### `manage_repo`
Data type: `Boolean`
@@ -211,7 +225,7 @@ Deprecated, use manage_repos.
Default value: ``false``
-##### `manage_repos`
+##### `manage_repos`
Data type: `Boolean`
@@ -221,7 +235,7 @@ For more information, see http://github.com/icinga/puppet-icinga.
Default value: ``false``
-##### `manage_package`
+##### `manage_package`
Data type: `Boolean`
@@ -229,7 +243,7 @@ Deprecated, use manage_packages.
Default value: ``false``
-##### `manage_packages`
+##### `manage_packages`
Data type: `Boolean`
@@ -237,7 +251,7 @@ If set to false packages aren't managed.
Default value: ``true``
-##### `manage_selinux`
+##### `manage_selinux`
Data type: `Boolean`
@@ -246,7 +260,7 @@ and `manage_packages` has to be set to true.
Default value: ``false``
-##### `manage_service`
+##### `manage_service`
Data type: `Boolean`
@@ -255,13 +269,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`
@@ -269,7 +283,7 @@ Define if configuration files for features not managed by Puppet should be purge
Default value: ``true``
-##### `constants`
+##### `constants`
Data type: `Hash`
@@ -277,13 +291,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]`
@@ -294,7 +308,7 @@ with tag icinga2::config::file.
Default value: ``true``
-### `icinga2::feature::api`
+### `icinga2::feature::api`
Configures the Icinga 2 feature api.
@@ -364,9 +378,36 @@ 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)
+* [`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']`
@@ -374,7 +415,7 @@ Set to present enables the feature api, absent disabled it.
Default value: `present`
-##### `pki`
+##### `pki`
Data type: `Enum['ca', 'icinga2', 'none', 'puppet']`
@@ -391,7 +432,7 @@ Provides multiple sources for the certificate, key and ca.
Default value: `'icinga2'`
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -400,7 +441,7 @@ requires pki to be set to 'none'.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -409,7 +450,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]`
@@ -418,7 +459,7 @@ requires pki to be set to 'none'.
Default value: ``undef``
-##### `ssl_crl`
+##### `ssl_crl`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -426,7 +467,7 @@ Optional location of the certificate revocation list.
Default value: ``undef``
-##### `accept_config`
+##### `accept_config`
Data type: `Optional[Boolean]`
@@ -434,7 +475,7 @@ Accept zone configuration.
Default value: ``undef``
-##### `accept_commands`
+##### `accept_commands`
Data type: `Optional[Boolean]`
@@ -442,7 +483,7 @@ Accept remote commands.
Default value: ``undef``
-##### `max_anonymous_clients`
+##### `max_anonymous_clients`
Data type: `Optional[Integer[0]]`
@@ -450,7 +491,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]`
@@ -458,7 +499,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`
@@ -466,7 +507,7 @@ Port of the 'ca_host'.
Default value: `5665`
-##### `fingerprint`
+##### `fingerprint`
Data type: `Optional[Icinga2::Fingerprint]`
@@ -476,7 +517,7 @@ on your CA host. (Icinga2 versions before 2.12.0 require '-sha1' as digest algor
Default value: ``undef``
-##### `ticket_salt`
+##### `ticket_salt`
Data type: `String`
@@ -486,7 +527,7 @@ characters as salt or a constant.
Default value: `'TicketSalt'`
-##### `ticket_id`
+##### `ticket_id`
Data type: `Optional[String]`
@@ -496,7 +537,7 @@ in case the pki is set to 'icinga2'.
Default value: ``undef``
-##### `endpoints`
+##### `endpoints`
Data type: `Hash[String, Hash]`
@@ -504,7 +545,7 @@ Hash to configure endpoint objects. `NodeName` is a icnga2 constant.
Default value: `{ 'NodeName' => {} }`
-##### `zones`
+##### `zones`
Data type: `Hash[String, Hash]`
@@ -512,7 +553,7 @@ 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']]`
@@ -520,7 +561,7 @@ Minimal TLS version to require.
Default value: ``undef``
-##### `ssl_handshake_timeout`
+##### `ssl_handshake_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -528,7 +569,7 @@ TLS Handshake timeout.
Default value: ``undef``
-##### `ssl_cipher_list`
+##### `ssl_cipher_list`
Data type: `Optional[String]`
@@ -536,7 +577,7 @@ List of allowed TLS ciphers, to finetune encryption.
Default value: ``undef``
-##### `bind_host`
+##### `bind_host`
Data type: `Optional[Stdlib::Host]`
@@ -544,7 +585,7 @@ The IP address the api listener will be bound to.
Default value: ``undef``
-##### `bind_port`
+##### `bind_port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -552,7 +593,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]]`
@@ -560,7 +601,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]`
@@ -568,7 +609,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]`
@@ -576,7 +617,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']]]`
@@ -584,7 +625,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]`
@@ -592,7 +633,7 @@ Used as suffix in TLS SNI extension name; default from constant ApiEnvironment,
Default value: ``undef``
-### `icinga2::feature::checker`
+### `icinga2::feature::checker`
Configures the Icinga 2 feature checker.
@@ -601,9 +642,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']`
@@ -611,7 +655,7 @@ Set to present enables the feature checker, absent disabled it.
Default value: `present`
-##### `concurrent_checks`
+##### `concurrent_checks`
Data type: `Optional[Integer[1]]`
@@ -619,15 +663,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']`
@@ -635,7 +682,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]`
@@ -643,15 +690,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']`
@@ -659,7 +710,7 @@ Set to present enables the feature compatlog, absent disabled it.
Default value: `present`
-##### `log_dir`
+##### `log_dir`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -667,7 +718,7 @@ Absolute path to the log directory.
Default value: ``undef``
-##### `rotation_method`
+##### `rotation_method`
Data type: `Optional[Enum['DAILY', 'HOURLY', 'MONTHLY', 'WEEKLY']]`
@@ -675,15 +726,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']`
@@ -691,7 +745,7 @@ Set to present enables the feature mainlog, absent disables it.
Default value: `present`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -699,7 +753,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.
@@ -716,9 +770,27 @@ 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_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']`
@@ -726,7 +798,7 @@ Set to present enables the feature elasticsearch, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -734,7 +806,7 @@ Elasticsearch host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -742,7 +814,7 @@ Elasticsearch HTTP port.
Default value: ``undef``
-##### `index`
+##### `index`
Data type: `Optional[String]`
@@ -750,7 +822,7 @@ Elasticsearch index name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -758,7 +830,7 @@ Elasticsearch user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[String]`
@@ -766,7 +838,7 @@ Elasticsearch user password. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -774,7 +846,7 @@ Either enable or disable SSL. Other SSL parameters are only affected if this is
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -782,7 +854,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -790,7 +862,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -798,7 +870,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -806,7 +878,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]`
@@ -814,7 +886,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]`
@@ -822,7 +894,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]`
@@ -830,7 +902,7 @@ Whether to send check performance data metrics.
Default value: ``undef``
-##### `flush_interval`
+##### `flush_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -838,7 +910,7 @@ How long to buffer data points before transferring to Elasticsearch.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer]`
@@ -846,7 +918,7 @@ How many data points to buffer before forcing a transfer to Elasticsearch.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -854,15 +926,22 @@ 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.
+The following parameters are available in the `icinga2::feature::gelf` class:
-##### `ensure`
+* [`ensure`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`source`](#source)
+* [`enable_send_perfdata`](#enable_send_perfdata)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -870,7 +949,7 @@ Set to present enables the feature gelf, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -878,7 +957,7 @@ GELF receiver host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -886,7 +965,7 @@ GELF receiver port.
Default value: ``undef``
-##### `source`
+##### `source`
Data type: `Optional[String]`
@@ -894,7 +973,7 @@ Source name for this instance.
Default value: ``undef``
-##### `enable_send_perfdata`
+##### `enable_send_perfdata`
Data type: `Optional[Boolean]`
@@ -902,7 +981,7 @@ Enable performance data for 'CHECK RESULT' events.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -910,7 +989,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.
@@ -929,9 +1008,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)
+* [`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`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -939,7 +1027,7 @@ Set to present enables the feature graphite, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -947,7 +1035,7 @@ Graphite Carbon host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -955,7 +1043,7 @@ Graphite Carbon port.
Default value: ``undef``
-##### `host_name_template`
+##### `host_name_template`
Data type: `Optional[String]`
@@ -963,7 +1051,7 @@ Template for metric path of hosts.
Default value: ``undef``
-##### `service_name_template`
+##### `service_name_template`
Data type: `Optional[String]`
@@ -971,7 +1059,7 @@ Template for metric path of services.
Default value: ``undef``
-##### `enable_send_thresholds`
+##### `enable_send_thresholds`
Data type: `Optional[Boolean]`
@@ -979,7 +1067,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -987,7 +1075,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -995,15 +1083,21 @@ 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)
+* [`password`](#password)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1011,7 +1105,7 @@ Set to present, enables the feature icingadb, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1019,7 +1113,7 @@ IcingaDB Redis host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1027,7 +1121,7 @@ IcingaDB Redis port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1035,7 +1129,7 @@ IcingaDB Redis unix sockt. Can be used instead of host and port attributes.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[String]`
@@ -1043,7 +1137,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.
@@ -1072,9 +1166,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']`
@@ -1082,7 +1201,7 @@ Set to present enables the feature ido-mysql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1090,7 +1209,7 @@ MySQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1098,7 +1217,7 @@ MySQL database port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1106,7 +1225,7 @@ MySQL socket path.
Default value: ``undef``
-##### `user`
+##### `user`
Data type: `String`
@@ -1114,13 +1233,13 @@ MySQL database user with read/write permission to the icinga database.
Default value: `'icinga'`
-##### `password`
+##### `password`
Data type: `String`
MySQL database user's password. The password parameter isn't parsed anymore.
-##### `database`
+##### `database`
Data type: `String`
@@ -1128,7 +1247,7 @@ MySQL database name.
Default value: `'icinga'`
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Boolean`
@@ -1136,7 +1255,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]`
@@ -1144,7 +1263,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]`
@@ -1152,7 +1271,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]`
@@ -1160,7 +1279,7 @@ Location of the CA certificate. Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1169,7 +1288,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1178,7 +1297,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1187,7 +1306,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_capath`
+##### `ssl_capath`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1195,7 +1314,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]`
@@ -1203,7 +1322,7 @@ MySQL SSL list of allowed ciphers. Only valid if ssl is enabled.
Default value: ``undef``
-##### `table_prefix`
+##### `table_prefix`
Data type: `Optional[String]`
@@ -1211,7 +1330,7 @@ MySQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1219,7 +1338,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1227,7 +1346,7 @@ Description for the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1235,7 +1354,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-##### `failover_timeout`
+##### `failover_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -1243,7 +1362,7 @@ Set the failover timeout in a HA cluster. Must not be lower than 60s.
Default value: ``undef``
-##### `cleanup`
+##### `cleanup`
Data type: `Optional[Hash[String,Icinga2::Interval]]`
@@ -1251,7 +1370,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1259,7 +1378,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1267,7 +1386,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.
@@ -1295,9 +1414,24 @@ 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)
+* [`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']`
@@ -1305,7 +1439,7 @@ Set to present enables the feature ido-pgsql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1313,7 +1447,7 @@ PostgreSQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Stdlib::Port::Unprivileged`
@@ -1321,7 +1455,7 @@ PostgreSQL database port.
Default value: `5432`
-##### `user`
+##### `user`
Data type: `String`
@@ -1329,13 +1463,13 @@ PostgreSQL database user with read/write permission to the icinga database.
Default value: `'icinga'`
-##### `password`
+##### `password`
Data type: `String`
PostgreSQL database user's password. The password parameter isn't parsed anymore.
-##### `database`
+##### `database`
Data type: `String`
@@ -1343,7 +1477,7 @@ PostgreSQL database name.
Default value: `'icinga'`
-##### `table_prefix`
+##### `table_prefix`
Data type: `Optional[String]`
@@ -1351,7 +1485,7 @@ PostgreSQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1359,7 +1493,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1367,7 +1501,7 @@ Description of the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1375,7 +1509,7 @@ Enable the high availability functionality. Only valid in a cluster setup.
Default value: ``undef``
-##### `failover_timeout`
+##### `failover_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -1383,7 +1517,7 @@ Set the failover timeout in a HA cluster. Must not be lower than 60s.
Default value: ``undef``
-##### `cleanup`
+##### `cleanup`
Data type: `Optional[Hash]`
@@ -1391,7 +1525,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1399,7 +1533,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1407,7 +1541,7 @@ Whether to import the PostgreSQL schema or not.
Default value: ``false``
-### `icinga2::feature::influxdb`
+### `icinga2::feature::influxdb`
Configures the Icinga 2 feature influxdb.
@@ -1426,9 +1560,32 @@ 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)
+* [`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)
+* [`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']`
@@ -1436,7 +1593,7 @@ Set to present enables the feature influxdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1444,7 +1601,7 @@ InfluxDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port]`
@@ -1452,7 +1609,7 @@ InfluxDB HTTP port.
Default value: ``undef``
-##### `database`
+##### `database`
Data type: `Optional[String]`
@@ -1460,7 +1617,7 @@ InfluxDB database name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -1468,7 +1625,7 @@ InfluxDB user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[String]`
@@ -1476,7 +1633,7 @@ InfluxDB user password. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -1484,7 +1641,7 @@ Either enable or disable SSL. Other SSL parameters are only affected if this is
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1492,7 +1649,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1500,7 +1657,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1508,7 +1665,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1516,7 +1673,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]`
@@ -1524,7 +1681,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]`
@@ -1532,7 +1689,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`
@@ -1540,7 +1697,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`
@@ -1548,7 +1705,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`
@@ -1556,7 +1713,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`
@@ -1564,7 +1721,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]`
@@ -1572,7 +1729,7 @@ Whether to send warn, crit, min & max tagged data.
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -1580,7 +1737,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]`
@@ -1588,7 +1745,7 @@ How long to buffer data points before transfering to InfluxDB.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer[1]]`
@@ -1596,7 +1753,7 @@ How many data points to buffer before forcing a transfer to InfluxDB.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1604,15 +1761,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']`
@@ -1620,7 +1784,7 @@ Set to present enables the feature livestatus, absent disables it.
Default value: `present`
-##### `socket_type`
+##### `socket_type`
Data type: `Optional[Enum['tcp', 'unix']]`
@@ -1628,7 +1792,7 @@ Specifies the socket type. Can be either 'tcp' or 'unix'.
Default value: ``undef``
-##### `bind_host`
+##### `bind_host`
Data type: `Optional[Stdlib::Host]`
@@ -1636,7 +1800,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]`
@@ -1644,7 +1808,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]`
@@ -1652,7 +1816,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]`
@@ -1660,15 +1824,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']`
@@ -1676,7 +1844,7 @@ Set to 'present' enables the feature mainlog, 'absent' disabled it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -1684,7 +1852,7 @@ You can set the log severity to 'information', 'notice', 'warning' or 'debug'.
Default value: `'information'`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -1692,15 +1860,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)
+* [`enable_ha`](#enable_ha)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1708,7 +1879,7 @@ Set to present enables the feature notification, absent disabled it.
Default value: `present`
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1716,15 +1887,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`](#ensure)
+* [`host`](#host)
+* [`port`](#port)
+* [`enable_ha`](#enable_ha)
+
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1732,7 +1908,7 @@ Set to present enables the feature opentsdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1740,7 +1916,7 @@ OpenTSDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1748,7 +1924,7 @@ OpenTSDB port.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1756,15 +1932,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)
+* [`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`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -1772,7 +1958,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]`
@@ -1780,7 +1966,7 @@ Absolute path to the perfdata file for hosts.
Default value: ``undef``
-##### `service_perfdata_path`
+##### `service_perfdata_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1788,7 +1974,7 @@ Absolute path to the perfdata file for services.
Default value: ``undef``
-##### `host_temp_path`
+##### `host_temp_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1796,7 +1982,7 @@ Path to the temporary host file.
Default value: ``undef``
-##### `service_temp_path`
+##### `service_temp_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1804,7 +1990,7 @@ Path to the temporary service file.
Default value: ``undef``
-##### `host_format_template`
+##### `host_format_template`
Data type: `Optional[String]`
@@ -1812,7 +1998,7 @@ Host Format template for the performance data file.
Default value: ``undef``
-##### `service_format_template`
+##### `service_format_template`
Data type: `Optional[String]`
@@ -1820,7 +2006,7 @@ Service Format template for the performance data file.
Default value: ``undef``
-##### `rotation_interval`
+##### `rotation_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -1829,7 +2015,7 @@ i.e. 1m or 15s.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1837,15 +2023,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']`
@@ -1853,7 +2044,7 @@ Set to present enables the feature statusdata, absent disables it.
Default value: `present`
-##### `status_path`
+##### `status_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1861,7 +2052,7 @@ Absolute path to the status.dat file.
Default value: ``undef``
-##### `objects_path`
+##### `objects_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1869,7 +2060,7 @@ Absolute path to the object.cache file.
Default value: ``undef``
-##### `update_interval`
+##### `update_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -1878,15 +2069,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']`
@@ -1894,7 +2089,7 @@ Set to present enables the feature syslog, absent disables it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Optional[Icinga2::LogSeverity]`
@@ -1902,7 +2097,7 @@ You can choose the log severity between information, notice, warning or debug.
Default value: ``undef``
-##### `facility`
+##### `facility`
Data type: `Optional[Icinga2::LogFacility]`
@@ -1911,7 +2106,7 @@ like FacilityDaemon.
Default value: ``undef``
-### `icinga2::pki::ca`
+### `icinga2::pki::ca`
This class provides multiple ways to create the CA used by Icinga 2.
@@ -1937,9 +2132,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_key`](#ca_key)
-##### `ca_cert`
+##### `ca_cert`
Data type: `Optional[String]`
@@ -1948,7 +2146,7 @@ Icinga 2 CLI.
Default value: ``undef``
-##### `ca_key`
+##### `ca_key`
Data type: `Optional[String]`
@@ -1958,7 +2156,7 @@ Default value: ``undef``
## Defined types
-### `icinga2::config::fragment`
+### `icinga2::config::fragment`
Set a code fragment in a target configuration file.
@@ -1993,22 +2191,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]`
@@ -2016,7 +2219,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`
@@ -2024,7 +2227,7 @@ Data type: `String`
Default value: `$title`
-### `icinga2::object::apiuser`
+### `icinga2::object::apiuser`
Manage Icinga 2 ApiUser objects.
@@ -2074,9 +2277,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']`
@@ -2084,7 +2295,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `apiuser_name`
+##### `apiuser_name`
Data type: `String`
@@ -2092,7 +2303,7 @@ Set the name of the apiuser object.
Default value: `$title`
-##### `password`
+##### `password`
Data type: `Optional[String]`
@@ -2100,7 +2311,7 @@ Password string. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `client_cn`
+##### `client_cn`
Data type: `Optional[String]`
@@ -2108,7 +2319,7 @@ Optional. Client Common Name (CN).
Default value: ``undef``
-##### `permissions`
+##### `permissions`
Data type: `Optional[Array]`
@@ -2117,14 +2328,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]`
@@ -2132,15 +2343,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']`
@@ -2148,7 +2371,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkcommand_name`
+##### `checkcommand_name`
Data type: `String`
@@ -2156,7 +2379,7 @@ Title of the CheckCommand object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2164,7 +2387,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2174,7 +2397,7 @@ When using the "arguments" attribute this must be an array. Can be specified as
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2182,7 +2405,7 @@ A dictionary of macros which should be exported as environment variables prior t
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2192,7 +2415,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2200,7 +2423,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Variant[Hash, String]]`
@@ -2208,14 +2431,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`
@@ -2223,7 +2446,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2231,15 +2454,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)
+* [`checkresultreader_name`](#checkresultreader_name)
+* [`spool_dir`](#spool_dir)
+* [`target`](#target)
+* [`order`](#order)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2247,7 +2476,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkresultreader_name`
+##### `checkresultreader_name`
Data type: `String`
@@ -2255,7 +2484,7 @@ Set the Icinga 2 name of the ceckresultreader object.
Default value: `$title`
-##### `spool_dir`
+##### `spool_dir`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2263,14 +2492,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]`
@@ -2278,15 +2507,23 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `'05'`
-### `icinga2::object::endpoint`
+### `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']`
@@ -2294,7 +2531,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `endpoint_name`
+##### `endpoint_name`
Data type: `String`
@@ -2302,7 +2539,7 @@ Set the Icinga 2 name of the endpoint object.
Default value: `$title`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -2310,7 +2547,7 @@ Optional. The IP address of the remote Icinga 2 instance.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2318,7 +2555,7 @@ The service name/port of the remote Icinga 2 instance.
Default value: ``undef``
-##### `log_duration`
+##### `log_duration`
Data type: `Optional[Icinga2::Interval]`
@@ -2329,7 +2566,7 @@ or 1h for one hour.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2338,7 +2575,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2346,15 +2583,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']`
@@ -2362,7 +2610,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `eventcommand_name`
+##### `eventcommand_name`
Data type: `String`
@@ -2370,7 +2618,7 @@ Set the Icinga 2 name of the eventcommand object.
Default value: `$title`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2380,7 +2628,7 @@ takes care of parsing the command.
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2388,7 +2636,7 @@ A dictionary of macros which should be exported as environment variables prior t
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2398,7 +2646,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2406,7 +2654,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Hash]`
@@ -2414,14 +2662,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`
@@ -2429,7 +2677,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2437,15 +2685,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']`
@@ -2453,7 +2736,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `host_name`
+##### `host_name`
Data type: `String`
@@ -2461,7 +2744,7 @@ Hostname of the Host object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2469,7 +2752,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -2477,7 +2760,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]`
@@ -2485,7 +2768,7 @@ The host's address v4.
Default value: ``undef``
-##### `address6`
+##### `address6`
Data type: `Optional[Stdlib::Host]`
@@ -2493,7 +2776,7 @@ The host's address v6.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2503,7 +2786,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -2511,7 +2794,7 @@ A list of host groups this host belongs to.
Default value: ``undef``
-##### `check_command`
+##### `check_command`
Data type: `Optional[String]`
@@ -2519,7 +2802,7 @@ The name of the check command.
Default value: ``undef``
-##### `max_check_attempts`
+##### `max_check_attempts`
Data type: `Optional[Integer[1]]`
@@ -2527,7 +2810,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]`
@@ -2535,7 +2818,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]`
@@ -2543,7 +2826,7 @@ Check command timeout in seconds. Overrides the CheckCommand's timeout attribute
Default value: ``undef``
-##### `check_interval`
+##### `check_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2551,7 +2834,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]`
@@ -2559,7 +2842,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]`
@@ -2567,7 +2850,7 @@ Whether notifications are enabled.
Default value: ``undef``
-##### `enable_active_checks`
+##### `enable_active_checks`
Data type: `Optional[Boolean]`
@@ -2575,7 +2858,7 @@ Whether active checks are enabled.
Default value: ``undef``
-##### `enable_passive_checks`
+##### `enable_passive_checks`
Data type: `Optional[Boolean]`
@@ -2583,7 +2866,7 @@ Whether passive checks are enabled.
Default value: ``undef``
-##### `enable_event_handler`
+##### `enable_event_handler`
Data type: `Optional[Boolean]`
@@ -2591,7 +2874,7 @@ Enables event handlers for this host.
Default value: ``undef``
-##### `enable_flapping`
+##### `enable_flapping`
Data type: `Optional[Boolean]`
@@ -2599,7 +2882,7 @@ Whether flap detection is enabled.
Default value: ``undef``
-##### `enable_perfdata`
+##### `enable_perfdata`
Data type: `Optional[Boolean]`
@@ -2607,7 +2890,7 @@ Whether performance data processing is enabled.
Default value: ``undef``
-##### `event_command`
+##### `event_command`
Data type: `Optional[String]`
@@ -2616,7 +2899,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]]`
@@ -2624,7 +2907,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]]`
@@ -2632,7 +2915,7 @@ Flapping upper bound in percent for a host to be considered flapping.
Default value: ``undef``
-##### `volatile`
+##### `volatile`
Data type: `Optional[Boolean]`
@@ -2640,7 +2923,7 @@ The volatile setting enables always HARD state types if NOT-OK state changes occ
Default value: ``undef``
-##### `zone`
+##### `zone`
Data type: `Optional[String]`
@@ -2648,7 +2931,7 @@ The zone this object is a member of.
Default value: ``undef``
-##### `command_endpoint`
+##### `command_endpoint`
Data type: `Optional[String]`
@@ -2656,7 +2939,7 @@ The endpoint where commands are executed on.
Default value: ``undef``
-##### `notes`
+##### `notes`
Data type: `Optional[String]`
@@ -2664,7 +2947,7 @@ Notes for the host.
Default value: ``undef``
-##### `notes_url`
+##### `notes_url`
Data type: `Optional[String]`
@@ -2672,7 +2955,7 @@ Url for notes for the host (for example, in notification commands).
Default value: ``undef``
-##### `action_url`
+##### `action_url`
Data type: `Optional[String]`
@@ -2680,7 +2963,7 @@ Url for actions for the host (for example, an external graphing tool).
Default value: ``undef``
-##### `icon_image`
+##### `icon_image`
Data type: `Optional[String]`
@@ -2688,7 +2971,7 @@ Icon image for the host. Used by external interfaces only.
Default value: ``undef``
-##### `icon_image_alt`
+##### `icon_image_alt`
Data type: `Optional[String]`
@@ -2696,7 +2979,7 @@ Icon image description for the host. Used by external interface only.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -2704,14 +2987,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]`
@@ -2719,7 +3002,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.
@@ -2738,9 +3021,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']`
@@ -2748,7 +3040,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -2756,7 +3048,7 @@ A short description of the host group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -2764,7 +3056,7 @@ An array of nested group names.
Default value: ``undef``
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -2772,7 +3064,7 @@ Assign host group members using the group rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -2780,14 +3072,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]`
@@ -2795,7 +3087,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`
@@ -2803,15 +3095,27 @@ Data type: `String`
Default value: `$title`
-### `icinga2::object::notificationcommand`
+### `icinga2::object::notificationcommand`
Manage Icinga 2 notificationcommand objects.
#### Parameters
-The following parameters are available in the `icinga2::object::notificationcommand` defined type.
+The following parameters are available in the `icinga2::object::notificationcommand` defined type:
-##### `ensure`
+* [`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']`
@@ -2819,7 +3123,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `notificationcommand_name`
+##### `notificationcommand_name`
Data type: `String`
@@ -2827,7 +3131,7 @@ Set the Icinga 2 name of the notificationcommand object.
Default value: `$title`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2837,7 +3141,7 @@ Alternatively a string can be specified in which case the shell interpreter
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2846,7 +3150,7 @@ prior to executing the command.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2856,7 +3160,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2864,7 +3168,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Hash]`
@@ -2872,7 +3176,7 @@ A dictionary of command arguments.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -2880,7 +3184,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -2888,14 +3192,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]`
@@ -2903,15 +3207,26 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `25`
-### `icinga2::object::servicegroup`
+### `icinga2::object::servicegroup`
Manage Icinga 2 servicegroup objects.
#### Parameters
-The following parameters are available in the `icinga2::object::servicegroup` defined type.
+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`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -2919,7 +3234,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `servicegroup_name`
+##### `servicegroup_name`
Data type: `String`
@@ -2927,7 +3242,7 @@ Set the Icinga 2 name of the servicegroup object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -2935,7 +3250,7 @@ A short description of the service group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -2943,7 +3258,7 @@ An array of nested group names.
Default value: ``undef``
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -2951,7 +3266,7 @@ Assign user group members using the group assign rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -2959,7 +3274,7 @@ Exclude users using the group ignore rules.
Default value: `[]`
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -2967,7 +3282,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -2975,14 +3290,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]`
@@ -2990,15 +3305,27 @@ String or integer to set the position in the target file, sorted alpha numeric.
Default value: `65`
-### `icinga2::object::timeperiod`
+### `icinga2::object::timeperiod`
Manage Icinga 2 timeperiod objects.
#### Parameters
-The following parameters are available in the `icinga2::object::timeperiod` defined type.
+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`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3006,7 +3333,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `timeperiod_name`
+##### `timeperiod_name`
Data type: `String`
@@ -3014,7 +3341,7 @@ Set the Icinga 2 name of the timeperiod object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3022,7 +3349,7 @@ A short description of the time period.
Default value: ``undef``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3030,7 +3357,7 @@ Sorted List of templates to include.
Default value: `['legacy-timeperiod']`
-##### `ranges`
+##### `ranges`
Data type: `Optional[Hash]`
@@ -3039,7 +3366,7 @@ timeperiod.
Default value: ``undef``
-##### `prefer_includes`
+##### `prefer_includes`
Data type: `Optional[Boolean]`
@@ -3047,7 +3374,7 @@ Boolean whether to prefer timeperiods includes or excludes.
Default value: ``undef``
-##### `excludes`
+##### `excludes`
Data type: `Optional[Array]`
@@ -3055,7 +3382,7 @@ An array of timeperiods, which should exclude from your timerange.
Default value: ``undef``
-##### `includes`
+##### `includes`
Data type: `Optional[Array]`
@@ -3063,7 +3390,7 @@ An array of timeperiods, which should include into your timerange
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3071,13 +3398,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]`
@@ -3085,15 +3412,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']`
@@ -3101,7 +3444,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `user_name`
+##### `user_name`
Data type: `String`
@@ -3109,7 +3452,7 @@ Set the Icinga 2 name of the user object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3117,7 +3460,7 @@ A short description of the user.
Default value: ``undef``
-##### `email`
+##### `email`
Data type: `Optional[String]`
@@ -3125,7 +3468,7 @@ An email string for this user. Useful for notification commands.
Default value: ``undef``
-##### `pager`
+##### `pager`
Data type: `Optional[String]`
@@ -3133,7 +3476,7 @@ A pager string for this user. Useful for notification commands.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3143,7 +3486,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -3151,7 +3494,7 @@ An array of group names.
Default value: ``undef``
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -3159,7 +3502,7 @@ Whether notifications are enabled for this user.
Default value: ``undef``
-##### `period`
+##### `period`
Data type: `Optional[String]`
@@ -3168,7 +3511,7 @@ should be triggered.
Default value: ``undef``
-##### `types`
+##### `types`
Data type: `Optional[Array]`
@@ -3177,7 +3520,7 @@ everything is matched.
Default value: ``undef``
-##### `states`
+##### `states`
Data type: `Optional[Array]`
@@ -3185,7 +3528,7 @@ A set of state filters when this notification should be triggered.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3193,7 +3536,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3201,14 +3544,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]`
@@ -3216,15 +3559,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)
+* [`usergroup_name`](#usergroup_name)
+* [`display_name`](#display_name)
+* [`groups`](#groups)
+* [`assign`](#assign)
+* [`ignore`](#ignore)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
-##### `ensure`
+##### `ensure`
Data type: `Enum['absent', 'present']`
@@ -3232,7 +3586,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `usergroup_name`
+##### `usergroup_name`
Data type: `String`
@@ -3240,7 +3594,7 @@ Set the Icinga 2 name of the usergroup object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3248,7 +3602,7 @@ A short description of the service group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Array`
@@ -3256,7 +3610,7 @@ An array of nested group names.
Default value: `[]`
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -3264,7 +3618,7 @@ Assign user group members using the group assign rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -3272,7 +3626,7 @@ Exclude users using the group ignore rules.
Default value: `[]`
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3280,7 +3634,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3288,14 +3642,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]`
@@ -3303,15 +3657,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']`
@@ -3319,7 +3681,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `zone_name`
+##### `zone_name`
Data type: `String`
@@ -3327,7 +3689,7 @@ Set the Icinga 2 name of the zone object.
Default value: `$title`
-##### `endpoints`
+##### `endpoints`
Data type: `Optional[Array]`
@@ -3335,7 +3697,7 @@ List of endpoints belong to this zone.
Default value: `[]`
-##### `parent`
+##### `parent`
Data type: `Optional[String]`
@@ -3343,7 +3705,7 @@ Parent zone to this zone.
Default value: ``undef``
-##### `global`
+##### `global`
Data type: `Optional[Boolean]`
@@ -3352,7 +3714,7 @@ and parent are ignored.
Default value: ``false``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -3361,7 +3723,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3371,7 +3733,7 @@ Default value: `45`
## Functions
-### `icinga2::icinga2_attributes`
+### `icinga2::icinga2_attributes`
Type: Ruby 4.x API
@@ -3390,7 +3752,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
@@ -3409,7 +3771,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_attributes`
+### `icinga2_attributes`
Type: Ruby 3.x API
@@ -3421,7 +3783,7 @@ The icinga2_attributes function.
Returns: `Any` Parsed config as string
-### `icinga2_ticket_id`
+### `icinga2_ticket_id`
Type: Ruby 3.x API
@@ -3435,35 +3797,55 @@ Returns: `Any` The ticket to get a certificate
## Data types
-### `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
-### `Icinga2::Interval`
+```puppet
+Pattern[/^([0-9a-fA-F]{2}\:){19}(([0-9a-fA-F]{2}\:){12})?[0-9a-fA-F]{2}$/]
+```
+
+### `Icinga2::Interval`
A strict type for intervals
-Alias of `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['LOG_AUTH', 'LOG_AUTHPRIV', 'LOG_CRON', 'LOG_DAEMON', 'LOG_FTP', 'LOG_KERN', 'LOG_LPR', 'LOG_MAIL', 'LOG_NEWS', 'LOG_SYSLOG', 'LOG_USER', 'LOG_UUCP'], Pattern[/^LOG_LOCAL[0-7]$/]]`
+Alias of
-### `Icinga2::LogSeverity`
+```puppet
+Variant[Enum['LOG_AUTH', 'LOG_AUTHPRIV', 'LOG_CRON', 'LOG_DAEMON', 'LOG_FTP', 'LOG_KERN', 'LOG_LPR', 'LOG_MAIL', 'LOG_NEWS', 'LOG_SYSLOG', 'LOG_USER', 'LOG_UUCP'], Pattern[/^LOG_LOCAL[0-7]$/]]
+```
+
+### `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/spec/type_aliases/interval_spec.rb b/spec/type_aliases/interval_spec.rb
index 25602804..041e1cb8 100644
--- a/spec/type_aliases/interval_spec.rb
+++ b/spec/type_aliases/interval_spec.rb
@@ -4,7 +4,7 @@
describe 'Icinga2::Interval' do
describe 'valid handling' do
- ['3d', '3.5d', '4h', '4.1h', '5m', '5.2m', '60s', '60.4', '300', '300.25'].each do |value|
+ [60, '3d', '3.5d', '4h', '4.1h', '5m', '5.2m', '60s', '60.4', '300', '300.25'].each do |value|
describe value.inspect do
it { is_expected.to allow_value(value) }
end
diff --git a/types/interval.pp b/types/interval.pp
index 61db0fd4..ab480984 100644
--- a/types/interval.pp
+++ b/types/interval.pp
@@ -1,2 +1,2 @@
# A strict type for intervals
-type Icinga2::Interval = Pattern[/^\d+\.?\d*[d|h|m|s]?$/]
+type Icinga2::Interval = Variant[Integer, Pattern[/^\d+\.?\d*[d|h|m|s]?$/]]