X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Fmodule.pp;h=ead8136d76eb54c4d832a7b39632f16c35b1a7ee;hb=d7606746f1a0945f439a6bf1c180719a6779a798;hp=e305611dec9d9d15b3c0b7947e88a3090b2b44fd;hpb=fe18e7730194d89a8fc7f5a4028a6bba4a2c44d8;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/module.pp b/modules/ferm/manifests/module.pp index e305611de..ead8136d7 100644 --- a/modules/ferm/manifests/module.pp +++ b/modules/ferm/manifests/module.pp @@ -1,12 +1,26 @@ define ferm::module ( $hookstage='pre', - $module=$title, + $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'] + } } }