From 7b5f43ab728c83ca3b27378f95dee0cff14efd23 Mon Sep 17 00:00:00 2001 From: Massimiliano Adamo <maxadamo@gmail.com> Date: Wed, 18 Jan 2023 16:34:52 +0100 Subject: [PATCH] emit warning if publi key is empty --- functions/fw_builder_public_ips.pp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/functions/fw_builder_public_ips.pp b/functions/fw_builder_public_ips.pp index 0bec000..4dc000d 100644 --- a/functions/fw_builder_public_ips.pp +++ b/functions/fw_builder_public_ips.pp @@ -32,20 +32,25 @@ function fw_builder::fw_builder_public_ips( $public_ipsets = [] } else { # if public is present and contains some value - if 'public' in $facts_fw_conf and $facts_fw_conf['public'] !~ Undef { + if 'public' in $facts_fw_conf { - $facts_fw_conf_public = $facts_fw_conf['public'] + if $facts_fw_conf['public'] =~ Undef { + warning('fw_builder public key exists but it\'s empty') + $public_ipsets = [] + } else { + $facts_fw_conf_public = $facts_fw_conf['public'] - # create a list of lists with all the ipsets in public - $unflattened_public_ipsets = $facts_fw_conf_public.map |$app_key, $app_value| { - if 'ipset' in keys($facts_fw_conf_public[$app_key]) { - $facts_fw_conf_public[$app_key]['ipset'] + # create a list of lists with all the ipsets in public + $unflattened_public_ipsets = $facts_fw_conf_public.map |$app_key, $app_value| { + if 'ipset' in keys($facts_fw_conf_public[$app_key]) { + $facts_fw_conf_public[$app_key]['ipset'] + } } - } - # flatten the list of list into a list with unique elements, and remove any Undef - $public_ipsets_with_undef = unique(flatten($unflattened_public_ipsets)) - $public_ipsets = $public_ipsets_with_undef.filter |$item| { $item !~ Undef } + # flatten the list of list into a list with unique elements, and remove any Undef + $public_ipsets_with_undef = unique(flatten($unflattened_public_ipsets)) + $public_ipsets = $public_ipsets_with_undef.filter |$item| { $item !~ Undef } + } } else { $public_ipsets = [] } -- GitLab