Defined Type: ferm::client

Defined in:
modules/ferm/manifests/client.pp

Summary

create a file for outbound client traffic

Overview

Parameters:

  • proto (Enum['tcp', 'udp'])

    the protocol to use

  • port (Ferm::Port)

    the port to use

  • ensure (Wmflib::Ensure) (defaults to: present)

    the ensureabl parameter

  • desc (Optional[String[1]]) (defaults to: undef)

    the description

  • drange (Array[String[1]]) (defaults to: [])

    the destination range

  • notrack (Boolean) (defaults to: false)

    if true dont track state

  • prio (Integer[0,99]) (defaults to: 10)


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
# File 'modules/ferm/manifests/client.pp', line 8

define ferm::client(
    Enum['tcp', 'udp']  $proto,
    Ferm::Port          $port,
    Wmflib::Ensure      $ensure  = present,
    Integer[0,99]       $prio    = 10,
    Boolean             $notrack = false,
    Array[String[1]]    $drange  = [],
    Optional[String[1]] $desc    = undef
) {
    $_port = $port ? {
        String  => "(${port})",
        default => $port,
    }
    $_drange = $drange.size ? {
        0       => undef,
        1       => $drange[0],
        default => "({drange.join(' ')})"
    }
    @file { '/etc/ferm/conf.d/%02d_%s_client'.sprintf($prio, $name):
        ensure  => $ensure,
        owner   => 'root',
        group   => 'root',
        mode    => '0400',
        content => template('ferm/client.erb'),
        require => File['/etc/ferm/conf.d'],
        notify  => Service['ferm'],
        tag     => 'ferm',
    }
}