root / manifests / config.pp @ ac0af4aa
Historique | Voir | Annoter | Télécharger (1,07 ko)
1 | 0ba57c66 | mh | # manage a config snippet |
---|---|---|---|
2 | define nftables::config( |
||
3 | Optional[String] |
||
4 | $content = undef, |
||
5 | Optional[Variant[String,Array[String,1]]] |
||
6 | $source = undef, |
||
7 | ){ |
||
8 | e4c32222 | Nacho Barrientos | $concat_name = "nftables-${name}" |
9 | |||
10 | Package['nftables'] -> concat{ |
||
11 | $concat_name: |
||
12 | path => "/etc/nftables/puppet/${name}.nft", |
||
13 | ensure_newline => true, |
||
14 | owner => root, |
||
15 | group => root, |
||
16 | mode => '0640', |
||
17 | 0ba57c66 | mh | } ~> Service['nftables'] |
18 | |||
19 | e4c32222 | Nacho Barrientos | $data = split($name, '-') |
20 | |||
21 | concat::fragment { |
||
22 | "${concat_name}-header": |
||
23 | target => $concat_name, |
||
24 | order => '00', |
||
25 | content => "table ${data[0]} ${data[1]} {", |
||
26 | } |
||
27 | |||
28 | 0ba57c66 | mh | if $source { |
29 | e4c32222 | Nacho Barrientos | concat::fragment { |
30 | "${concat_name}-body": |
||
31 | target => $concat_name, |
||
32 | order => 98, |
||
33 | source => $source, |
||
34 | 0ba57c66 | mh | } |
35 | } else { |
||
36 | e4c32222 | Nacho Barrientos | concat::fragment { |
37 | "${concat_name}-body": |
||
38 | target => $concat_name, |
||
39 | order => '98', |
||
40 | content => $content, |
||
41 | 0ba57c66 | mh | } |
42 | } |
||
43 | e4c32222 | Nacho Barrientos | |
44 | concat::fragment { |
||
45 | "${concat_name}-footer": |
||
46 | target => $concat_name, |
||
47 | order => '99', |
||
48 | content => '}', |
||
49 | } |
||
50 | 0ba57c66 | mh | } |