manifests/aliases.pp (29 lines of code) (raw):

# Adapted from https://github.com/example42/puppet-postfix/blob/master/manifests/aliases.pp class postfix::aliases ( $maps = undef, $config_file_mode = '0644', $config_file_owner = 'root', $config_file_group = 'root', $aliases_file = '/etc/aliases', ) inherits ::postfix::params { $aliases = hiera_hash('postfix::aliases::maps', undef) file { 'postfix::aliases': ensure => present, path => "${::postfix::params::config_directory}/aliases", mode => $config_file_mode, owner => $config_file_owner, group => $config_file_group, require => Package['postfix'], content => template('postfix/aliases.erb'), } file { 'postfix::aliases_sym': path => $aliases_file, ensure => 'symlink', target => "${::postfix::params::config_directory}/aliases", } exec { 'postalias': command => "/usr/sbin/postalias '${aliases_file}'", require => Package['postfix'], subscribe => File['postfix::aliases'], refreshonly => true, } }