]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
add a define to handily add parts to a concatenated file
authordavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Wed, 27 Jun 2007 06:48:13 +0000 (06:48 +0000)
committerdavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Wed, 27 Jun 2007 06:48:13 +0000 (06:48 +0000)
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@64 f03ff2f1-f02d-0410-970d-b9634babeaa1

manifests/defines/concatenated_file.pp

index 1cfa4fb770d9e4744d93eb5cf6ea5311944215be..96eb92eb57d78bc842a2e6ee949bf9ad751231c0 100644 (file)
@@ -4,11 +4,19 @@
 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
 # See LICENSE for the full license granted to you.
 
+# TODO:
+# * get rid of the $dir parameter
+# * create the directory in _part too
+
 # Usage:
 # concatenated_file { "/etc/some.conf":
 #      dir => "/etc/some.conf.d",
 # }
-define concatenated_file ( $dir, $mode = 0644, $owner = root, $group = root ) {
+# Use Exec["concat_$name"] as Semaphor
+define concatenated_file (
+       $dir, $mode = 0644, $owner = root, $group = root 
+       )
+{
        file {
                $dir:
                        ensure => directory, checksum => mtime,
@@ -21,7 +29,23 @@ define concatenated_file ( $dir, $mode = 0644, $owner = root, $group = root ) {
        exec { "find ${dir} -maxdepth 1 -type f ! -name '*puppettmp' -print0 | sort -z | xargs -0 cat > ${name}":
                refreshonly => true,
                subscribe => File[$dir],
+               alias => "concat_${name}",
        }
 }
 
 
+# Add a snippet called $name to the concatenated_file at $dir.
+# The file can be referenced as File["cf_part_${name}"]
+define concatenated_file_part (
+       $dir, $content = '', $ensure = present,
+       $mode = 0644, $owner = root, $group = root 
+       )
+{
+
+       file { "${dir}/${name}":
+               ensure => $ensure, content => $content,
+               mode => $mode, owner => $owner, group => $group,
+               alias => "cf_part_${name}",
+       }
+
+}