summaryrefslogtreecommitdiff
path: root/manifests/option.pp
blob: 8c2a7a28a34f6a13022596142a7b439ea8df2d86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# option.pp

define openvpn::option($ensure = present, $key, $value = "", $server, $client = "", $csc = false) {
    $content = $value ? {
        ""      => "${key}",
        default => "${key} ${value}"
    }

    if $client == "" {
        $path = "/etc/openvpn/${server}.conf"
        $req = File["/etc/openvpn"]
        $notify  = Service["openvpn"]
    } else {
        if $csc {
            $path = "/etc/openvpn/${server}/client-configs/${client}"
        } else {
            $path = "/etc/openvpn/${server}/download-configs/${client}/${client}.conf"
        }
        $req = [ File["/etc/openvpn"], File["/etc/openvpn/${server}/download-configs/${client}"] ]
        $notify = undef
    }

    common::concatfilepart {
        "${name}":
            ensure  => $ensure,
            file    => $path,
            content => "${content}\n",
            notify  => $notify,
            require => $req;
    }
}