diff options
Diffstat (limited to 'filter_plugins/oo_filters.py')
-rw-r--r-- | filter_plugins/oo_filters.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index 399e83bec..c6d0e69eb 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -1008,20 +1008,22 @@ def oo_random_word(length, source='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS """ return ''.join(random.choice(source) for i in range(length)) + def oo_contains_rule(source, apiGroups, resources, verbs): '''Return true if the specified rule is contained within the provided source''' - rules=source['rules'] + rules = source['rules'] if rules: for rule in rules: - if rule['apiGroups'].sort() == apiGroups.sort(): - if rule['resources'].sort() == resources.sort(): - if rule['verbs'].sort() == verbs.sort(): + if set(rule['apiGroups']) == set(apiGroups): + if set(rule['resources']) == set(resources): + if set(rule['verbs']) == set(verbs): return True return False + class FilterModule(object): """ Custom ansible filter mapping """ |