Puppet Class: exim

Inherits:
exim::params
Defined in:
manifests/init.pp

Overview

Parameters:

  • package_name (String) (defaults to: $exim::params::package_name)
  • service_name (String) (defaults to: $exim::params::service_name)
  • service_user (String) (defaults to: $exim::params::service_user)
  • service_group (String) (defaults to: $exim::params::service_group)
  • config_file (String) (defaults to: $exim::params::config_file)
  • primary_hostname (String) (defaults to: $facts['fqdn'])
  • local_domains (Array[String]) (defaults to: [$primary_hostname])
  • relay_to_domains (Array[String]) (defaults to: [])
  • relay_from_hosts (Array[String]) (defaults to: [])
  • av_scanner_enable (Boolean) (defaults to: false)
  • av_scanner (String) (defaults to: 'clamd:/tmp/clamd')
  • spamd_enable (Boolean) (defaults to: false)
  • spamd_variant (Enum['variant =rspamd', '']) (defaults to: '')
  • spamd_address (Stdlib::Host) (defaults to: 'localhost')
  • spamd_port (Integer) (defaults to: 783)
  • tls_enabled (Boolean) (defaults to: true)
  • tls_certificate_path (String) (defaults to: $exim::params::tls_certificate_path)
  • tls_certificate_content (Optional[String]) (defaults to: undef)
  • tls_privatekey_path (String) (defaults to: $exim::params::tls_privatekey_path)
  • tls_privatekey_content (Optional[String]) (defaults to: undef)
  • daemon_smtp_ports (Array[Integer]) (defaults to: [25, 465, 587])
  • qualify_domain (String) (defaults to: $facts['domain'])
  • qualify_recipient (String) (defaults to: $qualify_domain)
  • allow_domain_literals (Boolean) (defaults to: false)
  • never_users (Array[String]) (defaults to: ['root'])
  • host_lookup (Array[String]) (defaults to: ['*'])
  • rfc1413_enable (Boolean) (defaults to: false)
  • rfc1413_hosts (Array[String]) (defaults to: ['*'])
  • rfc1413_query_timeout (Exim::Time) (defaults to: '5s')
  • prdr_enable (Boolean) (defaults to: true)
  • sender_unqualified_hosts (Array[String]) (defaults to: [])
  • recipient_unqualified_hosts (Array[String]) (defaults to: [])
  • log_selector (String) (defaults to: '+smtp_protocol_error +smtp_syntax_error +tls_certificate_verified')
  • ignore_bounce_errors_after (Exim::Time) (defaults to: '2d')
  • timeout_frozen_after (Exim::Time) (defaults to: '7d')
  • split_spool_directory (Boolean) (defaults to: true)
  • check_rfc2047_length (Boolean) (defaults to: false)
  • accept_8bitmime (Boolean) (defaults to: false)
  • keep_environment (String) (defaults to: '^LDAP')
  • add_environment (String) (defaults to: 'PATH=/usr/bin::/bin')
  • domain_literal_enable (Boolean) (defaults to: false)
  • smarthost_enable (Boolean) (defaults to: false)
  • smarthost (Optional[Stdlib::Host]) (defaults to: undef)
  • retries (String) (defaults to: 'F,2h,15m; G,16h,1h,1.5; F,4d,6h')
  • rewrites (Array[String]) (defaults to: [])
  • auth_ldap_enable (Boolean) (defaults to: false)
  • ldap_hostname (Optional[String]) (defaults to: undef)
  • ldap_port (Integer) (defaults to: 636)
  • ldap_require_cert (Enum['demand', 'allow', 'try', 'never']) (defaults to: 'demand')
  • ldap_ca_cert_file (String) (defaults to: $exim::params::ldap_ca_cert_file)
  • ldap_base_dn (Optional[String]) (defaults to: undef)
  • ldap_bind_dn (Optional[String]) (defaults to: undef)
  • ldap_passwd (Optional[String]) (defaults to: undef)
  • ldap_user_attrib (String) (defaults to: 'sAMAccountName')
  • ldap_auth_attrib (String) (defaults to: 'userPrincipalName')
  • ldap_filter (Optional[String]) (defaults to: '(objectClass=user)')


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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'manifests/init.pp', line 1

class exim (
  String $package_name                                       = $exim::params::package_name,
  String $service_name                                       = $exim::params::service_name,
  String $service_user                                       = $exim::params::service_user,
  String $service_group                                      = $exim::params::service_group,
  String $config_file                                        = $exim::params::config_file,
  String $primary_hostname                                   = $facts['fqdn'],
  Array[String] $local_domains                               = [$primary_hostname],
  Array[String] $relay_to_domains                            = [],
  Array[String] $relay_from_hosts                            = [],
  Boolean $av_scanner_enable                                 = false,
  String $av_scanner                                         = 'clamd:/tmp/clamd',
  Boolean $spamd_enable                                      = false,
  Enum['variant =rspamd', ''] $spamd_variant                 = '',
  Stdlib::Host $spamd_address                                = 'localhost',
  Integer $spamd_port                                        = 783,
  Boolean $tls_enabled                                       = true,
  String $tls_certificate_path                               = $exim::params::tls_certificate_path,
  Optional[String] $tls_certificate_content                  = undef,
  String $tls_privatekey_path                                = $exim::params::tls_privatekey_path,
  Optional[String] $tls_privatekey_content                   = undef,
  Array[Integer] $daemon_smtp_ports                          = [25, 465, 587],
  String $qualify_domain                                     = $facts['domain'],
  String $qualify_recipient                                  = $qualify_domain,
  Boolean $allow_domain_literals                             = false,
  Array[String] $never_users                                 = ['root'],
  Array[String] $host_lookup                                 = ['*'],
  Boolean $rfc1413_enable                                    = false,
  Array[String] $rfc1413_hosts                               = ['*'],
  Exim::Time $rfc1413_query_timeout                          = '5s',
  Boolean $prdr_enable                                       = true,
  Array[String] $sender_unqualified_hosts                    = [],
  Array[String] $recipient_unqualified_hosts                 = [],
  String $log_selector                                       = '+smtp_protocol_error +smtp_syntax_error +tls_certificate_verified',
  Exim::Time $ignore_bounce_errors_after                     = '2d',
  Exim::Time $timeout_frozen_after                           = '7d',
  Boolean $split_spool_directory                             = true,
  Boolean $check_rfc2047_length                              = false,
  Boolean $accept_8bitmime                                   = false,
  String $keep_environment                                   = '^LDAP',
  String $add_environment                                    = 'PATH=/usr/bin::/bin',
  Boolean $domain_literal_enable                             = false,
  Boolean $smarthost_enable                                  = false,
  Optional[Stdlib::Host] $smarthost                          = undef,
  String $retries                                            = 'F,2h,15m; G,16h,1h,1.5; F,4d,6h',
  Array[String] $rewrites                                    = [],
  Boolean $auth_ldap_enable                                  = false,
  Optional[String] $ldap_hostname                            = undef,
  Integer $ldap_port                                         = 636,
  Enum['demand', 'allow', 'try', 'never'] $ldap_require_cert = 'demand',
  String $ldap_ca_cert_file                                  = $exim::params::ldap_ca_cert_file,
  Optional[String] $ldap_base_dn                             = undef,
  Optional[String] $ldap_bind_dn                             = undef,
  Optional[String] $ldap_passwd                              = undef,
  String $ldap_user_attrib                                   = 'sAMAccountName',
  String $ldap_auth_attrib                                   = 'userPrincipalName',
  Optional[String] $ldap_filter                              = '(objectClass=user)',
) inherits exim::params {

  contain ::exim::install
  contain ::exim::config

  Class['::exim::install']
  -> Class['::exim::config']
}