summaryrefslogtreecommitdiff
path: root/manifests/virtual.pp
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2012-02-16 16:51:56 +0100
committerSilvio Rhatto <rhatto@riseup.net>2012-04-07 13:56:47 -0300
commit59010a1c304801db6423f67d656399478fc603f0 (patch)
tree2ff29f6c26451f2dd62f53a3a5abb5b09bef7ab4 /manifests/virtual.pp
parent462db65ec48b6398c9a04a88cc4c197eb73f34fa (diff)
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.
Diffstat (limited to 'manifests/virtual.pp')
-rw-r--r--manifests/virtual.pp44
1 files changed, 44 insertions, 0 deletions
diff --git a/manifests/virtual.pp b/manifests/virtual.pp
new file mode 100644
index 0000000..8fcd53a
--- /dev/null
+++ b/manifests/virtual.pp
@@ -0,0 +1,44 @@
+/*
+== Definition: postfix::virtual
+
+Manages content of the /etc/postfix/virtual map.
+
+Parameters:
+- *name*: name of address postfix will lookup. See virtual(8).
+- *destination*: where the emails will be delivered to. See virtual(8).
+- *ensure*: present/absent, defaults to present.
+
+Requires:
+- Class["postfix"]
+- Postfix::Hash["/etc/postfix/virtual"]
+- Postfix::Config["virtual_alias_maps"]
+- common::line (from module common)
+
+Example usage:
+
+ node "toto.example.com" {
+
+ include postfix
+
+ postfix::hash { "/etc/postfix/virtual":
+ ensure => present,
+ }
+ postfix::config { "virtual_alias_maps":
+ value => "hash:/etc/postfix/virtual"
+ }
+ postfix::virtual { "user@example.com":
+ ensure => present,
+ destination => "root",
+ }
+ }
+
+*/
+define postfix::virtual ($ensure="present", $destination) {
+ line {"${name} ${destination}":
+ ensure => $ensure,
+ file => "/etc/postfix/virtual",
+ line => "${name} ${destination}",
+ notify => Exec["generate /etc/postfix/virtual.db"],
+ require => Package["postfix"],
+ }
+}