summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorRuben van Dijk <15885455+RubenNL@users.noreply.github.com>2025-04-23 21:41:56 +0200
committerGitHub <noreply@github.com>2025-04-24 05:41:56 +1000
commitb0b3adfb53e3089b087731986eb8ea8f89dcf17e (patch)
tree4b49c37cbd5e2f192e7a1da16a4d2d8df9e929e0 /plugins
parent46838054d25bb3e8fcc8210a6433ae788bfa3d12 (diff)
downloadvyos.vyos-b0b3adfb53e3089b087731986eb8ea8f89dcf17e.tar.gz
vyos.vyos-b0b3adfb53e3089b087731986eb8ea8f89dcf17e.zip
T7236 firewall_rules Fix compare amount of firewall rulesets. (#401)
Co-authored-by: omnom62 <75066712+omnom62@users.noreply.github.com>
Diffstat (limited to 'plugins')
-rw-r--r--plugins/module_utils/network/vyos/config/firewall_rules/firewall_rules.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/plugins/module_utils/network/vyos/config/firewall_rules/firewall_rules.py b/plugins/module_utils/network/vyos/config/firewall_rules/firewall_rules.py
index 5c2ef6ca..bb6055b7 100644
--- a/plugins/module_utils/network/vyos/config/firewall_rules/firewall_rules.py
+++ b/plugins/module_utils/network/vyos/config/firewall_rules/firewall_rules.py
@@ -1167,13 +1167,19 @@ class Firewall_rules(ConfigBase):
return True
elif isinstance(w, list) and isinstance(rs, list):
try:
- sorted_list1 = sorted(w, key=lambda x: str(x)) # pylint: disable=unnecessary-lambda
- sorted_list2 = sorted(
- rs,
- key=lambda x: str(x), # pylint: disable=unnecessary-lambda
- )
+ def comparison(x):
+ if 'name' in x:
+ return x['name']
+ if 'number' in x:
+ return x['number']
+ return str(x)
+
+ sorted_list1 = sorted(w, key=comparison)
+ sorted_list2 = sorted(rs, key=comparison)
except TypeError:
return False
+ if len(sorted_list1) != len(sorted_list2):
+ return False
return all(self._is_same_rs(x, y) for x, y in zip(sorted_list1, sorted_list2))
else:
return w == rs