diff --git a/manifests/init.pp b/manifests/init.pp index edb5f13..80ffc70 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -2,7 +2,9 @@ # class ulimit { - package { ['libpam-modules', 'libpam-modules-bin']: + include ulimit::params + + package { $::ulimit::params::pam_packages: ensure => present, } @@ -11,4 +13,5 @@ class ulimit { owner => 'root', mode => '0755', } + } diff --git a/manifests/params.pp b/manifests/params.pp new file mode 100644 index 0000000..b0c5eab --- /dev/null +++ b/manifests/params.pp @@ -0,0 +1,17 @@ +# Class: ulimit::params +# +# This class holds parameters that need to be +# accessed by other classes. +class ulimit::params { + case $::osfamily { + 'Fedora', 'Redhat': { + $pam_packages = ['pam'] + } + 'Debian', 'Ubuntu': { + $pam_packages = ['libpam-modules', 'libpam-modules-bin'] + } + default: { + fail("Unsupported osfamily: ${::osfamily} The 'ulimit' module only supports osfamily Fedora, Redhat, Debian, or Ubuntu.") + } + } +}