Skip to content

Latest commit

 

History

History
2164 lines (1216 loc) · 53.1 KB

REFERENCE.md

File metadata and controls

2164 lines (1216 loc) · 53.1 KB

Reference

Table of Contents

Classes

Public Classes

Private Classes

  • icinga: Configures the Icinga 2 Core and the api feature.
  • icinga::ca: Configures the Icinga 2 CA and the api feature.
  • icinga::repos::apt: Manage repositories via apt.
  • icinga::repos::yum: Manage repositories via yum.
  • icinga::repos::zypper: Manage repositories via zypper.

Defined types

Public Defined types

  • icinga::cert: A class to generate tls key, cert and cacert files.

Private Defined types

  • icinga::database: Private define resource for database backends.

Functions

Data types

Classes

icinga::agent

Setup an Icinga agent.

Parameters

The following parameters are available in the icinga::agent class:

ca_server

Data type: Stdlib::Host

The CA to send the certificate request to.

parent_zone

Data type: String[1]

Name of the parent Icinga zone.

Default value: 'main'

parent_endpoints

Data type: Hash[String[1], Hash]

Configures these endpoints of the parent zone.

global_zones

Data type: Array[String[1]]

List of global zones to configure.

Default value: []

logging_type

Data type: Enum['file', 'syslog', 'eventlog']

Switch the log target. On Windows syslog is ignored, eventlog on all other platforms.

logging_level

Data type: Icinga::LogLevel

Set the log level.

zone

Data type: String[1]

Set a dedicated zone name.

Default value: 'NodeName'

run_web

Data type: Boolean

Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2 and add the Icinga user to this group.

Default value: false

icinga::agentless

Setup an agentless monitoring via SSH.

Parameters

The following parameters are available in the icinga::agentless class:

user

Data type: String[1]

User name to login.

manage_user

Data type: Boolean

Wether or not to manage user.

ssh_key_type

Data type: Enum['ecdsa','ed25519','rsa']

SSH key type.

ssh_public_key

Data type: String[1]

Public SSH key of ´ssh_key_type´ for ´user´.

extra_packages

Data type: Array[String[1]]

Install extra packages such as plugins.

Default value: []

icinga::db

The icinga::db class.

Parameters

The following parameters are available in the icinga::db class:

db_type

Data type: Enum['mysql', 'pgsql']

Choose wether MySQL or PostgreSQL as backend for historical data.

db_host

Data type: Stdlib::Host

Database server.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port to connect the database.

Default value: undef

db_name

Data type: String[1]

The IcingaDB database.

Default value: 'icingadb'

db_user

Data type: String[1]

User to connect the database.

Default value: 'icingadb'

db_pass

Data type: Icinga::Secret

Passwort to login into database.

manage_database

Data type: Boolean

Install and create database on localhost.

Default value: false

db_accesses

Data type: Array[Stdlib::Host]

List of hosts with access to the database, e.g. host running Icinga Web 2. Omly valid if manage_database is true.

Default value: []

redis_host

Data type: Stdlib::Host

Redis host to connect.

Default value: 'localhost'

redis_bind

Data type: Optional[Array[Stdlib::Host]]

When Redis runs on a differnt host than Icinga, here the listining interfaces have to be set.

Default value: undef

redis_port

Data type: Optional[Stdlib::Port]

Port for Redis listening.

Default value: undef

redis_pass

Data type: Optional[Icinga::Secret]

Password to authenticate against Redis.

Default value: undef

manage_redis

Data type: Boolean

Install and create the IcingaDB Redis service on localhost.

Default value: true

manage_feature

Data type: Boolean

If you wanna manage the Icinga 2 feature for the IcingaDB, set this to true. This only make sense when an Icinga 2 Server is running on the same host.

Default value: true

icinga::db::database

Setup database for IcingaDB.

Parameters

The following parameters are available in the icinga::db::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

access_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an IcingaDB instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'icingadb'

db_user

Data type: String[1]

Database user name.

Default value: 'icingadb'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::ido

Configure IDO Backend.

Parameters

The following parameters are available in the icinga::ido class:

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Database host to connect.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port to connect. Only affects for connection to remote database hosts.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'icinga2'

db_user

Data type: String[1]

Database user name.

Default value: 'icinga2'

manage_database

Data type: Boolean

Create database and import schema.

Default value: false

enable_ha

Data type: Boolean

Enable HA feature for database.

Default value: false

icinga::ido::database

Configure IDO backend database.

Parameters

The following parameters are available in the icinga::ido::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

ido_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Server with enabled IDO feature.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'icinga2'

db_user

Data type: String[1]

Database user name.

Default value: 'icinga2'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::redis

Base class for all redis owned by Icinga.

icinga::repos

This class manages the stages stable, testing and snapshot of packages.icinga.com repository and depending on the operating system platform some other repositories.

Examples

require icinga::repos

Parameters

The following parameters are available in the icinga::repos class:

manage_stable

Data type: Boolean

Manage the Icinga stable repository. Disabled by setting to 'false'. Defaults to 'true'.

manage_testing

Data type: Boolean

Manage the Icinga testing repository to get access to release candidates. Enabled by setting to 'true'. Defaults to 'false'.

manage_nightly

Data type: Boolean

Manage the Icinga snapshot repository to get access to nightly snapshots. Enabled by setting to 'true'. Defaults to 'false'.

configure_backports

Data type: Boolean

Enables or Disables the backports repository. Has only an effect on plattforms simular to Debian. To configure the backports repo uses apt::backports in hiera.

manage_epel

Data type: Boolean

Manage the EPEL (Extra Packages Enterprise Linux) repository that is needed for some package like newer Boost libraries. Has only an effect on plattforms simular to RedHat Enterprise.

manage_powertools

Data type: Boolean

Manage the PowerTools repository that is needed for some package like nagios-plugins on Linux Enterprise systems like Alma 8, Rocky 8 and CentOS Stream 8.

manage_crb

Data type: Boolean

Manage the CRB repository that is needed for some package like nagios-plugins on Linux Enterprise systems like Alma 9, Rocky 9 and CentOS Stream 9.

manage_server_monitoring

Data type: Boolean

Manage the 'server:monitoring' repository on SLES platforms that is needed for some package like monitoring-plugins-common. Additional also the 'monitoring-plugins' are provided by this repository. Bye default the repository is added with a lower priority of 120.

manage_plugins

Data type: Boolean

Manage the NETWAYS plugins repository that provides some packages for additional plugins.

manage_extras

Data type: Boolean

Manage the NETWAYS extras repository that provides some packages for extras.

icinga::server

Setup a Icinga server.

Parameters

The following parameters are available in the icinga::server class:

ca

Data type: Boolean

Enables a CA on this node.

Default value: false

config_server

Data type: Boolean

Enables that this node is the central configuration server.

Default value: false

zone

Data type: String[1]

Name of the Icinga zone.

Default value: 'main'

colocation_endpoints

Data type: Hash[String[1], Hash]

When the zone includes more than one endpoint, set here the additional endpoint(s). Icinga supports two endpoints per zone only.

Default value: {}

workers

Data type: Hash[String[1], Hash]

All worker zones with key 'endpoints' for endpoint objects.

Default value: {}

global_zones

Data type: Array[String[1]]

List of global zones to configure.

Default value: []

ca_server

Data type: Optional[Stdlib::Host]

The CA to send the certificate request to.

Default value: undef

ticket_salt

Data type: Optional[Icinga::Secret]

Set an alternate ticket salt to icinga::ticket_salt from Hiera.

Default value: undef

web_api_user

Data type: String[1]

Icinga API user to connect Icinga 2. Notice: user is only created if a password is set.

Default value: 'icingaweb2'

web_api_pass

Data type: Optional[Icinga::Secret]

Icinga API user password.

Default value: undef

director_api_user

Data type: String[1]

Icinga API director user to connect Icinga 2. Notice: user is only created if a password is set.

Default value: 'director'

director_api_pass

Data type: Optional[Icinga::Secret]

Icinga API director user password.

Default value: undef

logging_type

Data type: Enum['file', 'syslog', 'eventlog']

Switch the log target. On Windows syslog is ignored, eventlog on all other platforms.

logging_level

Data type: Icinga::LogLevel

Set the log level.

run_web

Data type: Boolean

Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2 and add the Icinga user to this group.

Default value: false

ssh_private_key

Data type: Optional[Icinga::Secret]

The private key to install.

Default value: undef

ssh_key_type

Data type: Enum['ecdsa','ed25519','rsa']

SSH key type.

Default value: rsa

icinga::web

Setup Icinga Web 2 including a database backend for user settings, PHP and a Webserver.

Parameters

The following parameters are available in the icinga::web class:

default_admin_user

Data type: String[1]

Set the initial name of the admin user.

Default value: 'icingaadmin'

default_admin_pass

Data type: Icinga::Secret

Set the initial password for the admin user.

Default value: 'icingaadmin'

db_pass

Data type: Icinga::Secret

Password to connect the database.

apache_cgi_pass_auth

Data type: Boolean

Either turn on or off the apache cgi pass thru auth. An option available since Apache v2.4.15 and required for authenticated access to the Icinga Web Api.

apache_extra_mods

Data type: Array[String[1]]

List of addational Apache modules to load.

Default value: []

apache_config

Data type: Boolean

Wether or not install an default Apache config for Icinga Web 2. If set to true Icinga is reachable via /icingaweb2.

Default value: true

db_type

Data type: Enum['mysql', 'pgsql']

What kind of database type to use.

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Database host to connect.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port::Unprivileged]

Port to connect. Only affects for connection to remote database hosts.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'icingaweb2'

db_user

Data type: String[1]

Database user name.

Default value: 'icingaweb2'

manage_database

Data type: Boolean

Create database.

Default value: false

api_host

Data type: Variant[Stdlib::Host, Array[Stdlib::Host]]

Single or list of Icinga 2 API endpoints to connect.

Default value: 'localhost'

api_user

Data type: String[1]

Icinga 2 API user.

Default value: 'icingaweb2'

api_pass

Data type: Icinga::Secret

Password to connect the Icinga 2 API.

icinga::web::database

Setup Icinga Web 2 database for user settings.

Parameters

The following parameters are available in the icinga::web::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

web_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'icingaweb2'

db_user

Data type: String[1]

Database user name.

Default value: 'icingaweb2'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::web::director

Setup Director module for Icinga Web 2

Parameters

The following parameters are available in the icinga::web::director class:

service_ensure

Data type: Stdlib::Ensure::Service

Manages if the Director service should be stopped or running.

Default value: 'running'

service_enable

Data type: Boolean

If set to true the Director service will start on boot.

Default value: true

db_type

Data type: Enum['mysql', 'pgsql']

Type of your database. Either mysql or pgsql.

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Hostname of the database.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port of the database.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'director'

db_user

Data type: String[1]

Username for DB connection.

Default value: 'director'

db_pass

Data type: Icinga::Secret

Password for DB connection.

endpoint

Data type: String[1]

Endpoint object name of Icinga 2 API.

manage_database

Data type: Boolean

Create database and import schema.

Default value: false

api_host

Data type: Stdlib::Host

Icinga 2 API hostname.

Default value: 'localhost'

api_user

Data type: String[1]

Icinga 2 API username.

Default value: 'director'

api_pass

Data type: Icinga::Secret

Icinga 2 API password.

icinga::web::director::database

Setup Director database.

Parameters

The following parameters are available in the icinga::web::director::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

web_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'director'

db_user

Data type: String[1]

Database user name.

Default value: 'director'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::web::icingadb

Setup IcingaDB module for the new backend.

Parameters

The following parameters are available in the icinga::web::icingadb class:

db_type

Data type: Enum['mysql', 'pgsql']

What kind of database type to use as backend.

db_host

Data type: Stdlib::Host

Database host to connect for the backenend.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port to connect the backend.

Default value: undef

db_name

Data type: String[1]

Name of the database backend.

Default value: 'icingadb'

db_user

Data type: String[1]

Database backend user name.

Default value: 'icingadb'

db_pass

Data type: Icinga::Secret

Password to connect the backend.

redis_host

Data type: Stdlib::Host

Redis host to connect.

Default value: 'localhost'

redis_port

Data type: Optional[Stdlib::Port]

Connect redis_host om this port.

Default value: undef

redis_pass

Data type: Optional[Icinga::Secret]

Password for Redis connection.

Default value: undef

redis_primary_host

Data type: Stdlib::Host

Alternative parameter to use for redis_host. Useful for high availability environments.

Default value: $redis_host

redis_primary_port

Data type: Optional[Stdlib::Port]

Alternative parameter to use for redis_port. Useful for high availability environments.

Default value: $redis_port

redis_primary_pass

Data type: Optional[Icinga::Secret]

Alternative parameter to use for redis_passwod. Useful for high availability environments.

Default value: $redis_pass

redis_secondary_host

Data type: Optional[Stdlib::Host]

Fallback Redis host to connect if the first one fails.

Default value: undef

redis_secondary_port

Data type: Optional[Stdlib::Port]

Port to connect on the fallback Redis server.

Default value: undef

redis_secondary_pass

Data type: Optional[Icinga::Secret]

Password for the second Redis server.

Default value: undef

icinga::web::monitoring

Setup Monitoring module for the IDO backend.

Parameters

The following parameters are available in the icinga::web::monitoring class:

db_type

Data type: Enum['mysql', 'pgsql']

What kind of database type to use as IDO backend.

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Database host to connect for the IDO backenend.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port::Unprivileged]

Port to connect the IDO backend.

Default value: undef

db_name

Data type: String[1]

Name of the IDO database backend.

Default value: 'icinga2'

db_user

Data type: String[1]

IDO database backend user name.

Default value: 'icinga2'

db_pass

Data type: Icinga::Secret

Pasword to connect the IDO backend.

icinga::web::reporting

Setup the reporting module for Icinga Web 2

Parameters

The following parameters are available in the icinga::web::reporting class:

service_ensure

Data type: Stdlib::Ensure::Service

Manages if the reporting service should be stopped or running.

Default value: 'running'

service_enable

Data type: Boolean

If set to true the reporting service will start on boot.

Default value: true

db_type

Data type: Enum['mysql', 'pgsql']

Type of your database.

db_host

Data type: Stdlib::Host

Hostname of the database.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port of the database.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'reporting'

db_user

Data type: String[1]

Username for DB connection.

Default value: 'reporting'

db_pass

Data type: Icinga::Secret

Password for DB connection.

manage_database

Data type: Boolean

Create database and import schema.

Default value: false

mail

Data type: Optional[String[1]]

Mails are sent with this sender address.

Default value: undef

icinga::web::reporting::database

Setup the reporting database.

Parameters

The following parameters are available in the icinga::web::reporting::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

web_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'reporting'

db_user

Data type: String[1]

Database user name.

Default value: 'reporting'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::web::vspheredb

Setup VSphereDB module for Icinga Web 2

Parameters

The following parameters are available in the icinga::web::vspheredb class:

service_ensure

Data type: Stdlib::Ensure::Service

Manages if the VSphereDB service should be stopped or running.

Default value: 'running'

service_enable

Data type: Boolean

If set to true the VSphereDB service will start on boot.

Default value: true

db_type

Data type: Enum['mysql']

Type of your database. At the moment only mysql is supported by the Icinga team.

Default value: 'mysql'

db_host

Data type: Stdlib::Host

Hostname of the database.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port of the database.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'vspheredb'

db_user

Data type: String[1]

Username for DB connection.

Default value: 'vspheredb'

db_pass

Data type: Icinga::Secret

Password for DB connection.

manage_database

Data type: Boolean

Create database and import schema.

Default value: false

icinga::web::vspheredb::database

Setup VSphereDB database.

Parameters

The following parameters are available in the icinga::web::vspheredb::database class:

db_type

Data type: Enum['mysql']

What kind of database type to use.

web_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'vspheredb'

db_user

Data type: String[1]

Database user name.

Default value: 'vspheredb'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::web::x509

Setup the x509 module for Icinga Web 2

Parameters

The following parameters are available in the icinga::web::x509 class:

service_ensure

Data type: Stdlib::Ensure::Service

Manages if the x509 service should be stopped or running.

Default value: 'running'

service_enable

Data type: Boolean

If set to true the x509 service will start on boot.

Default value: true

db_type

Data type: Enum['mysql', 'pgsql']

Type of your database.

db_host

Data type: Stdlib::Host

Hostname of the database.

Default value: 'localhost'

db_port

Data type: Optional[Stdlib::Port]

Port of the database.

Default value: undef

db_name

Data type: String[1]

Name of the database.

Default value: 'x509'

db_user

Data type: String[1]

Username for DB connection.

Default value: 'x509'

db_pass

Data type: Icinga::Secret

Password for DB connection.

manage_database

Data type: Boolean

Create database and import schema.

Default value: false

icinga::web::x509::database

Setup the x509 database.

Parameters

The following parameters are available in the icinga::web::x509::database class:

db_type

Data type: Enum['mysql','pgsql']

What kind of database type to use.

web_instances

Data type: Array[Stdlib::Host]

List of Hosts to allow write access to the database. Usually an Icinga Web 2 instance.

db_pass

Data type: Icinga::Secret

Password to connect the database.

db_name

Data type: String[1]

Name of the database.

Default value: 'x509'

db_user

Data type: String[1]

Database user name.

Default value: 'x509'

tls

Data type:

Variant[Boolean,
  Enum['password','cert']]

Access only for TLS encrypted connections. Authentication via password or cert, value true means password auth.

Default value: false

icinga::worker

Setup a Icinga worker (aka satellite).

Parameters

The following parameters are available in the icinga::worker class:

ca_server

Data type: Stdlib::Host

The CA to send the certificate request to.

zone

Data type: String[1]

Name of the Icinga zone.

parent_zone

Data type: String[1]

Name of the parent Icinga zone.

Default value: 'main'

parent_endpoints

Data type: Hash[String[1], Hash]

Configures these endpoints of the parent zone.

colocation_endpoints

Data type: Hash[String[1], Hash]

When the zone includes more than one endpoint, set here the additional endpoint(s). Icinga supports two endpoints per zone only.

Default value: {}

workers

Data type: Hash[String[1], Hash]

All cascading worker zones with key 'endpoints' for endpoint objects.

Default value: {}

global_zones

Data type: Array[String[1]]

List of global zones to configure.

Default value: []

logging_type

Data type: Enum['file', 'syslog', 'eventlog']

Switch the log target. On Windows syslog is ignored, eventlog on all other platforms.

logging_level

Data type: Icinga::LogLevel

Set the log level.

run_web

Data type: Boolean

Prepare to run Icinga Web 2 on the same machine. Manage a group icingaweb2 and add the Icinga user to this group.

Default value: false

ssh_private_key

Data type: Optional[Icinga::Secret]

The private key to install.

Default value: undef

ssh_key_type

Data type: Enum['ecdsa','ed25519','rsa']

SSH key type.

Default value: rsa

Defined types

icinga::cert

A class to generate tls key, cert and cacert files.

Parameters

The following parameters are available in the icinga::cert defined type:

args

Data type: Icinga::Certificate

A config hash with the keys: key_file, cert_file, cacert_file, key, cert and cacert

owner

Data type: String[1]

Owner of the files.

group

Data type: String[1]

Group membership of all files.

Functions

icinga::cert::files

Type: Puppet Language

Choose the path of tls key, cert and ca file.

icinga::cert::files(String[1] $name, Optional[Stdlib::Absolutepath] $default_dir, Optional[Stdlib::Absolutepath] $key_file = undef, Optional[Stdlib::Absolutepath] $cert_file = undef, Optional[Stdlib::Absolutepath] $cacert_file = undef, Optional[Icinga::Secret] $key = undef, Optional[String[1]] $cert = undef, Optional[String[1]] $cacert = undef)

The icinga::cert::files function.

Returns: Hash Returned hash includes all paths and the key, cert and cacert.

name

Data type: String[1]

default_dir

Data type: Optional[Stdlib::Absolutepath]

key_file

Data type: Optional[Stdlib::Absolutepath]

cert_file

Data type: Optional[Stdlib::Absolutepath]

cacert_file

Data type: Optional[Stdlib::Absolutepath]

key

Data type: Optional[Icinga::Secret]

cert

Data type: Optional[String[1]]

cacert

Data type: Optional[String[1]]

icinga::db::connect

Type: Puppet Language

This function returns a string to connect databases with or without TLS information.

`icinga::db::connect(Struct[{

  type     => Enum['pgsql','mysql','mariadb'],
  host     => Stdlib::Host,
  port     => Optional[Stdlib::Port],
  database => String[1],
  username => String[1],
  password => Optional[Icinga::Secret],

}] $db, Hash[String[1], Any] $tls, Optional[Boolean] $use_tls = undef, Optional[Enum['verify-full', 'verify-ca']] $ssl_mode = undef)`

The icinga::db::connect function.

Returns: String Connection string to connect database.

db

Data type:

Struct[{
      type     => Enum['pgsql','mysql','mariadb'],
      host     => Stdlib::Host,
      port     => Optional[Stdlib::Port],
      database => String[1],
      username => String[1],
      password => Optional[Icinga::Secret],
  }]

Data hash with database information.

tls

Data type: Hash[String[1], Any]

Data hash with TLS connection information.

use_tls

Data type: Optional[Boolean]

Wether or not to use TLS encryption.

ssl_mode

Data type: Optional[Enum['verify-full', 'verify-ca']]

Enable SSL connection mode.

icinga::newline

Type: Puppet Language

Replace newlines for Windows systems.

icinga::newline(Optional[String] $text)

The icinga::newline function.

Returns: String Text with correct newlines.

text

Data type: Optional[String]

icinga::prepare_web

Type: Puppet Language

This funktion checks for web preparation and display a warning if fails

icinga::prepare_web(String[1] $icingamod)

The icinga::prepare_web function.

Returns: Any Nothing, statement function.

icingamod

Data type: String[1]

Data types

Icinga::Certificate

A strict type for a certificate

Alias of

Struct[{
    cert        => Optional[String[1]],
    key         => Optional[Icinga::Secret],
    cacert      => Optional[String[1]],
    insecure    => Optional[Boolean],
    cert_file   => Optional[Stdlib::Absolutepath],
    key_file    => Optional[Stdlib::Absolutepath],
    cacert_file => Optional[Stdlib::Absolutepath],
}]

Icinga::LogLevel

A strict type for log levels

Alias of Enum['debug', 'information', 'notice', 'warning', 'critical']

Icinga::Secret

A strict type for the secrets like passwords or keys

Alias of Variant[String[1], Sensitive[String[1]]]