1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'manifests/mail.pp', line 1
class system::mail (
$config = undef,
$sys_schedule = 'always',
) {
$defaults = {
schedule => $sys_schedule,
}
if $config {
$aliases = $config['aliases']
$relayhost = $config['relayhost']
$type = $config['type']
}
else {
$hiera_config = hiera_hash('system::mail', undef)
if $hiera_config {
$aliases = $hiera_config['aliases']
$relayhost = $hiera_config['relayhost']
$type = $hiera_config['hiera_config']
}
}
if $aliases {
create_resources(mailalias, $aliases, $defaults)
}
if $relayhost {
case $type {
undef, 'postfix': {
augeas { 'system-mail-postfix-relayhost':
context => '/files/etc/postfix/main.cf',
changes => [ "set relayhost ${relayhost}" ],
notify => Service['postfix'],
schedule => $sys_schedule,
}
service { 'postfix':
ensure => 'running',
enable => true,
schedule => $sys_schedule,
}
}
default: {
fail("type ${type} not supported")
}
}
}
}
|