Skip to content

Commit

Permalink
Merge pull request #145 from lbetz/enhancement/epmty-strings
Browse files Browse the repository at this point in the history
Restrict parameters to non-empty strings
  • Loading branch information
lbetz committed Aug 15, 2024
2 parents f984345 + d2cde05 commit d1c1f55
Show file tree
Hide file tree
Showing 29 changed files with 178 additions and 178 deletions.
158 changes: 79 additions & 79 deletions REFERENCE.md

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions functions/cert/files.pp
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
# Returned hash includes all paths and the key, cert and cacert.
#
function icinga::cert::files(
String $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[Variant[String, Sensitive]] $key = undef,
Optional[String] $cert = undef,
Optional[String] $cacert = undef,
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,
) >> Hash {
# @param name
# The base name of certicate, key and ca file,
Expand Down
8 changes: 4 additions & 4 deletions functions/db/connect.pp
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ function icinga::db::connect(
type => Enum['pgsql','mysql','mariadb'],
host => Stdlib::Host,
port => Optional[Stdlib::Port],
database => String,
username => String,
password => Optional[Variant[String, Sensitive[String]]],
database => String[1],
username => String[1],
password => Optional[Icinga::Secret],
}] $db,
Hash[String, Any] $tls,
Hash[String[1], Any] $tls,
Optional[Boolean] $use_tls = undef,
Optional[Enum['verify-full', 'verify-ca']] $ssl_mode = undef,
) >> String {
Expand Down
2 changes: 1 addition & 1 deletion functions/prepare_web.pp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# @return
# Nothing, statement function.
#
function icinga::prepare_web(String $icingamod) {
function icinga::prepare_web(String[1] $icingamod) {
# @param module
# The module that should be printed in the warning
#
Expand Down
8 changes: 4 additions & 4 deletions manifests/agent.pp
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
#
class icinga::agent (
Stdlib::Host $ca_server,
Hash[String, Hash] $parent_endpoints,
Hash[String[1], Hash] $parent_endpoints,
Icinga::LogLevel $logging_level,
Enum['file', 'syslog', 'eventlog'] $logging_type,
String $parent_zone = 'main',
Array[String] $global_zones = [],
String $zone = 'NodeName',
String[1] $parent_zone = 'main',
Array[String[1]] $global_zones = [],
String[1] $zone = 'NodeName',
Boolean $run_web = false,
) {
class { 'icinga':
Expand Down
6 changes: 3 additions & 3 deletions manifests/agentless.pp
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@
# Install extra packages such as plugins.
#
class icinga::agentless (
String $user,
String[1] $user,
Boolean $manage_user,
Enum['ecdsa','ed25519','rsa'] $ssh_key_type,
String $ssh_public_key,
Array[String] $extra_packages = [],
String[1] $ssh_public_key,
Array[String[1]] $extra_packages = [],
) {
if defined(Class['icinga']) {
if $user != $icinga2::globals::user {
Expand Down
4 changes: 2 additions & 2 deletions manifests/cert.pp
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
#
define icinga::cert (
Icinga::Certificate $args,
String $owner,
String $group,
String[1] $owner,
String[1] $group,
) {
if $facts['os']['family'] == 'windows' {
$key_mode = undef
Expand Down
10 changes: 5 additions & 5 deletions manifests/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $access_instances,
Icinga::Secret $db_pass,
String $db_name,
String $db_user,
Array[String] $mysql_privileges,
String[1] $db_name,
String[1] $db_user,
Array[String[1]] $mysql_privileges,
Variant[Boolean,
Enum['password','cert']] $tls = false,
Optional[String] $encoding = undef,
Optional[String] $collation = undef,
Optional[String[1]] $encoding = undef,
Optional[String[1]] $collation = undef,
) {
assert_private()

Expand Down
6 changes: 3 additions & 3 deletions manifests/db.pp
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@
Icinga::Secret $db_pass,
Enum['mysql', 'pgsql'] $db_type,
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port::Unprivileged] $db_port = undef,
String $db_name = 'icingadb',
String $db_user = 'icingadb',
Optional[Stdlib::Port] $db_port = undef,
String[1] $db_name = 'icingadb',
String[1] $db_user = 'icingadb',
Boolean $manage_database = false,
Array[Stdlib::Host] $db_accesses = [],
Stdlib::Host $redis_host = 'localhost',
Expand Down
4 changes: 2 additions & 2 deletions manifests/db/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $access_instances,
Icinga::Secret $db_pass,
String $db_name = 'icingadb',
String $db_user = 'icingadb',
String[1] $db_name = 'icingadb',
String[1] $db_user = 'icingadb',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/ido.pp
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
Enum['mysql','pgsql'] $db_type = 'mysql',
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String $db_name = 'icinga2',
String $db_user = 'icinga2',
String[1] $db_name = 'icinga2',
String[1] $db_user = 'icinga2',
Boolean $manage_database = false,
Boolean $enable_ha = false,
) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/ido/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $ido_instances,
Icinga::Secret $db_pass,
String $db_name = 'icinga2',
String $db_user = 'icinga2',
String[1] $db_name = 'icinga2',
String[1] $db_user = 'icinga2',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
10 changes: 5 additions & 5 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,18 @@
#
class icinga (
Boolean $ca,
String $this_zone,
Hash[String, Hash] $zones,
String $cert_name,
String[1] $this_zone,
Hash[String[1], Hash] $zones,
String[1] $cert_name,
Optional[Stdlib::Host] $ca_server = undef,
Optional[Icinga::Secret] $ticket_salt = undef,
Array[String] $extra_packages = [],
Array[String[1]] $extra_packages = [],
Enum['file', 'syslog', 'eventlog'] $logging_type = 'file',
Optional[Icinga::LogLevel] $logging_level = undef,
Optional[Icinga::Secret] $ssh_private_key = undef,
Optional[Enum['ecdsa','ed25519','rsa']] $ssh_key_type = undef,
Boolean $prepare_web = false,
Variant[Boolean, String] $confd = false,
Variant[Boolean, String[1]] $confd = false,
) {
assert_private()

Expand Down
12 changes: 6 additions & 6 deletions manifests/server.pp
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@
Icinga::LogLevel $logging_level,
Boolean $ca = false,
Boolean $config_server = false,
String $zone = 'main',
Hash[String,Hash] $colocation_endpoints = {},
Hash[String,Hash] $workers = {},
Array[String] $global_zones = [],
String[1] $zone = 'main',
Hash[String[1], Hash] $colocation_endpoints = {},
Hash[String[1], Hash] $workers = {},
Array[String[1]] $global_zones = [],
Optional[Stdlib::Host] $ca_server = undef,
Optional[Icinga::Secret] $ticket_salt = undef,
String $web_api_user = 'icingaweb2',
String[1] $web_api_user = 'icingaweb2',
Optional[Icinga::Secret] $web_api_pass = undef,
String $director_api_user = 'director',
String[1] $director_api_user = 'director',
Optional[Icinga::Secret] $director_api_pass = undef,
Boolean $run_web = false,
Enum['ecdsa','ed25519','rsa'] $ssh_key_type = rsa,
Expand Down
8 changes: 4 additions & 4 deletions manifests/web.pp
Original file line number Diff line number Diff line change
Expand Up @@ -53,16 +53,16 @@
Icinga::Secret $db_pass,
Icinga::Secret $api_pass,
Boolean $apache_cgi_pass_auth,
String $default_admin_user = 'icingaadmin',
String[1] $default_admin_user = 'icingaadmin',
Icinga::Secret $default_admin_pass = 'icingaadmin',
Enum['mysql', 'pgsql'] $db_type = 'mysql',
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port::Unprivileged] $db_port = undef,
String $db_name = 'icingaweb2',
String $db_user = 'icingaweb2',
String[1] $db_name = 'icingaweb2',
String[1] $db_user = 'icingaweb2',
Boolean $manage_database = false,
Variant[Stdlib::Host, Array[Stdlib::Host]] $api_host = 'localhost',
String $api_user = 'icingaweb2',
String[1] $api_user = 'icingaweb2',
Array[String[1]] $apache_extra_mods = [],
Boolean $apache_config = true,
) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $web_instances,
Icinga::Secret $db_pass,
String $db_name = 'icingaweb2',
String $db_user = 'icingaweb2',
String[1] $db_name = 'icingaweb2',
String[1] $db_user = 'icingaweb2',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
8 changes: 4 additions & 4 deletions manifests/web/director.pp
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,17 @@
class icinga::web::director (
Icinga::Secret $db_pass,
Icinga::Secret $api_pass,
String $endpoint,
String[1] $endpoint,
Stdlib::Ensure::Service $service_ensure = 'running',
Boolean $service_enable = true,
Enum['mysql', 'pgsql'] $db_type = 'mysql',
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String $db_name = 'director',
String $db_user = 'director',
String[1] $db_name = 'director',
String[1] $db_user = 'director',
Boolean $manage_database = false,
Stdlib::Host $api_host = 'localhost',
String $api_user = 'director',
String[1] $api_user = 'director',
) {
icinga::prepare_web('Director')

Expand Down
4 changes: 2 additions & 2 deletions manifests/web/director/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $web_instances,
Icinga::Secret $db_pass,
String $db_user = 'director',
String $db_name = 'director',
String[1] $db_user = 'director',
String[1] $db_name = 'director',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
30 changes: 15 additions & 15 deletions manifests/web/icingadb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,21 @@
# Password for the second Redis server.
#
class icinga::web::icingadb (
Icinga::Secret $db_pass,
Enum['mysql', 'pgsql'] $db_type,
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port::Unprivileged] $db_port = undef,
String $db_name = 'icingadb',
String $db_user = 'icingadb',
Stdlib::Host $redis_host = 'localhost',
Optional[Stdlib::Port] $redis_port = undef,
Optional[Icinga::Secret] $redis_pass = undef,
Stdlib::Host $redis_primary_host = $redis_host,
Optional[Stdlib::Port] $redis_primary_port = $redis_port,
Optional[Icinga::Secret] $redis_primary_pass = $redis_pass,
Optional[Stdlib::Host] $redis_secondary_host = undef,
Optional[Stdlib::Port] $redis_secondary_port = undef,
Optional[Icinga::Secret] $redis_secondary_pass = undef,
Icinga::Secret $db_pass,
Enum['mysql', 'pgsql'] $db_type,
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String[1] $db_name = 'icingadb',
String[1] $db_user = 'icingadb',
Stdlib::Host $redis_host = 'localhost',
Optional[Stdlib::Port] $redis_port = undef,
Optional[Icinga::Secret] $redis_pass = undef,
Stdlib::Host $redis_primary_host = $redis_host,
Optional[Stdlib::Port] $redis_primary_port = $redis_port,
Optional[Icinga::Secret] $redis_primary_pass = $redis_pass,
Optional[Stdlib::Host] $redis_secondary_host = undef,
Optional[Stdlib::Port] $redis_secondary_port = undef,
Optional[Icinga::Secret] $redis_secondary_pass = undef,
) {
require icinga::web

Expand Down
4 changes: 2 additions & 2 deletions manifests/web/monitoring.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
Enum['mysql', 'pgsql'] $db_type = 'mysql',
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port::Unprivileged] $db_port = undef,
String $db_name = 'icinga2',
String $db_user = 'icinga2',
String[1] $db_name = 'icinga2',
String[1] $db_user = 'icinga2',
) {
require icinga::web

Expand Down
6 changes: 3 additions & 3 deletions manifests/web/reporting.pp
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@
Boolean $service_enable = true,
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String $db_name = 'reporting',
String $db_user = 'reporting',
String[1] $db_name = 'reporting',
String[1] $db_user = 'reporting',
Boolean $manage_database = false,
Optional[String] $mail = undef,
Optional[String[1]] $mail = undef,
) {
unless defined(Class['icinga::web::icingadb']) or defined(Class['icinga::web::monitoring']) {
fail('Class icinga::web::icingadb or icinga::web::monitoring has to be declared before!')
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/reporting/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $web_instances,
Icinga::Secret $db_pass,
String $db_user = 'reporting',
String $db_name = 'reporting',
String[1] $db_user = 'reporting',
String[1] $db_name = 'reporting',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/vspheredb.pp
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
Enum['mysql'] $db_type = 'mysql',
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String $db_name = 'vspheredb',
String $db_user = 'vspheredb',
String[1] $db_name = 'vspheredb',
String[1] $db_user = 'vspheredb',
Boolean $manage_database = false,
) {
icinga::prepare_web('VSphereDB')
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/vspheredb/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
Enum['mysql'] $db_type,
Array[Stdlib::Host] $web_instances,
Icinga::Secret $db_pass,
String $db_name = 'vspheredb',
String $db_user = 'vspheredb',
String[1] $db_name = 'vspheredb',
String[1] $db_user = 'vspheredb',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/x509.pp
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
Boolean $service_enable = true,
Stdlib::Host $db_host = 'localhost',
Optional[Stdlib::Port] $db_port = undef,
String $db_name = 'x509',
String $db_user = 'x509',
String[1] $db_name = 'x509',
String[1] $db_user = 'x509',
Boolean $manage_database = false,
) {
unless defined(Class['icinga::web::icingadb']) or defined(Class['icinga::web::monitoring']) {
Expand Down
4 changes: 2 additions & 2 deletions manifests/web/x509/database.pp
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
Enum['mysql','pgsql'] $db_type,
Array[Stdlib::Host] $web_instances,
Icinga::Secret $db_pass,
String $db_user = 'x509',
String $db_name = 'x509',
String[1] $db_user = 'x509',
String[1] $db_name = 'x509',
Variant[Boolean,
Enum['password','cert']] $tls = false,
) {
Expand Down
Loading

0 comments on commit d1c1f55

Please sign in to comment.