Révision f1ef02c5
Encapsulate addr-related exprs in Nftables::Addr
manifests/simplerule.pp | ||
---|---|---|
63 | 63 |
Optional[String] $comment = undef, |
64 | 64 |
Optional[Nftables::Port] $dport = undef, |
65 | 65 |
Optional[Enum['tcp', 'tcp4', 'tcp6', 'udp', 'udp4', 'udp6']] $proto = undef, |
66 |
Optional[Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Pattern[/^@[-a-zA-Z0-9_]+$/]]] $daddr = undef,
|
|
66 |
Optional[Nftables::Addr] $daddr = undef,
|
|
67 | 67 |
Enum['ip', 'ip6'] $set_type = 'ip6', |
68 | 68 |
Optional[Nftables::Port] $sport = undef, |
69 |
Optional[Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Pattern[/^@[-a-zA-Z0-9_]+$/]]] $saddr = undef,
|
|
69 |
Optional[Nftables::Addr] $saddr = undef,
|
|
70 | 70 |
Boolean $counter = false, |
71 | 71 |
) { |
72 | 72 |
if $dport and !$proto { |
spec/type_aliases/nftables_addr_spec.rb | ||
---|---|---|
1 |
require 'spec_helper' |
|
2 |
|
|
3 |
describe 'Nftables::Addr' do |
|
4 |
it { is_expected.to allow_value('127.0.0.1') } |
|
5 |
it { is_expected.to allow_value('172.16.1.0/24') } |
|
6 |
it { is_expected.to allow_value('2001:1458::/32') } |
|
7 |
it { is_expected.to allow_value('2001:1458::3') } |
|
8 |
it { is_expected.to allow_value('@set_name') } |
|
9 |
it { is_expected.not_to allow_value('anything') } |
|
10 |
it { is_expected.not_to allow_value(43) } |
|
11 |
it { is_expected.not_to allow_value(['127.0.0.1']) } |
|
12 |
end |
templates/simplerule.epp | ||
---|---|---|
1 | 1 |
<%- | String $action, |
2 | 2 |
Optional[String] $comment, |
3 | 3 |
Boolean $counter, |
4 |
Optional[Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Pattern[/^@[-a-zA-Z0-9_]+$/]]] $daddr,
|
|
4 |
Optional[Nftables::Addr] $daddr,
|
|
5 | 5 |
Optional[Nftables::Port] $dport, |
6 | 6 |
Optional[String] $proto, |
7 |
Optional[Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Pattern[/^@[-a-zA-Z0-9_]+$/]]] $saddr,
|
|
7 |
Optional[Nftables::Addr] $saddr,
|
|
8 | 8 |
Enum['ip', 'ip6'] $set_type, |
9 | 9 |
Optional[Nftables::Port] $sport, |
10 | 10 |
| -%> |
types/addr.pp | ||
---|---|---|
1 |
# @summary |
|
2 |
# Represents an address expression to be used within a rule. |
|
3 |
type Nftables::Addr = Variant[ |
|
4 |
Stdlib::IP::Address::V6, |
|
5 |
Stdlib::IP::Address::V4, |
|
6 |
Nftables::Addr::Set |
|
7 |
] |
types/addr/set.pp | ||
---|---|---|
1 |
# @summary |
|
2 |
# Represents a set expression to be used within a rule. |
|
3 |
type Nftables::Addr::Set = Pattern[/^@[-a-zA-Z0-9_]+$/] |
Formats disponibles : Unified diff