Puppet Class: sendmail::access

Defined in:
manifests/access.pp

Overview

Class: sendmail::access

Manage the Sendmail access db file.

Parameters:

content

The desired contents of the access file. This allows managing the access file as a whole. Changes to the file automatically triggers a rebuild of the access database file. This attribute is mutually exclusive with ‘source’.

source

A source file for the access file. This allows managing the access file as a whole. Changes to the file automatically triggers a rebuild of the access database file. This attribute is mutually exclusive with ‘content’.

entries

A hash that will be used to create sendmail::access::entry resources. The class can be used to create access entries defined in hiera. The hiera hash should look like this:

sendmail::access::entries:

'example.com':
  value: 'OK'
'example.org':
  value: 'REJECT'

Requires:

Nothing.

Sample Usage:

class { 'sendmail::access': }

class { 'sendmail::access':
  source => 'puppet:///modules/sendmail/access',
}

Parameters:

  • content (Optional[String]) (defaults to: undef)
  • source (Optional[String]) (defaults to: undef)
  • entries (Hash[String,Data]) (defaults to: {})


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'manifests/access.pp', line 43

class sendmail::access (
  Optional[String]  $content = undef,
  Optional[String]  $source  = undef,
  Hash[String,Data] $entries = {},
) {

  if ($content and $source) {
    fail('You cannot specify more than one of content, source, entries')
  }

  if ($content or $source) {
    if !empty($entries) {
      fail('You cannot specify more than one of content, source, entries')
    }

    class { 'sendmail::access::file':
      content => $content,
      source  => $source,
    }
  }
  elsif !empty($entries) {
    $entries.each |$entry,$attributes| {
      sendmail::access::entry { $entry:
        * => $attributes,
      }
    }
  }
}