diff options
author | Micah <micah@leap.se> | 2016-05-24 10:19:37 -0400 |
---|---|---|
committer | Micah <micah@leap.se> | 2016-05-24 10:19:37 -0400 |
commit | 38ac177664f763f08153239992568f1aad04c89b (patch) | |
tree | 3bb398154ea70b4320f4b4597a8aba8b83a9cf19 /puppet/modules/postfix/manifests/hash.pp | |
parent | 93ff36e36236542e6b2a35b0c03a69623662a298 (diff) | |
parent | 6570cad05280d8fc9c9c22a403e1dc234ca6ab25 (diff) |
Merge commit '6570cad05280d8fc9c9c22a403e1dc234ca6ab25' as 'puppet/modules/postfix'
Diffstat (limited to 'puppet/modules/postfix/manifests/hash.pp')
-rw-r--r-- | puppet/modules/postfix/manifests/hash.pp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/puppet/modules/postfix/manifests/hash.pp b/puppet/modules/postfix/manifests/hash.pp new file mode 100644 index 00000000..006f8815 --- /dev/null +++ b/puppet/modules/postfix/manifests/hash.pp @@ -0,0 +1,71 @@ +/* +== Definition: postfix::hash + +Creates postfix hashed "map" files. It will create "${name}", and then build +"${name}.db" using the "postmap" command. The map file can then be referred to +using postfix::config. + +Parameters: +- *name*: the name of the map file. +- *ensure*: present/absent, defaults to present. +- *source*: file source. + +Requires: +- Class["postfix"] + +Example usage: + + node "toto.example.com" { + + class { 'postfix': } + + postfix::hash { "/etc/postfix/virtual": + ensure => present, + } + postfix::config { "virtual_alias_maps": + value => "hash:/etc/postfix/virtual" + } + } + +*/ +define postfix::hash ($ensure="present", $source = false) { + include ::postfix + case $source { + false: { + file {"${name}": + ensure => $ensure, + mode => 600, + owner => root, + group => root, + seltype => $postfix::postfix_seltype, + require => Package["postfix"], + } + } + default: { + file {"${name}": + ensure => $ensure, + mode => 600, + owner => root, + group => root, + source => $source, + seltype => $postfix::postfix_seltype, + require => Package["postfix"], + } + } + } + + file {"${name}.db": + ensure => $ensure, + mode => 600, + require => [File["${name}"], Exec["generate ${name}.db"]], + seltype => $postfix::postfix_seltype, + } + + exec {"generate ${name}.db": + command => "postmap ${name}", + #creates => "${name}.db", # this prevents postmap from being run ! + subscribe => File["${name}"], + refreshonly => true, + require => Package["postfix"], + } +} |