diff options
Diffstat (limited to 'manifests/defines/line.pp')
-rw-r--r-- | manifests/defines/line.pp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/manifests/defines/line.pp b/manifests/defines/line.pp deleted file mode 100644 index 44c52a0..0000000 --- a/manifests/defines/line.pp +++ /dev/null @@ -1,54 +0,0 @@ -# common/manifests/defines/line.pp -- a trivial mechanism to ensure a line exists in a file -# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at> -# See LICENSE for the full license granted to you. - -# Ensures that a specific line is present or absent in a file. This can -# be very brittle, since even small changes can throw this off. -# -# If the line is not present yet, it will be appended to the file. -# -# The name of the define is not used. Just keep it (globally) unique and -# descriptive. -# -# Use this only for very trivial stuff. Usually replacing the whole file -# is a more stable solution with less maintenance headaches afterwards. -# -# Usage: -# line { description: -# file => "filename", -# line => "content", -# ensure => {absent,*present*} -# } -# -# Example: -# The following ensures that the line "allow ^$munin_host$" exists in -# /etc/munin/munin-node.conf, and if there are any changes notify the -# service for a restart -# -# line { -# allow_munin_host: -# file => "/etc/munin/munin-node.conf", -# line => "allow ^$munin_host$", -# ensure => present, -# notify => Service[munin-node], -# require => Package[munin-node]; -# } -# -# Code with fixes gathered at -# http://reductivelabs.com/trac/puppet/wiki/Recipes/SimpleText -define line($file, $line, $ensure = 'present') { - case $ensure { - default : { err ( "unknown ensure value '${ensure}'" ) } - present: { - exec { "echo '${line}' >> '${file}'": - unless => "grep -qFx '${line}' '${file}'" - } - } - absent: { - $subst_line = regsubst($line,'(/|\.)','\\\1','G') - exec { "sed -i '/${subst_line}/d' '${file}'": - onlyif => "grep -qFx '${line}' '${file}'" - } - } - } -} |