move exim vs. postfix, heavy vs. not, into hiera
[mirror/dsa-puppet.git] / modules / roles / manifests / mta.pp
1 # Every one of our hosts has an MTA
2 #
3 # @param type exim4 or postfix.  exim4 is our default MTA
4 # @param heavy receive email from the internet and thus do spam filtering etc
5 # @param mailrelay receive mail on other hosts' behalf.  implies heavy
6 class roles::mta(
7   Enum['exim4', 'postfix'] $type = 'exim4',
8   Boolean $heavy = false,
9   Boolean $mailrelay = false,
10 ) {
11   if $type == 'exim4' {
12     if $mailrelay {
13       include roles::mailrelay
14     } elsif $heavy {
15       include exim::mx
16     } else {
17       include exim
18     }
19   } elsif $type == 'postfix' {
20     if $mailrelay {
21       fail("Unsupported: mailrelay on type ${type}")
22     }
23     include postfix
24   } else {
25     fail("Unexpected mta type ${type}")
26   }
27 }