Defined Type: postfix::lookup::memcache

Defined in:
vendor_modules/postfix/manifests/lookup/memcache.pp

Overview

Define a Memcache lookup table.

Examples:

Postscreen temporary whitelist

include memcached

class { 'postfix':
  postscreen_cache_map => 'memcache:/etc/postfix/postscreen_cache',
  proxy_write_maps     => ['btree:$data_directory/postscreen_cache'],
  ...
}

postfix::lookup::memcache { '/etc/postfix/postscreen_cache':
  memcache   => ['inet', '127.0.0.1', 11211],
  backup     => 'btree:$data_directory/postscreen_cache',
  key_format => 'postscreen:%s',
  require    => Class['memcached'],
}

Parameters:

  • ensure (Enum['present', 'absent']) (defaults to: 'present')
  • path (Stdlib::Absolutepath) (defaults to: $title)
  • memcache (Optional[Postfix::Type::Lookup::Memcache::Host]) (defaults to: undef)
  • backup (Optional[String]) (defaults to: undef)
  • flags (Optional[Integer[0]]) (defaults to: undef)
  • ttl (Optional[Integer[0]]) (defaults to: undef)
  • key_format (Optional[String]) (defaults to: undef)
  • domain (Optional[Array[String, 1]]) (defaults to: undef)
  • data_size_limit (Optional[Integer[0]]) (defaults to: undef)
  • line_size_limit (Optional[Integer[0]]) (defaults to: undef)
  • max_try (Optional[Integer[0]]) (defaults to: undef)
  • retry_pause (Optional[Integer[0]]) (defaults to: undef)
  • timeout (Optional[Integer[0]]) (defaults to: undef)

See Also:

Since:

  • 2.0.0



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
66
67
68
69
70
71
72
73
74
# File 'vendor_modules/postfix/manifests/lookup/memcache.pp', line 36

define postfix::lookup::memcache (
  Enum['present', 'absent']                       $ensure          = 'present',
  Stdlib::Absolutepath                            $path            = $title,
  Optional[Postfix::Type::Lookup::Memcache::Host] $memcache        = undef,
  Optional[String]                                $backup          = undef,
  Optional[Integer[0]]                            $flags           = undef,
  Optional[Integer[0]]                            $ttl             = undef,
  Optional[String]                                $key_format      = undef,
  Optional[Array[String, 1]]                      $domain          = undef,
  Optional[Integer[0]]                            $data_size_limit = undef,
  Optional[Integer[0]]                            $line_size_limit = undef,
  Optional[Integer[0]]                            $max_try         = undef,
  Optional[Integer[0]]                            $retry_pause     = undef,
  Optional[Integer[0]]                            $timeout         = undef,
) {

  include postfix

  $_memcache = postfix::flatten_host($memcache)

  $_ensure = $ensure ? {
    'absent' => 'absent',
    default  => 'file',
  }

  file { $path:
    ensure  => $_ensure,
    owner   => 0,
    group   => 0,
    mode    => '0600',
    content => template("${module_name}/memcache.cf.erb"),
  }

  if $ensure != 'absent' and has_key($postfix::lookup_packages, 'memcache') {
    $memcache_package = $postfix::lookup_packages['memcache']
    ensure_packages([$memcache_package])
    Package[$memcache_package] -> File[$path]
  }
}