define line($file, $line, $ensure = 'present') { case $ensure { default : { err ( "unknown ensure value ${ensure}" ) } present: { exec { "/bin/echo '${line}' >> '${file}'": unless => "/bin/grep -qFx '${line}' '${file}'" } } absent: { exec { "/usr/bin/perl -ni -e 'print unless /^\\Q${line}\\E\$/' '${file}'": onlyif => "/bin/grep -qFx '${line}' '${file}'" } } } } define create::symblink ( $target, $linkname ) { exec { "createsymblink": command => "ln -s $target $linkname", path => "/bin", creates => "$linkname", } }