module-postfix/manifests/header_checks_snippet.pp
mh 59010a1c30 put classes and defines in the proper place
To take advantage of puppet's autoloading feature, which will be
mandatory sooner or later. We move all the files in their appropriate
place.
2012-04-07 13:56:47 -03:00

67 lines
1.6 KiB
Puppet

/*
== Definition: postfix::header_checks_snippet
Adds a header_checks snippets to /etc/postfix/header_checks.
See the postfix::header_checks class for details.
Parameters:
- *source* or *content*: source or content of the header_checks snippet
- *ensure*: present (default) or absent
Requires:
- Class["postfix"]
Example usage:
node "toto.example.com" {
include postfix
postfix::header_checks {
'wrong_date': content => 'FIXME';
'bla': source => 'puppet:///files/etc/postfix/header_checks.d/bla';
}
}
*/
define postfix::header_checks_snippet (
$ensure = "present",
$source = '',
$content = undef
) {
if $source == '' and $content == undef {
fail("One of \$source or \$content must be specified for postfix::header_checks_snippet ${name}")
}
if $source != '' and $content != undef {
fail("Only one of \$source or \$content must specified for postfix::header_checks_snippet ${name}")
}
if ($value == false) and ($ensure == "present") {
fail("The value parameter must be set when using the postfix::header_checks_snippet define with ensure=present.")
}
include postfix::header_checks
$snippetfile = "${postfix::header_checks::postfix_header_checks_snippets_dir}/${name}"
file { "$snippetfile":
ensure => "$ensure",
mode => 600,
owner => root,
group => 0,
notify => Exec["concat_${postfix::header_checks::postfix_merged_header_checks}"],
}
if $source {
File["$snippetfile"] {
source => $source,
}
}
else {
File["$snippetfile"] {
content => $content,
}
}
}