diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..c1f75327c
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,27 @@
+name: Test
+
+on:
+ - pull_request
+ - push
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ env:
+ BUNDLE_WITHOUT: system_tests
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: 2.7
+ bundler-cache: true
+ - name: Run static validation for Puppet/Ruby files
+ run: bundle exec rake validate
+ - name: Run Ruby Linter
+ run: bundle exec rake rubocop
+ - name: Run Puppet Linter
+ run: bundle exec rake lint
+ - name: Check if REFERENCE.md is up2date
+ run: bundle exec rake strings:validate:reference
diff --git a/REFERENCE.md b/REFERENCE.md
index 0d4c46720..61a601499 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,7 +529,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: `Variant[String, Sensitive[String]]`
@@ -493,7 +539,7 @@ characters as salt or a constant.
Default value: `'TicketSalt'`
-##### `ticket_id`
+##### `ticket_id`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -503,7 +549,7 @@ in case the pki is set to 'icinga2'.
Default value: ``undef``
-##### `endpoints`
+##### `endpoints`
Data type: `Hash[String, Hash]`
@@ -511,7 +557,7 @@ Hash to configure endpoint objects. `NodeName` is a icnga2 constant.
Default value: `{ 'NodeName' => {} }`
-##### `zones`
+##### `zones`
Data type: `Hash[String, Hash]`
@@ -519,7 +565,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', 'TLSv1.3']]`
@@ -527,7 +573,7 @@ Minimal TLS version to require.
Default value: ``undef``
-##### `ssl_handshake_timeout`
+##### `ssl_handshake_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -535,7 +581,7 @@ TLS Handshake timeout.
Default value: ``undef``
-##### `connect_timeout`
+##### `connect_timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -543,7 +589,7 @@ Timeout for establishing new connections.
Default value: ``undef``
-##### `ssl_cipher_list`
+##### `ssl_cipher_list`
Data type: `Optional[String]`
@@ -551,7 +597,7 @@ List of allowed TLS ciphers, to finetune encryption.
Default value: ``undef``
-##### `bind_host`
+##### `bind_host`
Data type: `Optional[Stdlib::Host]`
@@ -559,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]`
@@ -567,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]]`
@@ -575,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]`
@@ -583,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]`
@@ -591,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']]]`
@@ -599,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]`
@@ -607,7 +653,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.
@@ -616,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']`
@@ -626,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]]`
@@ -634,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']`
@@ -650,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]`
@@ -658,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']`
@@ -674,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]`
@@ -682,7 +738,7 @@ Absolute path to the log directory.
Default value: ``undef``
-##### `rotation_method`
+##### `rotation_method`
Data type: `Optional[Enum['DAILY', 'HOURLY', 'MONTHLY', 'WEEKLY']]`
@@ -690,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']`
@@ -706,7 +765,7 @@ Set to present enables the feature mainlog, absent disables it.
Default value: `present`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -714,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.
@@ -731,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']`
@@ -741,7 +819,7 @@ Set to present enables the feature elasticsearch, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -749,7 +827,7 @@ Elasticsearch host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -757,7 +835,7 @@ Elasticsearch HTTP port.
Default value: ``undef``
-##### `index`
+##### `index`
Data type: `Optional[String]`
@@ -765,7 +843,7 @@ Elasticsearch index name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -773,7 +851,7 @@ Elasticsearch user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -781,7 +859,7 @@ Elasticsearch user password. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -789,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]`
@@ -797,7 +875,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -805,7 +883,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -813,7 +891,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -821,7 +899,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -829,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]`
@@ -837,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]`
@@ -845,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]`
@@ -853,7 +931,7 @@ Whether to send check performance data metrics.
Default value: ``undef``
-##### `flush_interval`
+##### `flush_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -861,7 +939,7 @@ How long to buffer data points before transferring to Elasticsearch.
Default value: ``undef``
-##### `flush_threshold`
+##### `flush_threshold`
Data type: `Optional[Integer]`
@@ -869,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]`
@@ -877,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']`
@@ -893,7 +986,7 @@ Set to present enables the feature gelf, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -901,7 +994,7 @@ GELF receiver host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -909,7 +1002,7 @@ GELF receiver port.
Default value: ``undef``
-##### `source`
+##### `source`
Data type: `Optional[String]`
@@ -917,7 +1010,7 @@ Source name for this instance.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Boolean`
@@ -925,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]`
@@ -933,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]`
@@ -941,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]`
@@ -949,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]`
@@ -958,7 +1051,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -967,7 +1060,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -976,7 +1069,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_noverify`
+##### `ssl_noverify`
Data type: `Optional[Boolean]`
@@ -984,7 +1077,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `enable_send_perfdata`
+##### `enable_send_perfdata`
Data type: `Optional[Boolean]`
@@ -992,7 +1085,7 @@ Enable performance data for 'CHECK RESULT' events.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1000,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.
@@ -1019,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']`
@@ -1029,7 +1131,7 @@ Set to present enables the feature graphite, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1037,7 +1139,7 @@ Graphite Carbon host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1045,7 +1147,7 @@ Graphite Carbon port.
Default value: ``undef``
-##### `host_name_template`
+##### `host_name_template`
Data type: `Optional[String]`
@@ -1053,7 +1155,7 @@ Template for metric path of hosts.
Default value: ``undef``
-##### `service_name_template`
+##### `service_name_template`
Data type: `Optional[String]`
@@ -1061,7 +1163,7 @@ Template for metric path of services.
Default value: ``undef``
-##### `enable_send_thresholds`
+##### `enable_send_thresholds`
Data type: `Optional[Boolean]`
@@ -1069,7 +1171,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_send_metadata`
+##### `enable_send_metadata`
Data type: `Optional[Boolean]`
@@ -1077,7 +1179,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1085,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']`
@@ -1101,7 +1210,7 @@ Set to present, enables the feature icingadb, absent disabled it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1109,7 +1218,7 @@ IcingaDB Redis host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1117,7 +1226,7 @@ IcingaDB Redis port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1125,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]`
@@ -1133,7 +1242,7 @@ Timeout for establishing new connections.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -1141,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.
@@ -1170,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']`
@@ -1180,7 +1314,7 @@ Set to present enables the feature ido-mysql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1188,7 +1322,7 @@ MySQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -1196,7 +1330,7 @@ MySQL database port.
Default value: ``undef``
-##### `socket_path`
+##### `socket_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1204,7 +1338,7 @@ MySQL socket path.
Default value: ``undef``
-##### `user`
+##### `user`
Data type: `String`
@@ -1212,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`
@@ -1226,7 +1360,7 @@ MySQL database name.
Default value: `'icinga'`
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Boolean`
@@ -1234,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]`
@@ -1242,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]`
@@ -1250,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]`
@@ -1258,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]`
@@ -1267,7 +1401,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cert`
+##### `ssl_cert`
Data type: `Optional[Stdlib::Base64]`
@@ -1276,7 +1410,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_cacert`
+##### `ssl_cacert`
Data type: `Optional[Stdlib::Base64]`
@@ -1285,7 +1419,7 @@ Only valid if ssl is enabled.
Default value: ``undef``
-##### `ssl_capath`
+##### `ssl_capath`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1293,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]`
@@ -1301,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]`
@@ -1309,7 +1443,7 @@ MySQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1317,7 +1451,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1325,7 +1459,7 @@ Description for the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1333,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]`
@@ -1341,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]`
@@ -1349,7 +1483,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1357,7 +1491,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1365,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.
@@ -1393,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']`
@@ -1403,7 +1559,7 @@ Set to present enables the feature ido-pgsql, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Stdlib::Host`
@@ -1411,7 +1567,7 @@ PostgreSQL database host address.
Default value: `'localhost'`
-##### `port`
+##### `port`
Data type: `Stdlib::Port::Unprivileged`
@@ -1419,7 +1575,7 @@ PostgreSQL database port.
Default value: `5432`
-##### `user`
+##### `user`
Data type: `String`
@@ -1427,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`
@@ -1441,7 +1597,7 @@ PostgreSQL database name.
Default value: `'icinga'`
-##### `ssl_mode`
+##### `ssl_mode`
Data type: `Optional[Enum['disable', 'allow',
'prefer', 'verify-full',
@@ -1451,7 +1607,7 @@ Enable SSL connection mode.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1459,7 +1615,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1467,7 +1623,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1475,7 +1631,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1483,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]`
@@ -1491,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]`
@@ -1499,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]`
@@ -1507,7 +1663,7 @@ PostgreSQL database table prefix.
Default value: ``undef``
-##### `instance_name`
+##### `instance_name`
Data type: `Optional[String]`
@@ -1515,7 +1671,7 @@ Unique identifier for the local Icinga 2 instance.
Default value: ``undef``
-##### `instance_description`
+##### `instance_description`
Data type: `Optional[String]`
@@ -1523,7 +1679,7 @@ Description of the Icinga 2 instance.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -1531,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]`
@@ -1539,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]`
@@ -1547,7 +1703,7 @@ Hash with items for historical table cleanup.
Default value: ``undef``
-##### `categories`
+##### `categories`
Data type: `Optional[Array]`
@@ -1555,7 +1711,7 @@ Array of information types that should be written to the database.
Default value: ``undef``
-##### `import_schema`
+##### `import_schema`
Data type: `Boolean`
@@ -1563,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.
@@ -1582,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']`
@@ -1592,7 +1773,7 @@ Set to present enables the feature influxdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1600,7 +1781,7 @@ InfluxDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port]`
@@ -1608,7 +1789,7 @@ InfluxDB HTTP port.
Default value: ``undef``
-##### `database`
+##### `database`
Data type: `Optional[String]`
@@ -1616,7 +1797,7 @@ InfluxDB database name.
Default value: ``undef``
-##### `username`
+##### `username`
Data type: `Optional[String]`
@@ -1624,7 +1805,7 @@ InfluxDB user name.
Default value: ``undef``
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -1632,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]`
@@ -1640,7 +1821,7 @@ Username and password for HTTP basic authentication.
Default value: ``undef``
-##### `enable_ssl`
+##### `enable_ssl`
Data type: `Optional[Boolean]`
@@ -1648,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]`
@@ -1656,7 +1837,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1664,7 +1845,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1672,7 +1853,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1680,7 +1861,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1688,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]`
@@ -1696,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]`
@@ -1704,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`
@@ -1712,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`
@@ -1720,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`
@@ -1728,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`
@@ -1736,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]`
@@ -1744,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]`
@@ -1752,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]`
@@ -1760,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]]`
@@ -1768,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]`
@@ -1776,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.
@@ -1795,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']`
@@ -1805,7 +2010,7 @@ Set to present enables the feature influxdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -1813,7 +2018,7 @@ InfluxDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port]`
@@ -1821,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]`
@@ -1847,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]`
@@ -1855,7 +2060,7 @@ Disable TLS peer verification.
Default value: ``undef``
-##### `ssl_key_path`
+##### `ssl_key_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1863,7 +2068,7 @@ Location of the private key.
Default value: ``undef``
-##### `ssl_cert_path`
+##### `ssl_cert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1871,7 +2076,7 @@ Location of the certificate.
Default value: ``undef``
-##### `ssl_cacert_path`
+##### `ssl_cacert_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -1879,7 +2084,7 @@ Location of the CA certificate.
Default value: ``undef``
-##### `ssl_key`
+##### `ssl_key`
Data type: `Optional[Stdlib::Base64]`
@@ -1887,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]`
@@ -1895,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]`
@@ -1903,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`
@@ -1911,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`
@@ -1919,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`
@@ -1927,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`
@@ -1935,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]`
@@ -1943,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]`
@@ -1951,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]`
@@ -1959,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]]`
@@ -1967,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]`
@@ -1975,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']`
@@ -1991,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']]`
@@ -1999,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]`
@@ -2007,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]`
@@ -2015,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]`
@@ -2023,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]`
@@ -2031,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']`
@@ -2047,7 +2263,7 @@ Set to 'present' enables the feature mainlog, 'absent' disabled it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2055,7 +2271,7 @@ You can set the log severity to 'information', 'notice', 'warning' or 'debug'.
Default value: `'information'`
-##### `path`
+##### `path`
Data type: `Stdlib::Absolutepath`
@@ -2063,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']`
@@ -2079,7 +2298,7 @@ Set to present enables the feature notification, absent disabled it.
Default value: `present`
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2087,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']`
@@ -2103,7 +2327,7 @@ Set to present enables the feature opentsdb, absent disables it.
Default value: `present`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -2111,7 +2335,7 @@ OpenTSDB host address.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2119,7 +2343,7 @@ OpenTSDB port.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2127,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']`
@@ -2143,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]`
@@ -2151,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]`
@@ -2159,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]`
@@ -2167,7 +2401,7 @@ Path to the temporary host file.
Default value: ``undef``
-##### `service_temp_path`
+##### `service_temp_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2175,7 +2409,7 @@ Path to the temporary service file.
Default value: ``undef``
-##### `host_format_template`
+##### `host_format_template`
Data type: `Optional[String]`
@@ -2183,7 +2417,7 @@ Host Format template for the performance data file.
Default value: ``undef``
-##### `service_format_template`
+##### `service_format_template`
Data type: `Optional[String]`
@@ -2191,7 +2425,7 @@ Service Format template for the performance data file.
Default value: ``undef``
-##### `rotation_interval`
+##### `rotation_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2200,7 +2434,7 @@ i.e. 1m or 15s.
Default value: ``undef``
-##### `enable_ha`
+##### `enable_ha`
Data type: `Optional[Boolean]`
@@ -2208,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']`
@@ -2224,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]`
@@ -2232,7 +2471,7 @@ Absolute path to the status.dat file.
Default value: ``undef``
-##### `objects_path`
+##### `objects_path`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2240,7 +2479,7 @@ Absolute path to the object.cache file.
Default value: ``undef``
-##### `update_interval`
+##### `update_interval`
Data type: `Optional[Icinga2::Interval]`
@@ -2249,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']`
@@ -2265,7 +2508,7 @@ Set to present enables the feature syslog, absent disables it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2273,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]`
@@ -2282,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']`
@@ -2298,7 +2544,7 @@ Set to present enables the feature windowseventlog, absent disables it.
Default value: `present`
-##### `severity`
+##### `severity`
Data type: `Icinga2::LogSeverity`
@@ -2306,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.
@@ -2332,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]`
@@ -2343,7 +2592,7 @@ Icinga 2 CLI.
Default value: ``undef``
-##### `ca_key`
+##### `ca_key`
Data type: `Optional[String]`
@@ -2353,7 +2602,7 @@ Default value: ``undef``
## Defined types
-### `icinga2::config::fragment`
+### `icinga2::config::fragment`
Set a code fragment in a target configuration file.
@@ -2388,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]`
@@ -2411,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`
@@ -2419,7 +2673,7 @@ Data type: `String`
Default value: `$title`
-### `icinga2::object::apiuser`
+### `icinga2::object::apiuser`
Manage Icinga 2 ApiUser objects.
@@ -2469,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']`
@@ -2479,7 +2741,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `apiuser_name`
+##### `apiuser_name`
Data type: `String`
@@ -2487,7 +2749,7 @@ Set the name of the apiuser object.
Default value: `$title`
-##### `password`
+##### `password`
Data type: `Optional[Variant[String, Sensitive[String]]]`
@@ -2495,7 +2757,7 @@ Password string. The password parameter isn't parsed anymore.
Default value: ``undef``
-##### `client_cn`
+##### `client_cn`
Data type: `Optional[String]`
@@ -2503,7 +2765,7 @@ Optional. Client Common Name (CN).
Default value: ``undef``
-##### `permissions`
+##### `permissions`
Data type: `Optional[Array]`
@@ -2512,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]`
@@ -2527,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']`
@@ -2543,7 +2817,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkcommand_name`
+##### `checkcommand_name`
Data type: `String`
@@ -2551,7 +2825,7 @@ Title of the CheckCommand object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2559,7 +2833,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2569,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]`
@@ -2577,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]`
@@ -2587,7 +2861,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2595,7 +2869,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Variant[Hash, String]]`
@@ -2603,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`
@@ -2618,7 +2892,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2626,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']`
@@ -2642,7 +2922,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `checkresultreader_name`
+##### `checkresultreader_name`
Data type: `String`
@@ -2650,7 +2930,7 @@ Set the Icinga 2 name of the ceckresultreader object.
Default value: `$title`
-##### `spool_dir`
+##### `spool_dir`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2658,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]`
@@ -2673,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']`
@@ -2689,7 +3171,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `endpoint_name`
+##### `endpoint_name`
Data type: `String`
@@ -2697,7 +3179,7 @@ Set the Icinga 2 name of the endpoint object.
Default value: `$title`
-##### `host`
+##### `host`
Data type: `Optional[Stdlib::Host]`
@@ -2705,7 +3187,7 @@ Optional. The IP address of the remote Icinga 2 instance.
Default value: ``undef``
-##### `port`
+##### `port`
Data type: `Optional[Stdlib::Port::Unprivileged]`
@@ -2713,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]`
@@ -2724,7 +3206,7 @@ or 1h for one hour.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -2733,7 +3215,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2741,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']`
@@ -2757,7 +3250,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `eventcommand_name`
+##### `eventcommand_name`
Data type: `String`
@@ -2765,7 +3258,7 @@ Set the Icinga 2 name of the eventcommand object.
Default value: `$title`
-##### `command`
+##### `command`
Data type: `Optional[Variant[Array, String]]`
@@ -2775,7 +3268,7 @@ takes care of parsing the command.
Default value: ``undef``
-##### `env`
+##### `env`
Data type: `Optional[Hash]`
@@ -2783,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]`
@@ -2793,7 +3286,7 @@ of custom attributes.
Default value: ``undef``
-##### `timeout`
+##### `timeout`
Data type: `Optional[Icinga2::Interval]`
@@ -2801,7 +3294,7 @@ The command timeout in seconds.
Default value: ``undef``
-##### `arguments`
+##### `arguments`
Data type: `Optional[Hash]`
@@ -2809,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`
@@ -2824,7 +3317,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -2832,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']`
@@ -2848,7 +3376,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `host_name`
+##### `host_name`
Data type: `String`
@@ -2856,7 +3384,7 @@ Hostname of the Host object.
Default value: `$title`
-##### `import`
+##### `import`
Data type: `Array`
@@ -2864,7 +3392,7 @@ Sorted List of templates to include.
Default value: `[]`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -2872,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]`
@@ -2880,7 +3408,7 @@ The host's address v4.
Default value: ``undef``
-##### `address6`
+##### `address6`
Data type: `Optional[Stdlib::Host]`
@@ -2888,7 +3416,7 @@ The host's address v6.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -2898,7 +3426,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -2906,7 +3434,7 @@ A list of host groups this host belongs to.
Default value: ``undef``
-##### `check_command`
+##### `check_command`
Data type: `Optional[String]`
@@ -2914,7 +3442,7 @@ The name of the check command.
Default value: ``undef``
-##### `max_check_attempts`
+##### `max_check_attempts`
Data type: `Optional[Integer[1]]`
@@ -2922,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]`
@@ -2930,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]`
@@ -2938,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]`
@@ -2946,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]`
@@ -2954,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]`
@@ -2962,7 +3490,7 @@ Whether notifications are enabled.
Default value: ``undef``
-##### `enable_active_checks`
+##### `enable_active_checks`
Data type: `Optional[Boolean]`
@@ -2970,7 +3498,7 @@ Whether active checks are enabled.
Default value: ``undef``
-##### `enable_passive_checks`
+##### `enable_passive_checks`
Data type: `Optional[Boolean]`
@@ -2978,7 +3506,7 @@ Whether passive checks are enabled.
Default value: ``undef``
-##### `enable_event_handler`
+##### `enable_event_handler`
Data type: `Optional[Boolean]`
@@ -2986,7 +3514,7 @@ Enables event handlers for this host.
Default value: ``undef``
-##### `enable_flapping`
+##### `enable_flapping`
Data type: `Optional[Boolean]`
@@ -2994,7 +3522,7 @@ Whether flap detection is enabled.
Default value: ``undef``
-##### `enable_perfdata`
+##### `enable_perfdata`
Data type: `Optional[Boolean]`
@@ -3002,7 +3530,7 @@ Whether performance data processing is enabled.
Default value: ``undef``
-##### `event_command`
+##### `event_command`
Data type: `Optional[String]`
@@ -3011,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]]`
@@ -3019,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]]`
@@ -3027,7 +3555,7 @@ Flapping upper bound in percent for a host to be considered flapping.
Default value: ``undef``
-##### `volatile`
+##### `volatile`
Data type: `Optional[Boolean]`
@@ -3035,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]`
@@ -3043,7 +3571,7 @@ The zone this object is a member of.
Default value: ``undef``
-##### `command_endpoint`
+##### `command_endpoint`
Data type: `Optional[String]`
@@ -3051,7 +3579,7 @@ The endpoint where commands are executed on.
Default value: ``undef``
-##### `notes`
+##### `notes`
Data type: `Optional[String]`
@@ -3059,7 +3587,7 @@ Notes for the host.
Default value: ``undef``
-##### `notes_url`
+##### `notes_url`
Data type: `Optional[String]`
@@ -3067,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]`
@@ -3075,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]`
@@ -3083,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]`
@@ -3091,7 +3619,7 @@ Icon image description for the host. Used by external interface only.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3099,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]`
@@ -3114,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.
@@ -3133,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']`
@@ -3143,7 +3680,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3151,7 +3688,7 @@ A short description of the host group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -3159,7 +3696,7 @@ An array of nested group names.
Default value: ``undef``
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -3167,7 +3704,7 @@ Assign host group members using the group rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -3175,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]`
@@ -3190,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`
@@ -3198,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]`
@@ -3215,7 +3765,7 @@ specified in the configuration or on the CLI with --define.
Default value: ``undef``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -3224,7 +3774,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3232,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']`
@@ -3240,7 +3790,7 @@ Data type: `Enum['absent', 'present']`
Default value: `present`
-##### `app_name`
+##### `app_name`
Data type: `String`
@@ -3248,7 +3798,7 @@ Data type: `String`
Default value: `$title`
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -3256,7 +3806,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_event_handlers`
+##### `enable_event_handlers`
Data type: `Optional[Boolean]`
@@ -3264,7 +3814,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_flapping`
+##### `enable_flapping`
Data type: `Optional[Boolean]`
@@ -3272,7 +3822,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_host_checks`
+##### `enable_host_checks`
Data type: `Optional[Boolean]`
@@ -3280,7 +3830,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_service_checks`
+##### `enable_service_checks`
Data type: `Optional[Boolean]`
@@ -3288,7 +3838,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `enable_perfdata`
+##### `enable_perfdata`
Data type: `Optional[Boolean]`
@@ -3296,7 +3846,7 @@ Data type: `Optional[Boolean]`
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3304,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']`
@@ -3320,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]`
@@ -3357,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`
@@ -3476,62 +4045,834 @@ 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`
-Default value: `$title`
+Manage Icinga 2 notificationcommand objects.
-##### `display_name`
+#### Parameters
-Data type: `Optional[String]`
+The following parameters are available in the `icinga2::object::notificationcommand` defined type:
-A short description of the time period.
+* [`ensure`](#ensure)
+* [`notificationcommand_name`](#notificationcommand_name)
+* [`command`](#command)
+* [`env`](#env)
+* [`vars`](#vars)
+* [`timeout`](#timeout)
+* [`arguments`](#arguments)
+* [`template`](#template)
+* [`import`](#import)
+* [`target`](#target)
+* [`order`](#order)
-Default value: ``undef``
+##### `ensure`
-##### `import`
+Data type: `Enum['absent', 'present']`
-Data type: `Array`
+Set to present enables the object, absent disables it.
-Sorted List of templates to include.
+Default value: `present`
-Default value: `['legacy-timeperiod']`
+##### `notificationcommand_name`
-##### `ranges`
+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`
+
+Data type: `Optional[String]`
+
+A short description of the time period.
+
+Default value: ``undef``
+
+##### `import`
+
+Data type: `Array`
+
+Sorted List of templates to include.
+
+Default value: `['legacy-timeperiod']`
+
+##### `ranges`
Data type: `Optional[Hash]`
@@ -3540,7 +4881,7 @@ timeperiod.
Default value: ``undef``
-##### `prefer_includes`
+##### `prefer_includes`
Data type: `Optional[Boolean]`
@@ -3548,7 +4889,7 @@ Boolean whether to prefer timeperiods includes or excludes.
Default value: ``undef``
-##### `excludes`
+##### `excludes`
Data type: `Optional[Array]`
@@ -3556,7 +4897,7 @@ An array of timeperiods, which should exclude from your timerange.
Default value: ``undef``
-##### `includes`
+##### `includes`
Data type: `Optional[Array]`
@@ -3564,7 +4905,7 @@ An array of timeperiods, which should include into your timerange
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3572,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]`
@@ -3586,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']`
@@ -3602,7 +4959,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `user_name`
+##### `user_name`
Data type: `String`
@@ -3610,7 +4967,7 @@ Set the Icinga 2 name of the user object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3618,7 +4975,7 @@ A short description of the user.
Default value: ``undef``
-##### `email`
+##### `email`
Data type: `Optional[String]`
@@ -3626,7 +4983,7 @@ An email string for this user. Useful for notification commands.
Default value: ``undef``
-##### `pager`
+##### `pager`
Data type: `Optional[String]`
@@ -3634,7 +4991,7 @@ A pager string for this user. Useful for notification commands.
Default value: ``undef``
-##### `vars`
+##### `vars`
Data type: `Optional[Icinga2::CustomAttributes]`
@@ -3644,7 +5001,7 @@ of custom attributes.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Optional[Array]`
@@ -3652,7 +5009,7 @@ An array of group names.
Default value: ``undef``
-##### `enable_notifications`
+##### `enable_notifications`
Data type: `Optional[Boolean]`
@@ -3660,7 +5017,7 @@ Whether notifications are enabled for this user.
Default value: ``undef``
-##### `period`
+##### `period`
Data type: `Optional[String]`
@@ -3669,7 +5026,7 @@ should be triggered.
Default value: ``undef``
-##### `types`
+##### `types`
Data type: `Optional[Array]`
@@ -3678,7 +5035,7 @@ everything is matched.
Default value: ``undef``
-##### `states`
+##### `states`
Data type: `Optional[Array]`
@@ -3686,7 +5043,7 @@ A set of state filters when this notification should be triggered.
Default value: ``undef``
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3694,7 +5051,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3702,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]`
@@ -3717,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']`
@@ -3733,7 +5101,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `usergroup_name`
+##### `usergroup_name`
Data type: `String`
@@ -3741,7 +5109,7 @@ Set the Icinga 2 name of the usergroup object.
Default value: `$title`
-##### `display_name`
+##### `display_name`
Data type: `Optional[String]`
@@ -3749,7 +5117,7 @@ A short description of the service group.
Default value: ``undef``
-##### `groups`
+##### `groups`
Data type: `Array`
@@ -3757,7 +5125,7 @@ An array of nested group names.
Default value: `[]`
-##### `assign`
+##### `assign`
Data type: `Array`
@@ -3765,7 +5133,7 @@ Assign user group members using the group assign rules.
Default value: `[]`
-##### `ignore`
+##### `ignore`
Data type: `Array`
@@ -3773,7 +5141,7 @@ Exclude users using the group ignore rules.
Default value: `[]`
-##### `template`
+##### `template`
Data type: `Boolean`
@@ -3781,7 +5149,7 @@ Set to true creates a template instead of an object.
Default value: ``false``
-##### `import`
+##### `import`
Data type: `Array`
@@ -3789,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]`
@@ -3804,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']`
@@ -3820,7 +5196,7 @@ Set to present enables the object, absent disables it.
Default value: `present`
-##### `zone_name`
+##### `zone_name`
Data type: `String`
@@ -3828,7 +5204,7 @@ Set the Icinga 2 name of the zone object.
Default value: `$title`
-##### `endpoints`
+##### `endpoints`
Data type: `Optional[Array]`
@@ -3836,7 +5212,7 @@ List of endpoints belong to this zone.
Default value: `[]`
-##### `parent`
+##### `parent`
Data type: `Optional[String]`
@@ -3844,7 +5220,7 @@ Parent zone to this zone.
Default value: ``undef``
-##### `global`
+##### `global`
Data type: `Optional[Boolean]`
@@ -3853,7 +5229,7 @@ and parent are ignored.
Default value: ``false``
-##### `target`
+##### `target`
Data type: `Optional[Stdlib::Absolutepath]`
@@ -3862,7 +5238,7 @@ first time.
Default value: ``undef``
-##### `order`
+##### `order`
Data type: `Variant[String, Integer]`
@@ -3872,7 +5248,7 @@ Default value: `45`
## Functions
-### `icinga2::icinga2_attributes`
+### `icinga2::icinga2_attributes`
Type: Ruby 4.x API
@@ -3891,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
@@ -3899,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.
@@ -3915,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
@@ -3927,7 +5303,7 @@ The icinga2_attributes function.
Returns: `Any` Parsed config as string
-### `icinga2_ticket_id`
+### `icinga2_ticket_id`
Type: Ruby 3.x API
@@ -3941,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',
@@ -3984,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',
@@ -4009,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']
+```