summaryrefslogtreecommitdiff
path: root/puppet/modules/postfix/manifests/smtp_auth.pp
blob: b553fb5bf186749748d13e7601b519f423e0b215 (plain)
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
# == Definition: postfix::smtp_auth
#
# Manages content of the /etc/postfix/smtp_auth map.
#
# Requires:
#   - Class["postfix"]
#   - Postfix::Hash["/etc/postfix/smtp_auth"]
#   - file_line (from puppetlab's stdlib module)
#
# Example usage:
#
#  node 'toto.example.com' {
#
#    include postfix
#
#    postfix::hash { '/etc/postfix/smtp_auth':
#      ensure => present,
#    }
#    postfix::config { 'smtp_auth_maps':
#      value => 'hash:/etc/postfix/smtp_auth'
#    }
#    postfix::smtp_auth { 'gmail.com':
#      ensure   => present,
#      user     => 'USER',
#      password => 'PW',
#    }
#  }

define postfix::smtp_auth ($user, $password, $ensure=present) {
  file_line { $name:
    ensure  => $ensure,
    path    => '/etc/postfix/smtp_auth',
    line    => "${name} ${user}:${password}",
    notify  => Exec['generate /etc/postfix/smtp_auth.db'],
    require => Package['postfix'],
  }
}