Puppet Class: sendmail::domaintable
- Defined in:
- manifests/domaintable.pp
Overview
Class: sendmail::domaintable
Manage the Sendmail domaintable db file.
Parameters:
- content
-
The desired contents of the domaintable file. This allows managing the domaintable file as a whole. Changes to the file automatically triggers a rebuild of the domaintable database file. This attribute is mutually exclusive with ‘source’.
- source
-
A source file for the domaintable file. This allows managing the domaintable file as a whole. Changes to the file automatically triggers a rebuild of the domaintable database file. This attribute is mutually exclusive with ‘content’.
- entries
-
A hash that will be used to create sendmail::domaintable::entry resources. This class can be used to create domaintable entries defined in hiera. The hiera hash should look like this:
sendmail::domaintable::entries:
'example.com': value: 'example.org' 'example.net': value: 'example.org'
Requires:
Nothing.
Sample Usage:
class { 'sendmail::domaintable': }
class { 'sendmail::domaintable':
source => 'puppet:///modules/sendmail/domaintable',
}
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/domaintable.pp', line 43
class sendmail::domaintable (
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::domaintable::file':
content => $content,
source => $source,
}
}
elsif !empty($entries) {
$entries.each |$entry,$attributes| {
sendmail::domaintable::entry { $entry:
* => $attributes,
}
}
}
}
|