Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / REFERENCE.md @ 09cba182

Historique | Voir | Annoter | Télécharger (33,2 ko)

1
# Reference
2

    
3
<!-- DO NOT EDIT: This document was generated by Puppet Strings -->
4

    
5
## Table of Contents
6

    
7
### Classes
8

    
9
* [`nftables`](#nftables): Configure nftables
10
* [`nftables::bridges`](#nftablesbridges): allow forwarding traffic on bridges
11
* [`nftables::inet_filter`](#nftablesinet_filter): manage basic chains in table inet filter
12
* [`nftables::ip_nat`](#nftablesip_nat): manage basic chains in table ip nat
13
* [`nftables::rules::afs3_callback`](#nftablesrulesafs3_callback): Open call back port for AFS clients
14
* [`nftables::rules::ceph`](#nftablesrulesceph): Ceph is a distributed object store and file system. Enable this to support Ceph's Object Storage Daemons (OSD), Metadata Server Daemons (MDS)
15
* [`nftables::rules::ceph_mon`](#nftablesrulesceph_mon): Ceph is a distributed object store and file system.
16
Enable this option to support Ceph's Monitor Daemon.
17
* [`nftables::rules::dhcpv6_client`](#nftablesrulesdhcpv6_client): allow DHCPv6 requests in to a host
18
* [`nftables::rules::dns`](#nftablesrulesdns): manage in dns
19
* [`nftables::rules::http`](#nftablesruleshttp): manage in http
20
* [`nftables::rules::https`](#nftablesruleshttps): manage in https
21
* [`nftables::rules::icinga2`](#nftablesrulesicinga2): manage in icinga2
22
* [`nftables::rules::icmp`](#nftablesrulesicmp)
23
* [`nftables::rules::nfs`](#nftablesrulesnfs): manage in nfs4
24
* [`nftables::rules::nfs3`](#nftablesrulesnfs3): manage in nfs3
25
* [`nftables::rules::node_exporter`](#nftablesrulesnode_exporter): manage in node exporter
26
* [`nftables::rules::ospf`](#nftablesrulesospf): manage in ospf
27
* [`nftables::rules::ospf3`](#nftablesrulesospf3): manage in ospf3
28
* [`nftables::rules::out::all`](#nftablesrulesoutall): allow all outbound
29
* [`nftables::rules::out::ceph_client`](#nftablesrulesoutceph_client): Ceph is a distributed object store and file system.
30
Enable this to be a client of Ceph's Monitor (MON),
31
Object Storage Daemons (OSD), Metadata Server Daemons (MDS),
32
and Manager Daemons (MGR).
33
* [`nftables::rules::out::chrony`](#nftablesrulesoutchrony): manage out chrony
34
* [`nftables::rules::out::dhcp`](#nftablesrulesoutdhcp): manage out dhcp
35
* [`nftables::rules::out::dhcpv6_client`](#nftablesrulesoutdhcpv6_client): Allow DHCPv6 requests out of a host
36
* [`nftables::rules::out::dns`](#nftablesrulesoutdns): manage out dns
37
* [`nftables::rules::out::http`](#nftablesrulesouthttp): manage out http
38
* [`nftables::rules::out::https`](#nftablesrulesouthttps): manage out https
39
* [`nftables::rules::out::icmp`](#nftablesrulesouticmp): control outbound icmp packages
40
* [`nftables::rules::out::kerberos`](#nftablesrulesoutkerberos): allows outbound access for kerberos
41
* [`nftables::rules::out::mysql`](#nftablesrulesoutmysql): manage out mysql
42
* [`nftables::rules::out::nfs`](#nftablesrulesoutnfs): manage out nfs
43
* [`nftables::rules::out::nfs3`](#nftablesrulesoutnfs3): manage out nfs3
44
* [`nftables::rules::out::openafs_client`](#nftablesrulesoutopenafs_client): allows outbound access for afs clients
45
7000 - afs3-fileserver
46
7002 - afs3-ptserver
47
7003 - vlserver
48
* [`nftables::rules::out::ospf`](#nftablesrulesoutospf): manage out ospf
49
* [`nftables::rules::out::ospf3`](#nftablesrulesoutospf3): manage out ospf3
50
* [`nftables::rules::out::postgres`](#nftablesrulesoutpostgres): manage out postgres
51
* [`nftables::rules::out::puppet`](#nftablesrulesoutpuppet): manage outgoing puppet
52
* [`nftables::rules::out::smtp`](#nftablesrulesoutsmtp): manage out smtp
53
* [`nftables::rules::out::ssh`](#nftablesrulesoutssh): manage out ssh
54
* [`nftables::rules::out::ssh::remove`](#nftablesrulesoutsshremove): disable outgoing ssh
55
* [`nftables::rules::out::tor`](#nftablesrulesouttor): manage out tor
56
* [`nftables::rules::out::wireguard`](#nftablesrulesoutwireguard): manage out wireguard
57
* [`nftables::rules::puppet`](#nftablesrulespuppet): manage in puppet
58
* [`nftables::rules::smtp`](#nftablesrulessmtp): manage in smtp
59
* [`nftables::rules::smtp_submission`](#nftablesrulessmtp_submission): manage in smtp submission
60
* [`nftables::rules::smtps`](#nftablesrulessmtps): manage in smtps
61
* [`nftables::rules::ssh`](#nftablesrulesssh): manage in ssh
62
* [`nftables::rules::tor`](#nftablesrulestor): manage in tor
63
* [`nftables::rules::wireguard`](#nftablesruleswireguard): manage in wireguard
64
* [`nftables::services::dhcpv6_client`](#nftablesservicesdhcpv6_client): Allow in and outbound traffic for DHCPv6 server
65
* [`nftables::services::openafs_client`](#nftablesservicesopenafs_client): Open inbound and outbound ports for an AFS client
66

    
67
### Defined types
68

    
69
* [`nftables::chain`](#nftableschain): manage a chain
70
* [`nftables::config`](#nftablesconfig): manage a config snippet
71
* [`nftables::rule`](#nftablesrule): manage a chain rule Name should be:   CHAIN_NAME-rulename
72
* [`nftables::rules::dnat4`](#nftablesrulesdnat4): manage a ipv4 dnat rule
73
* [`nftables::rules::masquerade`](#nftablesrulesmasquerade): masquerade all outgoing traffic
74
* [`nftables::rules::snat4`](#nftablesrulessnat4): manage a ipv4 snat rule
75
* [`nftables::set`](#nftablesset): manage a named set
76
* [`nftables::simplerule`](#nftablessimplerule): Provides a simplified interface to nftables::rule
77

    
78
### Data types
79

    
80
* [`Nftables::Addr`](#nftablesaddr): Represents an address expression to be used within a rule.
81
* [`Nftables::Addr::Set`](#nftablesaddrset): Represents a set expression to be used within a rule.
82
* [`Nftables::Port`](#nftablesport): Represents a port expression to be used within a rule.
83
* [`Nftables::Port::Range`](#nftablesportrange): Represents a port range expression to be used within a rule.
84
* [`Nftables::RuleName`](#nftablesrulename): Represents a rule name to be used in a raw rule created via nftables::rule.
85
It's a dash separated string. The first component describes the chain to
86
add the rule to, the second the rule name and the (optional) third a number.
87
Ex: 'default_in-sshd', 'default_out-my_service-2'.
88
* [`Nftables::SimpleRuleName`](#nftablessimplerulename): Represents a simple rule name to be used in a rule created via nftables::simplerule
89

    
90
## Classes
91

    
92
### <a name="nftables"></a>`nftables`
93

    
94
Configure nftables
95

    
96
#### Examples
97

    
98
##### allow dns out and do not allow ntp out
99

    
100
```puppet
101
class{'nftables:
102
  out_ntp = false,
103
  out_dns = true,
104
}
105
```
106

    
107
##### do not flush particular tables, fail2ban in this case
108

    
109
```puppet
110
class{'nftables':
111
  noflush_tables = ['inet-f2b-table'],
112
}
113
```
114

    
115
#### Parameters
116

    
117
The following parameters are available in the `nftables` class:
118

    
119
* [`out_all`](#out_all)
120
* [`out_ntp`](#out_ntp)
121
* [`out_http`](#out_http)
122
* [`out_dns`](#out_dns)
123
* [`out_https`](#out_https)
124
* [`out_icmp`](#out_icmp)
125
* [`in_ssh`](#in_ssh)
126
* [`in_icmp`](#in_icmp)
127
* [`nat`](#nat)
128
* [`sets`](#sets)
129
* [`log_prefix`](#log_prefix)
130
* [`log_limit`](#log_limit)
131
* [`reject_with`](#reject_with)
132
* [`in_out_conntrack`](#in_out_conntrack)
133
* [`fwd_conntrack`](#fwd_conntrack)
134
* [`firewalld_enable`](#firewalld_enable)
135
* [`noflush_tables`](#noflush_tables)
136
* [`rules`](#rules)
137

    
138
##### <a name="out_all"></a>`out_all`
139

    
140
Data type: `Boolean`
141

    
142
Allow all outbound connections. If `true` then all other
143
out parameters `out_ntp`, `out_dns`, ... will be assuemed
144
false.
145

    
146
Default value: ``false``
147

    
148
##### <a name="out_ntp"></a>`out_ntp`
149

    
150
Data type: `Boolean`
151

    
152
Allow outbound to ntp servers.
153

    
154
Default value: ``true``
155

    
156
##### <a name="out_http"></a>`out_http`
157

    
158
Data type: `Boolean`
159

    
160
Allow outbound to http servers.
161

    
162
Default value: ``true``
163

    
164
##### <a name="out_dns"></a>`out_dns`
165

    
166
Data type: `Boolean`
167

    
168
Allow outbound to dns servers.
169

    
170
Default value: ``true``
171

    
172
##### <a name="out_https"></a>`out_https`
173

    
174
Data type: `Boolean`
175

    
176
Allow outbound to https servers.
177

    
178
Default value: ``true``
179

    
180
##### <a name="out_icmp"></a>`out_icmp`
181

    
182
Data type: `Boolean`
183

    
184
Allow outbound ICMPv4/v6 traffic.
185

    
186
Default value: ``true``
187

    
188
##### <a name="in_ssh"></a>`in_ssh`
189

    
190
Data type: `Boolean`
191

    
192
Allow inbound to ssh servers.
193

    
194
Default value: ``true``
195

    
196
##### <a name="in_icmp"></a>`in_icmp`
197

    
198
Data type: `Boolean`
199

    
200
Allow inbound ICMPv4/v6 traffic.
201

    
202
Default value: ``true``
203

    
204
##### <a name="nat"></a>`nat`
205

    
206
Data type: `Boolean`
207

    
208
Add default tables and chains to process NAT traffic.
209

    
210
Default value: ``true``
211

    
212
##### <a name="sets"></a>`sets`
213

    
214
Data type: `Hash`
215

    
216
Allows sourcing set definitions directly from Hiera.
217

    
218
Default value: `{}`
219

    
220
##### <a name="log_prefix"></a>`log_prefix`
221

    
222
Data type: `String`
223

    
224
String that will be used as prefix when logging packets. It can contain
225
two variables using standard sprintf() string-formatting:
226
 * chain: Will be replaced by the name of the chain.
227
 * comment: Allows chains to add extra comments.
228

    
229
Default value: `'[nftables] %<chain>s %<comment>s'`
230

    
231
##### <a name="log_limit"></a>`log_limit`
232

    
233
Data type: `Variant[Boolean[false], String]`
234

    
235
String with the content of a limit statement to be applied
236
to the rules that log discarded traffic. Set to false to
237
disable rate limiting.
238

    
239
Default value: `'3/minute burst 5 packets'`
240

    
241
##### <a name="reject_with"></a>`reject_with`
242

    
243
Data type: `Variant[Boolean[false], Pattern[/icmp(v6|x)? type .+|tcp reset/]]`
244

    
245
How to discard packets not matching any rule. If `false`, the
246
fate of the packet will be defined by the chain policy (normally
247
drop), otherwise the packet will be rejected with the REJECT_WITH
248
policy indicated by the value of this parameter.
249

    
250
Default value: `'icmpx type port-unreachable'`
251

    
252
##### <a name="in_out_conntrack"></a>`in_out_conntrack`
253

    
254
Data type: `Boolean`
255

    
256
Adds INPUT and OUTPUT rules to allow traffic that's part of an
257
established connection and also to drop invalid packets.
258

    
259
Default value: ``true``
260

    
261
##### <a name="fwd_conntrack"></a>`fwd_conntrack`
262

    
263
Data type: `Boolean`
264

    
265
Adds FORWARD rules to allow traffic that's part of an
266
established connection and also to drop invalid packets.
267

    
268
Default value: ``false``
269

    
270
##### <a name="firewalld_enable"></a>`firewalld_enable`
271

    
272
Data type: `Variant[Boolean[false], Enum['mask']]`
273

    
274
Configures how the firewalld systemd service unit is enabled. It might be
275
useful to set this to false if you're externaly removing firewalld from
276
the system completely.
277

    
278
Default value: `'mask'`
279

    
280
##### <a name="noflush_tables"></a>`noflush_tables`
281

    
282
Data type: `Optional[Array[Pattern[/^(ip|ip6|inet)-[-a-zA-Z0-9_]+$/],1]]`
283

    
284
If specified only other existings tables will be flushed.
285
If left unset all tables will be flushed via a `flush ruleset`
286

    
287
Default value: ``undef``
288

    
289
##### <a name="rules"></a>`rules`
290

    
291
Data type: `Hash`
292

    
293
Specify hashes of `nftables::rule`s via hiera
294

    
295
Default value: `{}`
296

    
297
### <a name="nftablesbridges"></a>`nftables::bridges`
298

    
299
allow forwarding traffic on bridges
300

    
301
#### Parameters
302

    
303
The following parameters are available in the `nftables::bridges` class:
304

    
305
* [`ensure`](#ensure)
306
* [`bridgenames`](#bridgenames)
307

    
308
##### <a name="ensure"></a>`ensure`
309

    
310
Data type: `Enum['present','absent']`
311

    
312

    
313

    
314
Default value: `'present'`
315

    
316
##### <a name="bridgenames"></a>`bridgenames`
317

    
318
Data type: `Regexp`
319

    
320

    
321

    
322
Default value: `/^br.+/`
323

    
324
### <a name="nftablesinet_filter"></a>`nftables::inet_filter`
325

    
326
manage basic chains in table inet filter
327

    
328
### <a name="nftablesip_nat"></a>`nftables::ip_nat`
329

    
330
manage basic chains in table ip nat
331

    
332
### <a name="nftablesrulesafs3_callback"></a>`nftables::rules::afs3_callback`
333

    
334
Open call back port for AFS clients
335

    
336
#### Examples
337

    
338
##### allow call backs from particular hosts
339

    
340
```puppet
341
class{'nftables::rules::afs3_callback':
342
  saddr => ['192.168.0.0/16', '10.0.0.222']
343
}
344
```
345

    
346
#### Parameters
347

    
348
The following parameters are available in the `nftables::rules::afs3_callback` class:
349

    
350
* [`saddr`](#saddr)
351

    
352
##### <a name="saddr"></a>`saddr`
353

    
354
Data type: `Array[Stdlib::IP::Address::V4,1]`
355

    
356
list of source network ranges to a
357

    
358
Default value: `['0.0.0.0/0']`
359

    
360
### <a name="nftablesrulesceph"></a>`nftables::rules::ceph`
361

    
362
Ceph is a distributed object store and file system.
363
Enable this to support Ceph's Object Storage Daemons (OSD),
364
Metadata Server Daemons (MDS), or Manager Daemons (MGR).
365

    
366
### <a name="nftablesrulesceph_mon"></a>`nftables::rules::ceph_mon`
367

    
368
Ceph is a distributed object store and file system.
369
Enable this option to support Ceph's Monitor Daemon.
370

    
371
#### Parameters
372

    
373
The following parameters are available in the `nftables::rules::ceph_mon` class:
374

    
375
* [`ports`](#ports)
376

    
377
##### <a name="ports"></a>`ports`
378

    
379
Data type: `Array[Stdlib::Port,1]`
380

    
381
specify ports for ceph service
382

    
383
Default value: `[3300, 6789]`
384

    
385
### <a name="nftablesrulesdhcpv6_client"></a>`nftables::rules::dhcpv6_client`
386

    
387
allow DHCPv6 requests in to a host
388

    
389
### <a name="nftablesrulesdns"></a>`nftables::rules::dns`
390

    
391
manage in dns
392

    
393
#### Parameters
394

    
395
The following parameters are available in the `nftables::rules::dns` class:
396

    
397
* [`ports`](#ports)
398

    
399
##### <a name="ports"></a>`ports`
400

    
401
Data type: `Array[Stdlib::Port,1]`
402

    
403
Specify ports for dns.
404

    
405
Default value: `[53]`
406

    
407
### <a name="nftablesruleshttp"></a>`nftables::rules::http`
408

    
409
manage in http
410

    
411
### <a name="nftablesruleshttps"></a>`nftables::rules::https`
412

    
413
manage in https
414

    
415
### <a name="nftablesrulesicinga2"></a>`nftables::rules::icinga2`
416

    
417
manage in icinga2
418

    
419
#### Parameters
420

    
421
The following parameters are available in the `nftables::rules::icinga2` class:
422

    
423
* [`ports`](#ports)
424

    
425
##### <a name="ports"></a>`ports`
426

    
427
Data type: `Array[Stdlib::Port,1]`
428

    
429
Specify ports for icinga1
430

    
431
Default value: `[5665]`
432

    
433
### <a name="nftablesrulesicmp"></a>`nftables::rules::icmp`
434

    
435
The nftables::rules::icmp class.
436

    
437
#### Parameters
438

    
439
The following parameters are available in the `nftables::rules::icmp` class:
440

    
441
* [`v4_types`](#v4_types)
442
* [`v6_types`](#v6_types)
443
* [`order`](#order)
444

    
445
##### <a name="v4_types"></a>`v4_types`
446

    
447
Data type: `Optional[Array[String]]`
448

    
449

    
450

    
451
Default value: ``undef``
452

    
453
##### <a name="v6_types"></a>`v6_types`
454

    
455
Data type: `Optional[Array[String]]`
456

    
457

    
458

    
459
Default value: ``undef``
460

    
461
##### <a name="order"></a>`order`
462

    
463
Data type: `String`
464

    
465

    
466

    
467
Default value: `'10'`
468

    
469
### <a name="nftablesrulesnfs"></a>`nftables::rules::nfs`
470

    
471
manage in nfs4
472

    
473
### <a name="nftablesrulesnfs3"></a>`nftables::rules::nfs3`
474

    
475
manage in nfs3
476

    
477
### <a name="nftablesrulesnode_exporter"></a>`nftables::rules::node_exporter`
478

    
479
manage in node exporter
480

    
481
#### Parameters
482

    
483
The following parameters are available in the `nftables::rules::node_exporter` class:
484

    
485
* [`prometheus_server`](#prometheus_server)
486
* [`port`](#port)
487

    
488
##### <a name="prometheus_server"></a>`prometheus_server`
489

    
490
Data type: `Optional[Variant[String,Array[String,1]]]`
491

    
492
Specify server name
493

    
494
Default value: ``undef``
495

    
496
##### <a name="port"></a>`port`
497

    
498
Data type: `Stdlib::Port`
499

    
500
Specify port to open
501

    
502
Default value: `9100`
503

    
504
### <a name="nftablesrulesospf"></a>`nftables::rules::ospf`
505

    
506
manage in ospf
507

    
508
### <a name="nftablesrulesospf3"></a>`nftables::rules::ospf3`
509

    
510
manage in ospf3
511

    
512
### <a name="nftablesrulesoutall"></a>`nftables::rules::out::all`
513

    
514
allow all outbound
515

    
516
### <a name="nftablesrulesoutceph_client"></a>`nftables::rules::out::ceph_client`
517

    
518
Ceph is a distributed object store and file system.
519
Enable this to be a client of Ceph's Monitor (MON),
520
Object Storage Daemons (OSD), Metadata Server Daemons (MDS),
521
and Manager Daemons (MGR).
522

    
523
#### Parameters
524

    
525
The following parameters are available in the `nftables::rules::out::ceph_client` class:
526

    
527
* [`ports`](#ports)
528

    
529
##### <a name="ports"></a>`ports`
530

    
531
Data type: `Array[Stdlib::Port,1]`
532

    
533
Specify ports to open
534

    
535
Default value: `[3300, 6789]`
536

    
537
### <a name="nftablesrulesoutchrony"></a>`nftables::rules::out::chrony`
538

    
539
manage out chrony
540

    
541
### <a name="nftablesrulesoutdhcp"></a>`nftables::rules::out::dhcp`
542

    
543
manage out dhcp
544

    
545
### <a name="nftablesrulesoutdhcpv6_client"></a>`nftables::rules::out::dhcpv6_client`
546

    
547
Allow DHCPv6 requests out of a host
548

    
549
### <a name="nftablesrulesoutdns"></a>`nftables::rules::out::dns`
550

    
551
manage out dns
552

    
553
#### Parameters
554

    
555
The following parameters are available in the `nftables::rules::out::dns` class:
556

    
557
* [`dns_server`](#dns_server)
558

    
559
##### <a name="dns_server"></a>`dns_server`
560

    
561
Data type: `Optional[Variant[String,Array[String,1]]]`
562

    
563
specify dns_server name
564

    
565
Default value: ``undef``
566

    
567
### <a name="nftablesrulesouthttp"></a>`nftables::rules::out::http`
568

    
569
manage out http
570

    
571
### <a name="nftablesrulesouthttps"></a>`nftables::rules::out::https`
572

    
573
manage out https
574

    
575
### <a name="nftablesrulesouticmp"></a>`nftables::rules::out::icmp`
576

    
577
control outbound icmp packages
578

    
579
#### Parameters
580

    
581
The following parameters are available in the `nftables::rules::out::icmp` class:
582

    
583
* [`v4_types`](#v4_types)
584
* [`v6_types`](#v6_types)
585
* [`order`](#order)
586

    
587
##### <a name="v4_types"></a>`v4_types`
588

    
589
Data type: `Optional[Array[String]]`
590

    
591

    
592

    
593
Default value: ``undef``
594

    
595
##### <a name="v6_types"></a>`v6_types`
596

    
597
Data type: `Optional[Array[String]]`
598

    
599

    
600

    
601
Default value: ``undef``
602

    
603
##### <a name="order"></a>`order`
604

    
605
Data type: `String`
606

    
607

    
608

    
609
Default value: `'10'`
610

    
611
### <a name="nftablesrulesoutkerberos"></a>`nftables::rules::out::kerberos`
612

    
613
allows outbound access for kerberos
614

    
615
### <a name="nftablesrulesoutmysql"></a>`nftables::rules::out::mysql`
616

    
617
manage out mysql
618

    
619
### <a name="nftablesrulesoutnfs"></a>`nftables::rules::out::nfs`
620

    
621
manage out nfs
622

    
623
### <a name="nftablesrulesoutnfs3"></a>`nftables::rules::out::nfs3`
624

    
625
manage out nfs3
626

    
627
### <a name="nftablesrulesoutopenafs_client"></a>`nftables::rules::out::openafs_client`
628

    
629
allows outbound access for afs clients
630
7000 - afs3-fileserver
631
7002 - afs3-ptserver
632
7003 - vlserver
633

    
634
* **See also**
635
  * https://wiki.openafs.org/devel/AFSServicePorts/
636
    * AFS Service Ports
637

    
638
#### Parameters
639

    
640
The following parameters are available in the `nftables::rules::out::openafs_client` class:
641

    
642
* [`ports`](#ports)
643

    
644
##### <a name="ports"></a>`ports`
645

    
646
Data type: `Array[Stdlib::Port,1]`
647

    
648
port numbers to use
649

    
650
Default value: `[7000, 7002, 7003]`
651

    
652
### <a name="nftablesrulesoutospf"></a>`nftables::rules::out::ospf`
653

    
654
manage out ospf
655

    
656
### <a name="nftablesrulesoutospf3"></a>`nftables::rules::out::ospf3`
657

    
658
manage out ospf3
659

    
660
### <a name="nftablesrulesoutpostgres"></a>`nftables::rules::out::postgres`
661

    
662
manage out postgres
663

    
664
### <a name="nftablesrulesoutpuppet"></a>`nftables::rules::out::puppet`
665

    
666
manage outgoing puppet
667

    
668
#### Parameters
669

    
670
The following parameters are available in the `nftables::rules::out::puppet` class:
671

    
672
* [`puppetserver`](#puppetserver)
673
* [`puppetserver_port`](#puppetserver_port)
674

    
675
##### <a name="puppetserver"></a>`puppetserver`
676

    
677
Data type: `Variant[Stdlib::IP::Address,Array[Stdlib::IP::Address,1]]`
678

    
679
puppetserver hostname
680

    
681
##### <a name="puppetserver_port"></a>`puppetserver_port`
682

    
683
Data type: `Stdlib::Port`
684

    
685
puppetserver port
686

    
687
Default value: `8140`
688

    
689
### <a name="nftablesrulesoutsmtp"></a>`nftables::rules::out::smtp`
690

    
691
manage out smtp
692

    
693
### <a name="nftablesrulesoutssh"></a>`nftables::rules::out::ssh`
694

    
695
manage out ssh
696

    
697
### <a name="nftablesrulesoutsshremove"></a>`nftables::rules::out::ssh::remove`
698

    
699
disable outgoing ssh
700

    
701
### <a name="nftablesrulesouttor"></a>`nftables::rules::out::tor`
702

    
703
manage out tor
704

    
705
### <a name="nftablesrulesoutwireguard"></a>`nftables::rules::out::wireguard`
706

    
707
manage out wireguard
708

    
709
#### Parameters
710

    
711
The following parameters are available in the `nftables::rules::out::wireguard` class:
712

    
713
* [`ports`](#ports)
714

    
715
##### <a name="ports"></a>`ports`
716

    
717
Data type: `Array[Integer,1]`
718

    
719
specify wireguard ports
720

    
721
Default value: `[51820]`
722

    
723
### <a name="nftablesrulespuppet"></a>`nftables::rules::puppet`
724

    
725
manage in puppet
726

    
727
#### Parameters
728

    
729
The following parameters are available in the `nftables::rules::puppet` class:
730

    
731
* [`ports`](#ports)
732

    
733
##### <a name="ports"></a>`ports`
734

    
735
Data type: `Array[Integer,1]`
736

    
737
puppet server ports
738

    
739
Default value: `[8140]`
740

    
741
### <a name="nftablesrulessmtp"></a>`nftables::rules::smtp`
742

    
743
manage in smtp
744

    
745
### <a name="nftablesrulessmtp_submission"></a>`nftables::rules::smtp_submission`
746

    
747
manage in smtp submission
748

    
749
### <a name="nftablesrulessmtps"></a>`nftables::rules::smtps`
750

    
751
manage in smtps
752

    
753
### <a name="nftablesrulesssh"></a>`nftables::rules::ssh`
754

    
755
manage in ssh
756

    
757
#### Parameters
758

    
759
The following parameters are available in the `nftables::rules::ssh` class:
760

    
761
* [`ports`](#ports)
762

    
763
##### <a name="ports"></a>`ports`
764

    
765
Data type: `Array[Stdlib::Port,1]`
766

    
767
ssh ports
768

    
769
Default value: `[22]`
770

    
771
### <a name="nftablesrulestor"></a>`nftables::rules::tor`
772

    
773
manage in tor
774

    
775
#### Parameters
776

    
777
The following parameters are available in the `nftables::rules::tor` class:
778

    
779
* [`ports`](#ports)
780

    
781
##### <a name="ports"></a>`ports`
782

    
783
Data type: `Array[Stdlib::Port,1]`
784

    
785
ports for tor
786

    
787
Default value: `[9001]`
788

    
789
### <a name="nftablesruleswireguard"></a>`nftables::rules::wireguard`
790

    
791
manage in wireguard
792

    
793
#### Parameters
794

    
795
The following parameters are available in the `nftables::rules::wireguard` class:
796

    
797
* [`ports`](#ports)
798

    
799
##### <a name="ports"></a>`ports`
800

    
801
Data type: `Array[Stdlib::Port,1]`
802

    
803
wiregueard port
804

    
805
Default value: `[51820]`
806

    
807
### <a name="nftablesservicesdhcpv6_client"></a>`nftables::services::dhcpv6_client`
808

    
809
Allow in and outbound traffic for DHCPv6 server
810

    
811
### <a name="nftablesservicesopenafs_client"></a>`nftables::services::openafs_client`
812

    
813
Open inbound and outbound ports for an AFS client
814

    
815
## Defined types
816

    
817
### <a name="nftableschain"></a>`nftables::chain`
818

    
819
manage a chain
820

    
821
#### Parameters
822

    
823
The following parameters are available in the `nftables::chain` defined type:
824

    
825
* [`table`](#table)
826
* [`chain`](#chain)
827
* [`inject`](#inject)
828
* [`inject_iif`](#inject_iif)
829
* [`inject_oif`](#inject_oif)
830

    
831
##### <a name="table"></a>`table`
832

    
833
Data type: `Pattern[/^(ip|ip6|inet)-[a-zA-Z0-9_]+$/]`
834

    
835

    
836

    
837
Default value: `'inet-filter'`
838

    
839
##### <a name="chain"></a>`chain`
840

    
841
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
842

    
843

    
844

    
845
Default value: `$title`
846

    
847
##### <a name="inject"></a>`inject`
848

    
849
Data type: `Optional[Pattern[/^\d\d-[a-zA-Z0-9_]+$/]]`
850

    
851

    
852

    
853
Default value: ``undef``
854

    
855
##### <a name="inject_iif"></a>`inject_iif`
856

    
857
Data type: `Optional[String]`
858

    
859

    
860

    
861
Default value: ``undef``
862

    
863
##### <a name="inject_oif"></a>`inject_oif`
864

    
865
Data type: `Optional[String]`
866

    
867

    
868

    
869
Default value: ``undef``
870

    
871
### <a name="nftablesconfig"></a>`nftables::config`
872

    
873
manage a config snippet
874

    
875
#### Parameters
876

    
877
The following parameters are available in the `nftables::config` defined type:
878

    
879
* [`tablespec`](#tablespec)
880
* [`content`](#content)
881
* [`source`](#source)
882
* [`prefix`](#prefix)
883

    
884
##### <a name="tablespec"></a>`tablespec`
885

    
886
Data type: `Pattern[/^\w+-\w+$/]`
887

    
888

    
889

    
890
Default value: `$title`
891

    
892
##### <a name="content"></a>`content`
893

    
894
Data type: `Optional[String]`
895

    
896

    
897

    
898
Default value: ``undef``
899

    
900
##### <a name="source"></a>`source`
901

    
902
Data type: `Optional[Variant[String,Array[String,1]]]`
903

    
904

    
905

    
906
Default value: ``undef``
907

    
908
##### <a name="prefix"></a>`prefix`
909

    
910
Data type: `String`
911

    
912

    
913

    
914
Default value: `'custom-'`
915

    
916
### <a name="nftablesrule"></a>`nftables::rule`
917

    
918
manage a chain rule
919
Name should be:
920
  CHAIN_NAME-rulename
921

    
922
#### Parameters
923

    
924
The following parameters are available in the `nftables::rule` defined type:
925

    
926
* [`ensure`](#ensure)
927
* [`rulename`](#rulename)
928
* [`order`](#order)
929
* [`table`](#table)
930
* [`content`](#content)
931
* [`source`](#source)
932

    
933
##### <a name="ensure"></a>`ensure`
934

    
935
Data type: `Enum['present','absent']`
936

    
937

    
938

    
939
Default value: `'present'`
940

    
941
##### <a name="rulename"></a>`rulename`
942

    
943
Data type: `Nftables::RuleName`
944

    
945

    
946

    
947
Default value: `$title`
948

    
949
##### <a name="order"></a>`order`
950

    
951
Data type: `Pattern[/^\d\d$/]`
952

    
953

    
954

    
955
Default value: `'50'`
956

    
957
##### <a name="table"></a>`table`
958

    
959
Data type: `Optional[String]`
960

    
961

    
962

    
963
Default value: `'inet-filter'`
964

    
965
##### <a name="content"></a>`content`
966

    
967
Data type: `Optional[String]`
968

    
969

    
970

    
971
Default value: ``undef``
972

    
973
##### <a name="source"></a>`source`
974

    
975
Data type: `Optional[Variant[String,Array[String,1]]]`
976

    
977

    
978

    
979
Default value: ``undef``
980

    
981
### <a name="nftablesrulesdnat4"></a>`nftables::rules::dnat4`
982

    
983
manage a ipv4 dnat rule
984

    
985
#### Parameters
986

    
987
The following parameters are available in the `nftables::rules::dnat4` defined type:
988

    
989
* [`daddr`](#daddr)
990
* [`port`](#port)
991
* [`rulename`](#rulename)
992
* [`order`](#order)
993
* [`chain`](#chain)
994
* [`iif`](#iif)
995
* [`proto`](#proto)
996
* [`dport`](#dport)
997
* [`ensure`](#ensure)
998

    
999
##### <a name="daddr"></a>`daddr`
1000

    
1001
Data type: `Pattern[/^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/]`
1002

    
1003

    
1004

    
1005
##### <a name="port"></a>`port`
1006

    
1007
Data type: `Variant[String,Stdlib::Port]`
1008

    
1009

    
1010

    
1011
##### <a name="rulename"></a>`rulename`
1012

    
1013
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1014

    
1015

    
1016

    
1017
Default value: `$title`
1018

    
1019
##### <a name="order"></a>`order`
1020

    
1021
Data type: `Pattern[/^\d\d$/]`
1022

    
1023

    
1024

    
1025
Default value: `'50'`
1026

    
1027
##### <a name="chain"></a>`chain`
1028

    
1029
Data type: `String[1]`
1030

    
1031

    
1032

    
1033
Default value: `'default_fwd'`
1034

    
1035
##### <a name="iif"></a>`iif`
1036

    
1037
Data type: `Optional[String[1]]`
1038

    
1039

    
1040

    
1041
Default value: ``undef``
1042

    
1043
##### <a name="proto"></a>`proto`
1044

    
1045
Data type: `Enum['tcp','udp']`
1046

    
1047

    
1048

    
1049
Default value: `'tcp'`
1050

    
1051
##### <a name="dport"></a>`dport`
1052

    
1053
Data type: `Optional[Variant[String,Stdlib::Port]]`
1054

    
1055

    
1056

    
1057
Default value: `''`
1058

    
1059
##### <a name="ensure"></a>`ensure`
1060

    
1061
Data type: `Enum['present','absent']`
1062

    
1063

    
1064

    
1065
Default value: `'present'`
1066

    
1067
### <a name="nftablesrulesmasquerade"></a>`nftables::rules::masquerade`
1068

    
1069
masquerade all outgoing traffic
1070

    
1071
#### Parameters
1072

    
1073
The following parameters are available in the `nftables::rules::masquerade` defined type:
1074

    
1075
* [`rulename`](#rulename)
1076
* [`order`](#order)
1077
* [`chain`](#chain)
1078
* [`oif`](#oif)
1079
* [`saddr`](#saddr)
1080
* [`daddr`](#daddr)
1081
* [`proto`](#proto)
1082
* [`dport`](#dport)
1083
* [`ensure`](#ensure)
1084

    
1085
##### <a name="rulename"></a>`rulename`
1086

    
1087
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1088

    
1089

    
1090

    
1091
Default value: `$title`
1092

    
1093
##### <a name="order"></a>`order`
1094

    
1095
Data type: `Pattern[/^\d\d$/]`
1096

    
1097

    
1098

    
1099
Default value: `'70'`
1100

    
1101
##### <a name="chain"></a>`chain`
1102

    
1103
Data type: `String[1]`
1104

    
1105

    
1106

    
1107
Default value: `'POSTROUTING'`
1108

    
1109
##### <a name="oif"></a>`oif`
1110

    
1111
Data type: `Optional[String[1]]`
1112

    
1113

    
1114

    
1115
Default value: ``undef``
1116

    
1117
##### <a name="saddr"></a>`saddr`
1118

    
1119
Data type: `Optional[String[1]]`
1120

    
1121

    
1122

    
1123
Default value: ``undef``
1124

    
1125
##### <a name="daddr"></a>`daddr`
1126

    
1127
Data type: `Optional[String[1]]`
1128

    
1129

    
1130

    
1131
Default value: ``undef``
1132

    
1133
##### <a name="proto"></a>`proto`
1134

    
1135
Data type: `Optional[Enum['tcp','udp']]`
1136

    
1137

    
1138

    
1139
Default value: ``undef``
1140

    
1141
##### <a name="dport"></a>`dport`
1142

    
1143
Data type: `Optional[Variant[String,Stdlib::Port]]`
1144

    
1145

    
1146

    
1147
Default value: ``undef``
1148

    
1149
##### <a name="ensure"></a>`ensure`
1150

    
1151
Data type: `Enum['present','absent']`
1152

    
1153

    
1154

    
1155
Default value: `'present'`
1156

    
1157
### <a name="nftablesrulessnat4"></a>`nftables::rules::snat4`
1158

    
1159
manage a ipv4 snat rule
1160

    
1161
#### Parameters
1162

    
1163
The following parameters are available in the `nftables::rules::snat4` defined type:
1164

    
1165
* [`snat`](#snat)
1166
* [`rulename`](#rulename)
1167
* [`order`](#order)
1168
* [`chain`](#chain)
1169
* [`oif`](#oif)
1170
* [`saddr`](#saddr)
1171
* [`proto`](#proto)
1172
* [`dport`](#dport)
1173
* [`ensure`](#ensure)
1174

    
1175
##### <a name="snat"></a>`snat`
1176

    
1177
Data type: `String[1]`
1178

    
1179

    
1180

    
1181
##### <a name="rulename"></a>`rulename`
1182

    
1183
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1184

    
1185

    
1186

    
1187
Default value: `$title`
1188

    
1189
##### <a name="order"></a>`order`
1190

    
1191
Data type: `Pattern[/^\d\d$/]`
1192

    
1193

    
1194

    
1195
Default value: `'70'`
1196

    
1197
##### <a name="chain"></a>`chain`
1198

    
1199
Data type: `String[1]`
1200

    
1201

    
1202

    
1203
Default value: `'POSTROUTING'`
1204

    
1205
##### <a name="oif"></a>`oif`
1206

    
1207
Data type: `Optional[String[1]]`
1208

    
1209

    
1210

    
1211
Default value: ``undef``
1212

    
1213
##### <a name="saddr"></a>`saddr`
1214

    
1215
Data type: `Optional[String[1]]`
1216

    
1217

    
1218

    
1219
Default value: ``undef``
1220

    
1221
##### <a name="proto"></a>`proto`
1222

    
1223
Data type: `Optional[Enum['tcp','udp']]`
1224

    
1225

    
1226

    
1227
Default value: ``undef``
1228

    
1229
##### <a name="dport"></a>`dport`
1230

    
1231
Data type: `Optional[Variant[String,Stdlib::Port]]`
1232

    
1233

    
1234

    
1235
Default value: ``undef``
1236

    
1237
##### <a name="ensure"></a>`ensure`
1238

    
1239
Data type: `Enum['present','absent']`
1240

    
1241

    
1242

    
1243
Default value: `'present'`
1244

    
1245
### <a name="nftablesset"></a>`nftables::set`
1246

    
1247
manage a named set
1248

    
1249
#### Examples
1250

    
1251
##### simple set
1252

    
1253
```puppet
1254
nftables::set{'my_set':
1255
  type       => 'ipv4_addr',
1256
  flags      => ['interval'],
1257
  elements   => ['192.168.0.1/24', '10.0.0.2'],
1258
  auto_merge => true,
1259
}
1260
```
1261

    
1262
#### Parameters
1263

    
1264
The following parameters are available in the `nftables::set` defined type:
1265

    
1266
* [`ensure`](#ensure)
1267
* [`setname`](#setname)
1268
* [`order`](#order)
1269
* [`type`](#type)
1270
* [`table`](#table)
1271
* [`flags`](#flags)
1272
* [`timeout`](#timeout)
1273
* [`gc_interval`](#gc_interval)
1274
* [`elements`](#elements)
1275
* [`size`](#size)
1276
* [`policy`](#policy)
1277
* [`auto_merge`](#auto_merge)
1278
* [`content`](#content)
1279
* [`source`](#source)
1280

    
1281
##### <a name="ensure"></a>`ensure`
1282

    
1283
Data type: `Enum['present','absent']`
1284

    
1285
should the set be created.
1286

    
1287
Default value: `'present'`
1288

    
1289
##### <a name="setname"></a>`setname`
1290

    
1291
Data type: `Pattern[/^[-a-zA-Z0-9_]+$/]`
1292

    
1293
name of set, equal to to title.
1294

    
1295
Default value: `$title`
1296

    
1297
##### <a name="order"></a>`order`
1298

    
1299
Data type: `Pattern[/^\d\d$/]`
1300

    
1301
concat ordering.
1302

    
1303
Default value: `'10'`
1304

    
1305
##### <a name="type"></a>`type`
1306

    
1307
Data type: `Optional[Enum['ipv4_addr', 'ipv6_addr', 'ether_addr', 'inet_proto', 'inet_service', 'mark']]`
1308

    
1309
type of set.
1310

    
1311
Default value: ``undef``
1312

    
1313
##### <a name="table"></a>`table`
1314

    
1315
Data type: `String`
1316

    
1317
table to add set to.
1318

    
1319
Default value: `'inet-filter'`
1320

    
1321
##### <a name="flags"></a>`flags`
1322

    
1323
Data type: `Array[Enum['constant', 'dynamic', 'interval', 'timeout'], 0, 4]`
1324

    
1325
specify flags for set
1326

    
1327
Default value: `[]`
1328

    
1329
##### <a name="timeout"></a>`timeout`
1330

    
1331
Data type: `Optional[Integer]`
1332

    
1333
timeout in seconds
1334

    
1335
Default value: ``undef``
1336

    
1337
##### <a name="gc_interval"></a>`gc_interval`
1338

    
1339
Data type: `Optional[Integer]`
1340

    
1341
garbage collection interval.
1342

    
1343
Default value: ``undef``
1344

    
1345
##### <a name="elements"></a>`elements`
1346

    
1347
Data type: `Optional[Array[String]]`
1348

    
1349
initialize the set with some elements in it.
1350

    
1351
Default value: ``undef``
1352

    
1353
##### <a name="size"></a>`size`
1354

    
1355
Data type: `Optional[Integer]`
1356

    
1357
limits the maximum number of elements of the set.
1358

    
1359
Default value: ``undef``
1360

    
1361
##### <a name="policy"></a>`policy`
1362

    
1363
Data type: `Optional[Enum['performance', 'memory']]`
1364

    
1365
determines set selection policy.
1366

    
1367
Default value: ``undef``
1368

    
1369
##### <a name="auto_merge"></a>`auto_merge`
1370

    
1371
Data type: `Boolean`
1372

    
1373
?
1374

    
1375
Default value: ``false``
1376

    
1377
##### <a name="content"></a>`content`
1378

    
1379
Data type: `Optional[String]`
1380

    
1381
specify content of set.
1382

    
1383
Default value: ``undef``
1384

    
1385
##### <a name="source"></a>`source`
1386

    
1387
Data type: `Optional[Variant[String,Array[String,1]]]`
1388

    
1389
specify source of set.
1390

    
1391
Default value: ``undef``
1392

    
1393
### <a name="nftablessimplerule"></a>`nftables::simplerule`
1394

    
1395
Provides a simplified interface to nftables::rule
1396

    
1397
#### Examples
1398

    
1399
##### allow incoming traffic from port 541 on port 543 TCP to a given IP range and count packets
1400

    
1401
```puppet
1402
nftables::simplerule{'my_service_in':
1403
  action  => 'accept',
1404
  comment => 'allow traffic to port 543',
1405
  counter => true,
1406
  proto   => 'tcp',
1407
  dport   => 543,
1408
  daddr   => '2001:1458::/32',
1409
  sport   => 541,
1410
}
1411
```
1412

    
1413
#### Parameters
1414

    
1415
The following parameters are available in the `nftables::simplerule` defined type:
1416

    
1417
* [`ensure`](#ensure)
1418
* [`rulename`](#rulename)
1419
* [`order`](#order)
1420
* [`chain`](#chain)
1421
* [`table`](#table)
1422
* [`action`](#action)
1423
* [`comment`](#comment)
1424
* [`dport`](#dport)
1425
* [`proto`](#proto)
1426
* [`daddr`](#daddr)
1427
* [`set_type`](#set_type)
1428
* [`sport`](#sport)
1429
* [`saddr`](#saddr)
1430
* [`counter`](#counter)
1431

    
1432
##### <a name="ensure"></a>`ensure`
1433

    
1434
Data type: `Enum['present','absent']`
1435

    
1436
Should the rule be created.
1437

    
1438
Default value: `'present'`
1439

    
1440
##### <a name="rulename"></a>`rulename`
1441

    
1442
Data type: `Nftables::SimpleRuleName`
1443

    
1444
The symbolic name for the rule to add. Defaults to the resource's title.
1445

    
1446
Default value: `$title`
1447

    
1448
##### <a name="order"></a>`order`
1449

    
1450
Data type: `Pattern[/^\d\d$/]`
1451

    
1452
A number representing the order of the rule.
1453

    
1454
Default value: `'50'`
1455

    
1456
##### <a name="chain"></a>`chain`
1457

    
1458
Data type: `String`
1459

    
1460
The name of the chain to add this rule to.
1461

    
1462
Default value: `'default_in'`
1463

    
1464
##### <a name="table"></a>`table`
1465

    
1466
Data type: `String`
1467

    
1468
The name of the table to add this rule to.
1469

    
1470
Default value: `'inet-filter'`
1471

    
1472
##### <a name="action"></a>`action`
1473

    
1474
Data type: `Enum['accept', 'continue', 'drop', 'queue', 'return']`
1475

    
1476
The verdict for the matched traffic.
1477

    
1478
Default value: `'accept'`
1479

    
1480
##### <a name="comment"></a>`comment`
1481

    
1482
Data type: `Optional[String]`
1483

    
1484
A typically human-readable comment for the rule.
1485

    
1486
Default value: ``undef``
1487

    
1488
##### <a name="dport"></a>`dport`
1489

    
1490
Data type: `Optional[Nftables::Port]`
1491

    
1492
The destination port, ports or port range.
1493

    
1494
Default value: ``undef``
1495

    
1496
##### <a name="proto"></a>`proto`
1497

    
1498
Data type: `Optional[Enum['tcp', 'tcp4', 'tcp6', 'udp', 'udp4', 'udp6']]`
1499

    
1500
The transport-layer protocol to match.
1501

    
1502
Default value: ``undef``
1503

    
1504
##### <a name="daddr"></a>`daddr`
1505

    
1506
Data type: `Optional[Nftables::Addr]`
1507

    
1508
The destination address, CIDR or set to match.
1509

    
1510
Default value: ``undef``
1511

    
1512
##### <a name="set_type"></a>`set_type`
1513

    
1514
Data type: `Enum['ip', 'ip6']`
1515

    
1516
When using sets as saddr or daddr, the type of the set.
1517
Use `ip` for sets of type `ipv4_addr`.
1518

    
1519
Default value: `'ip6'`
1520

    
1521
##### <a name="sport"></a>`sport`
1522

    
1523
Data type: `Optional[Nftables::Port]`
1524

    
1525
The source port, ports or port range.
1526

    
1527
Default value: ``undef``
1528

    
1529
##### <a name="saddr"></a>`saddr`
1530

    
1531
Data type: `Optional[Nftables::Addr]`
1532

    
1533
The source address, CIDR or set to match.
1534

    
1535
Default value: ``undef``
1536

    
1537
##### <a name="counter"></a>`counter`
1538

    
1539
Data type: `Boolean`
1540

    
1541
Enable traffic counters for the matched traffic.
1542

    
1543
Default value: ``false``
1544

    
1545
## Data types
1546

    
1547
### <a name="nftablesaddr"></a>`Nftables::Addr`
1548

    
1549
Represents an address expression to be used within a rule.
1550

    
1551
Alias of
1552

    
1553
```puppet
1554
Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Nftables::Addr::Set]
1555
```
1556

    
1557
### <a name="nftablesaddrset"></a>`Nftables::Addr::Set`
1558

    
1559
Represents a set expression to be used within a rule.
1560

    
1561
Alias of
1562

    
1563
```puppet
1564
Pattern[/^@[-a-zA-Z0-9_]+$/]
1565
```
1566

    
1567
### <a name="nftablesport"></a>`Nftables::Port`
1568

    
1569
Represents a port expression to be used within a rule.
1570

    
1571
Alias of
1572

    
1573
```puppet
1574
Variant[Array[Stdlib::Port, 1], Stdlib::Port, Nftables::Port::Range]
1575
```
1576

    
1577
### <a name="nftablesportrange"></a>`Nftables::Port::Range`
1578

    
1579
Represents a port range expression to be used within a rule.
1580

    
1581
Alias of
1582

    
1583
```puppet
1584
Pattern[/^\d+-\d+$/]
1585
```
1586

    
1587
### <a name="nftablesrulename"></a>`Nftables::RuleName`
1588

    
1589
Represents a rule name to be used in a raw rule created via nftables::rule.
1590
It's a dash separated string. The first component describes the chain to
1591
add the rule to, the second the rule name and the (optional) third a number.
1592
Ex: 'default_in-sshd', 'default_out-my_service-2'.
1593

    
1594
Alias of
1595

    
1596
```puppet
1597
Pattern[/^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+(-\d+)?$/]
1598
```
1599

    
1600
### <a name="nftablessimplerulename"></a>`Nftables::SimpleRuleName`
1601

    
1602
Represents a simple rule name to be used in a rule created via nftables::simplerule
1603

    
1604
Alias of
1605

    
1606
```puppet
1607
Pattern[/^[a-zA-Z0-9_]+(-\d+)?$/]
1608
```
1609