Added a lot more parameters.

This commit is contained in:
Brian Schonecker
2015-11-20 11:36:19 -05:00
parent 3274f6583a
commit d60a4a2d8a
3 changed files with 152 additions and 43 deletions

View File

@ -2,27 +2,38 @@
#
# This class manages the nslcd server and service.
class nslcd (
$package_ensure = $nslcd::params::package_ensure,
$package_name = $nslcd::params::package_name,
$service_ensure = $nslcd::params::service_ensure,
$service_enable = $nslcd::params::service_enable,
$service_name = $nslcd::params::service_name,
$uid = $nslcd::params::uid,
$gid = $nslcd::params::gid,
$config = $nslcd::params::config,
$config_user = $nslcd::params::config_user,
$config_group = $nslcd::params::config_group,
$config_mode = $nslcd::params::config_mode,
$ldap_uris = $nslcd::params::ldap_uris,
$ldap_version = $nslcd::params::ldap_version,
$ldap_binddn = $nslcd::params::ldap_binddn,
$ldap_bindpw = $nslcd::params::ldap_bindpw,
$ldap_search_base = $nslcd::params::ldap_search_base,
$ldap_search_scope = $nslcd::params::ldap_search_scope,
$ldap_filters = $nslcd::params::ldap_filters,
$ldap_ssl = $nslcd::params::ldap_ssl,
$ldap_tls_reqcert = $nslcd::params::ldap_tls_reqcert,
$ldap_tls_cacertfile = $nslcd::params::ldap_tls_cacertfile,
$package_ensure = $nslcd::params::package_ensure,
$package_name = $nslcd::params::package_name,
$service_ensure = $nslcd::params::service_ensure,
$service_enable = $nslcd::params::service_enable,
$service_name = $nslcd::params::service_name,
$uid = $nslcd::params::uid,
$gid = $nslcd::params::gid,
$config = $nslcd::params::config,
$config_user = $nslcd::params::config_user,
$config_group = $nslcd::params::config_group,
$config_mode = $nslcd::params::config_mode,
$ldap_uris = $nslcd::params::ldap_uris,
$ldap_version = $nslcd::params::ldap_version,
$ldap_binddn = $nslcd::params::ldap_binddn,
$ldap_bindpw = $nslcd::params::ldap_bindpw,
$ldap_search_base = $nslcd::params::ldap_search_base,
$ldap_search_scope = $nslcd::params::ldap_search_scope,
$ldap_filters = $nslcd::params::ldap_filters,
$ldap_maps = $nslcd::params::ldap_maps,
$ldap_ssl = $nslcd::params::ldap_ssl,
$ldap_tls_reqcert = $nslcd::params::ldap_tls_reqcert,
$ldap_tls_cacertfile = $nslcd::params::ldap_tls_cacertfile,
$ldap_tls_cacertdir = $nslcd::params::ldap_tls_cacertdir,
$bind_timelimit = $nslcd::params::bind_timelimit,
$timelimit = $nslcd::params::timelimit,
$idle_timelimit = $nslcd::params::idle_timelimit,
$reconnect_sleeptime = $nslcd::params::reconnect_sleeptime,
$reconnect_retrytime = $nslcd::params::reconnect_retrytime,
$pagesize = $nslcd::params::pagesize,
$referrals = $nslcd::params::referrals,
$nss_initgroups_ignoreusers = $nslcd::params::nss_initgroups_ignoreusers,
) inherits nslcd::params {
# Input validation
@ -36,6 +47,19 @@ class nslcd (
validate_re($ldap_tls_reqcert, $valid_ldap_tls_reqcert)
validate_re($ldap_search_scope, $valid_ldap_search_scope)
# Ensure that the timing variables are integers.
validate_integer($bind_timelimit)
validate_integer($timelimit)
validate_integer($idle_timelimit)
validate_integer($reconnect_sleeptime)
validate_integer($reconnect_retrytime)
validate_integer($pagesize)
# do some validation
$onoff = '^(on|off)$'
validate_re($referrals, $onoff )
anchor { 'nslcd::begin': } ->
class { 'nslcd::install': } ->
class { 'nslcd::config': } ~>

View File

@ -7,36 +7,56 @@ class nslcd::params {
$service_ensure = running
$service_enable = true
$ldap_uris = ['ldap:///']
$ldap_version = '3'
$ldap_binddn = undef
$ldap_bindpw = undef
$ldap_search_base = ''
$ldap_search_scope = 'subtree'
$ldap_filters = {}
$ldap_ssl = 'off'
$ldap_tls_reqcert = 'allow'
$ldap_tls_cacertfile = undef
$default_config = '/etc/nslcd.conf'
$default_package_name = 'nslcd'
$default_service_name = 'nslcd'
$ldap_uris = ['ldap:///']
$ldap_version = '3'
$ldap_binddn = undef
$ldap_bindpw = undef
$ldap_search_base = ''
$ldap_search_scope = 'subtree'
$ldap_filters = {}
$ldap_maps = {}
$ldap_ssl = 'off'
$ldap_tls_reqcert = 'allow'
$ldap_tls_cacertfile = undef
$ldap_tls_cacertder = undef
$default_config = '/etc/nslcd.conf'
$bind_timelimit = 10
$timelimit = 0
$idle_timelimit = 0
$reconnect_sleeptime = 1
$reconnect_retrytime = 10
$pagesize = 0
$referrals = 'on'
$nss_initgroups_ignoreusers = undef
case $::osfamily {
Debian: {
$config = $default_config
$package_name = $default_package_name
$service_name = $default_service_name
$uid = 'nslcd'
$gid = 'nslcd'
$config_user = 'root'
$config_group = 'nslcd'
$config_mode = '0640'
$default_package_name = 'nslcd'
$config = $default_config
$package_name = $default_package_name
$service_name = $default_service_name
$uid = 'nslcd'
$gid = 'nslcd'
$config_user = 'root'
$config_group = 'nslcd'
$config_mode = '0640'
}
RedHat: {
$default_package_name = 'nss-pam-ldapd'
$config = $default_config
$package_name = $default_package_name
$service_name = $default_service_name
$uid = 'nslcd'
$gid = 'root'
$config_user = 'root'
$config_group = 'root'
$config_mode = '0600'
}
default: {
fail("The ${module_name} module is not supported on an ${::osfamily} based system.")
}
}
$default_service_name = 'nslcd'
}