aboutsummaryrefslogtreecommitdiff
path: root/types
diff options
context:
space:
mode:
authorThore Bödecker <me@foxxx0.de>2020-06-25 17:07:07 +0200
committerThore Bödecker <me@foxxx0.de>2020-06-30 18:05:47 +0200
commit856eca997158141e084b9e8c2002d7491a4720a1 (patch)
tree52103dc1a6e99ba629df558dfb0302840e78f834 /types
parent945faf68871dfdb9f9521cdadcdecfef65634d4b (diff)
downloadpuppet-ferm-856eca997158141e084b9e8c2002d7491a4720a1.tar.gz
puppet-ferm-856eca997158141e084b9e8c2002d7491a4720a1.tar.bz2
use proper types and validations for port handling
- implement validations for port ranges - add test cases for these scenarios
Diffstat (limited to 'types')
-rw-r--r--types/port.pp13
1 files changed, 13 insertions, 0 deletions
diff --git a/types/port.pp b/types/port.pp
new file mode 100644
index 0000000..dc2b7e1
--- /dev/null
+++ b/types/port.pp
@@ -0,0 +1,13 @@
+# @summary ferm port-spec
+#
+# allowed variants:
+# -----------------
+# + single Integer port
+# + Array of Integers (creates a multiport matcher)
+# + ferm range port-spec (pair of colon-separated integer, assumes 0 if first is omitted)
+
+type Ferm::Port = Variant[
+ Stdlib::Port,
+ Array[Stdlib::Port],
+ Pattern['^\d*:\d+$'],
+]