X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Fmodule.pp;h=e5c1d5f908e28f5cc817b042c48d4e0d4d654851;hb=015fa6b401098df522b1adf8e574a88d581ef340;hp=cec6496f79883e1873b799534c355e87e63874f3;hpb=59963405a47cc9a41af273aff5cac242af17a018;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/module.pp b/modules/ferm/manifests/module.pp index cec6496f7..e5c1d5f90 100644 --- a/modules/ferm/manifests/module.pp +++ b/modules/ferm/manifests/module.pp @@ -1,12 +1,26 @@ define ferm::module ( - $module, - $hookstage='pre', - $ensure=present + $hookstage='pre', + $mod=undef, + $ensure=present ) { - 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'] + } + } }