X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Fmanifests%2Fconf.pp;h=c016e09f37382df00eb8b47cb0396a36ef026e9d;hb=6395c342fbcb2968aded5df10dc8e5ab81e5486c;hp=0dffa773d9798bce293bf9f48e5c83ca6fd8819f;hpb=f777daf1c3e81e12b3802420394a46b8aa5a3fe2;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/manifests/conf.pp b/modules/ferm/manifests/conf.pp index 0dffa773d..c016e09f3 100644 --- a/modules/ferm/manifests/conf.pp +++ b/modules/ferm/manifests/conf.pp @@ -1,29 +1,41 @@ -define ferm::conf ($content=undef, $source=undef, $ensure=present) { +# +define ferm::conf ( + $source=undef, + $content=undef, + $ensure=present, + $prio='xx-10', +) { + include ferm - include ferm + case $ensure { + present: { + if ! ($source or $content) { + fail ( "No configuration found for ${name}" ) + } + } + absent: {} + default: { fail ( "Unknown ensure value: '${ensure}'" ) } + } - case $ensure { - present,absent: {} - default: { fail ( "Invald ensure `${ensure}' for ${name}" ) } - } + if ($source and $content) { + fail ( "Can't define both source and content for ${name}" ) + } - if ($source and $content) { - fail ( "Can't define both source and content for ${name}" ) - } + $fname = "/etc/ferm/conf.d/${prio}_${name}.conf" - $fname = "/etc/ferm/conf.d/${name}.conf" - - if $source { - file { $fname: - ensure => $ensure, - source => $source, - notify => Service['ferm'] - } - } elsif $content { - file { $fname: - ensure => $ensure, - content => $content, - notify => Service['ferm'] - } - } + if $content { + file { $fname: + ensure => $ensure, + mode => '0400', + content => $content, + notify => Exec['ferm reload'], + } + } else { + file { $fname: + ensure => $ensure, + mode => '0400', + source => $source, + notify => Exec['ferm reload'], + } + } }