Puppet Class: sendmail::genericstable

Defined in:
manifests/genericstable.pp

Overview

Class: sendmail::genericstable

Manage the Sendmail genericstable db file.

Parameters:

content

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

source

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

entries

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

sendmail::genericstable::entries:

'fred@example.com':
  value: 'fred@example.org'
'barney':
  value: 'barney@example.org'

Requires:

Nothing.

Sample Usage:

class { 'sendmail::genericstable': }

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

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/genericstable.pp', line 43

class sendmail::genericstable (
  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::genericstable::file':
      content => $content,
      source  => $source,
    }
  }
  elsif !empty($entries) {
    $entries.each |$entry,$attributes| {
      sendmail::genericstable::entry { $entry:
        * => $attributes,
      }
    }
  }
}