diff options
author | Nicolas Vigier <boklm@mageia.org> | 2010-11-12 17:42:22 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2010-11-12 17:42:22 +0000 |
commit | 51bb494cdc75a89c96b76bb42f083b728bcc9925 (patch) | |
tree | 81916f4d4774f1486e3f226580eb83a238a5e0a2 /modules/concat/manifests/fragment.pp | |
parent | abadb411b5fdba1c8d3793f64f1716b609881270 (diff) | |
download | puppet-51bb494cdc75a89c96b76bb42f083b728bcc9925.tar puppet-51bb494cdc75a89c96b76bb42f083b728bcc9925.tar.gz puppet-51bb494cdc75a89c96b76bb42f083b728bcc9925.tar.bz2 puppet-51bb494cdc75a89c96b76bb42f083b728bcc9925.tar.xz puppet-51bb494cdc75a89c96b76bb42f083b728bcc9925.zip |
Add a module to construct files from fragments.
Downloaded from https://github.com/ripienaar/puppet-concat/
Diffstat (limited to 'modules/concat/manifests/fragment.pp')
-rw-r--r-- | modules/concat/manifests/fragment.pp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/modules/concat/manifests/fragment.pp b/modules/concat/manifests/fragment.pp new file mode 100644 index 00000000..890d43a4 --- /dev/null +++ b/modules/concat/manifests/fragment.pp @@ -0,0 +1,51 @@ +# Puts a file fragment into a directory previous setup using concat +# +# OPTIONS: +# - target The file that these fragments belong to +# - content If present puts the content into the file +# - source If content was not specified, use the source +# - order By default all files gets a 10_ prefix in the directory +# you can set it to anything else using this to influence the +# order of the content in the file +# - ensure Present/Absent or destination to a file to include another file +# - mode Mode for the file +# - owner Owner of the file +# - group Owner of the file +# - backup Controls the filebucketing behavior of the final file and +# see File type reference for its use. Defaults to 'puppet' +define concat::fragment($target, $content='', $source='', $order=10, $ensure = "present", $mode = 0644, $owner = root, $group = root, $backup = "puppet") { + $safe_name = regsubst($name, '/', '_', 'G') + $safe_target_name = regsubst($target, '/', '_', 'G') + $concatdir = $concat::setup::concatdir + $fragdir = "${concatdir}/${safe_target_name}" + + # if content is passed, use that, else if source is passed use that + # if neither passed, but $ensure is in symlink form, make a symlink + case $content { + "": { + case $source { + "": { + case $ensure { + "", "absent", "present", "file", "directory": { + crit("No content, source or symlink specified") + } + } + } + default: { File{ source => $source } } + } + } + default: { File{ content => $content } } + } + + file{"${fragdir}/fragments/${order}_${safe_name}": + mode => $mode, + owner => $owner, + group => $group, + ensure => $ensure, + backup => $backup, + alias => "concat_fragment_${name}", + notify => Exec["concat_${target}"] + } +} + +# vi:tabstop=4:expandtab:ai |