puppet-zaqar/manifests/server_instance.pp
Takashi Kajinami 15124a60a2 Add strict validation about boolean parameters
This ensures the parameters used by if-else logic accept only boolean
values because non-boolean can result in unexpected behavior.

Change-Id: I8c2bd97681130da33974e4ea707f77f44e160ce2
2023-03-19 22:40:26 +09:00

50 lines
1.2 KiB
Puppet

# = Class: zaqar::server_instance
#
# This class manages N instances of zaqar-server each using an
# alternate /etc/zaqar/n.conf file to control select service
# settings which take priority over settings in /etc/zaqar/zaqar.conf.
#
# [*transport*]
# Set to either 'wsgi' or 'websocket'. Required.
#
# [*enabled*]
# (Optional) Service enable state for zaqar-server.
# Defaults to true
#
define zaqar::server_instance(
$transport,
$enabled = true,
) {
if $name == 'zaqar' {
fail('The name should not be \'zaqar\'. Please use a different name')
}
include zaqar
include zaqar::deps
include zaqar::params
validate_legacy(Boolean, 'validate_bool', $enabled)
if $enabled {
$service_ensure = 'running'
} else {
$service_ensure = 'stopped'
}
file { "/etc/zaqar/${name}.conf":
ensure => file,
content => template('zaqar/zaqar.conf.erb'),
}
service { "${::zaqar::params::service_name}@${name}":
ensure => $service_ensure,
enable => $enabled,
tag => 'zaqar-service'
}
Package['zaqar-common'] ~> File["/etc/zaqar/${name}.conf"]
File["/etc/zaqar/${name}.conf"] ~> Service["${::zaqar::params::service_name}@${name}"]
}