aboutsummaryrefslogtreecommitdiff
path: root/manifests/defines/concatenated_file.pp
blob: f5e5eef0520df357f341b1f417850c3f45158605 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# common/manifests/defines/concatenated_file.pp -- create a file from snippets
# stored in a directory
#
# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
# See LICENSE for the full license granted to you.

# Usage:
# concatenated_file { "/etc/some.conf":
# 	dir => "/etc/some.conf.d",
# }
define concatenated_file ( $dir, $mode = 0644, $owner = root, $group = root ) {
	file {
		$dir:
			ensure => directory, checksum => mtime,
			mode => $mode, owner => $owner, group => $group;
		$name:
			ensure => present, checksum => md5,
			mode => $mode, owner => $owner, group => $group;
	}

	exec { "find ${dir} -maxdepth 1 -type f ! -name '*puppettmp' -print0 | xargs -0 cat > ${name}":
		refreshonly => true,
		subscribe => File[$dir],
	}
}