summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-01-15 09:25:45 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2023-01-15 12:27:42 +0100
commit76ff3280d3b09865e39efbea032254b8c2a3a47d (patch)
tree157d8e9c740dbe5973660e4f928108abf19dc611
parentCreate directories for public repos. (diff)
downloadcgit-76ff3280d3b09865e39efbea032254b8c2a3a47d.tar.gz
cgit-76ff3280d3b09865e39efbea032254b8c2a3a47d.tar.xz
Move filter name validation to puppet type.
-rw-r--r--manifests/filter.pp17
-rw-r--r--types/filter_types.pp8
2 files changed, 10 insertions, 15 deletions
diff --git a/manifests/filter.pp b/manifests/filter.pp
index feca06a..fc95dc6 100644
--- a/manifests/filter.pp
+++ b/manifests/filter.pp
@@ -1,6 +1,6 @@
define cgit::filter (
- String $filtername = $name,
- Optional[String] $source = undef,
+ Cgit::Filter_types $filtername = $name,
+ Optional[Variant[String, Array[String]]] $source = undef,
Optional[String] $content = undef,
Hash $file_props = {},
Enum['lua', 'exec'] $type = stdlib::extname($source) ? {
@@ -11,19 +11,6 @@ define cgit::filter (
include ::cgit::filter_setup
- $valid_filters = [
- 'about',
- 'auth',
- 'commit',
- 'email',
- 'owner',
- 'source',
- ]
-
- if ! member($valid_filters, $filtername) {
- crit("${filtername} not a valid cgit filter")
- }
-
$dest = "${cgit::filterpath}/${filtername}-filter"
file { $dest:
diff --git a/types/filter_types.pp b/types/filter_types.pp
new file mode 100644
index 0000000..8a5ef2d
--- /dev/null
+++ b/types/filter_types.pp
@@ -0,0 +1,8 @@
+type Cgit::Filter_types = Enum[
+ 'about',
+ 'auth',
+ 'commit',
+ 'email',
+ 'owner',
+ 'source',
+]