From 76ff3280d3b09865e39efbea032254b8c2a3a47d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sun, 15 Jan 2023 09:25:45 +0100 Subject: Move filter name validation to puppet type. --- manifests/filter.pp | 17 ++--------------- types/filter_types.pp | 8 ++++++++ 2 files changed, 10 insertions(+), 15 deletions(-) create mode 100644 types/filter_types.pp 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', +] -- cgit v1.2.3