summaryrefslogtreecommitdiff
path: root/puppet/modules/postfix/manifests/header_checks_snippet.pp
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/modules/postfix/manifests/header_checks_snippet.pp')
-rw-r--r--puppet/modules/postfix/manifests/header_checks_snippet.pp60
1 files changed, 60 insertions, 0 deletions
diff --git a/puppet/modules/postfix/manifests/header_checks_snippet.pp b/puppet/modules/postfix/manifests/header_checks_snippet.pp
new file mode 100644
index 00000000..05929a33
--- /dev/null
+++ b/puppet/modules/postfix/manifests/header_checks_snippet.pp
@@ -0,0 +1,60 @@
+/*
+== 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" {
+ class { 'postfix': }
+ postfix::header_checks_snippet {
+ '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}")
+ }
+
+ include postfix::header_checks
+
+ $fragment = "postfix_header_checks_${name}"
+
+ concat::fragment { "$fragment":
+ ensure => "$ensure",
+ target => '/etc/postfix/header_checks',
+ }
+
+ if $source {
+ Concat::Fragment["$fragment"] {
+ source => $source,
+ }
+ }
+ else {
+ Concat::Fragment["$fragment"] {
+ content => $content,
+ }
+ }
+
+}