From 650149e1fa1e631775aac5ced9b22e03b3090f33 Mon Sep 17 00:00:00 2001 From: ewolinetz Date: Mon, 17 Jul 2017 10:02:32 -0500 Subject: Updating to use oc replace and conditionally update edit and admin roles --- filter_plugins/oo_filters.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'filter_plugins') diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index cff9f8a60..399e83bec 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -1008,6 +1008,19 @@ 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'] + + if rules: + for rule in rules: + if rule['apiGroups'].sort() == apiGroups.sort(): + if rule['resources'].sort() == resources.sort(): + if rule['verbs'].sort() == verbs.sort(): + return True + + return False class FilterModule(object): """ Custom ansible filter mapping """ @@ -1049,5 +1062,6 @@ class FilterModule(object): "oo_openshift_loadbalancer_frontends": oo_openshift_loadbalancer_frontends, "oo_openshift_loadbalancer_backends": oo_openshift_loadbalancer_backends, "to_padded_yaml": to_padded_yaml, - "oo_random_word": oo_random_word + "oo_random_word": oo_random_word, + "oo_contains_rule": oo_contains_rule } -- cgit v1.2.1