X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Fmodule.pp;h=e5c1d5f908e28f5cc817b042c48d4e0d4d654851;hb=1dee729d00307f93d600b5bb6902494bd30a4484;hp=249e7b35764d79d57ff49e7f33c328a981261ed5;hpb=fe40608c1702d47e8ccd5da482ec59eef13ab107;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/module.pp b/modules/ferm/manifests/module.pp index 249e7b357..e5c1d5f90 100644 --- a/modules/ferm/manifests/module.pp +++ b/modules/ferm/manifests/module.pp @@ -1,20 +1,26 @@ define ferm::module ( - $hookstage='pre', - $mod=undef, - $ensure=present + $hookstage='pre', + $mod=undef, + $ensure=present ) { - if $mod { - $module = $mod - } else { - $module = $title - } - if $::kernel == 'Linux' { - file { "/etc/ferm/conf.d/load_${module}.conf": - ensure => $ensure, - content => template('ferm/load_module.erb'), - require => Package['ferm'], - notify => Service['ferm'] - } - } + case $ensure { + present,absent: {} + default: { fail ( "Invalid ensure `${ensure}' for ${name}" ) } + } + + if $mod { + $module = $mod + } else { + $module = $title + } + + if $::kernel == 'Linux' { + file { "/etc/ferm/conf.d/load_${module}.conf": + ensure => $ensure, + content => template('ferm/load_module.erb'), + require => Package['ferm'], + notify => Exec['ferm reload'] + } + } }