tag-key and tag-value filters now do a regex match
This commit is contained in:
parent
5f770ffabb
commit
619255e25a
@ -341,17 +341,19 @@ def get_obj_tag_values(obj):
|
|||||||
return tags
|
return tags
|
||||||
|
|
||||||
def tag_filter_matches(obj, filter_name, filter_values):
|
def tag_filter_matches(obj, filter_name, filter_values):
|
||||||
|
regex_filters = [re.compile(simple_aws_filter_to_re(f)) for f in filter_values]
|
||||||
if filter_name == 'tag-key':
|
if filter_name == 'tag-key':
|
||||||
tag_names = get_obj_tag_names(obj)
|
tag_values = get_obj_tag_names(obj)
|
||||||
return len(set(filter_values).intersection(tag_names)) > 0
|
|
||||||
elif filter_name == 'tag-value':
|
elif filter_name == 'tag-value':
|
||||||
tag_values = get_obj_tag_values(obj)
|
tag_values = get_obj_tag_values(obj)
|
||||||
return len(set(filter_values).intersection(tag_values)) > 0
|
|
||||||
else:
|
else:
|
||||||
import re
|
tag_values = [get_obj_tag(obj, filter_name) or '']
|
||||||
tag_value = get_obj_tag(obj, filter_name) or ''
|
|
||||||
regex_filters = [re.compile(simple_aws_filter_to_re(f)) for f in filter_values]
|
for tag_value in tag_values:
|
||||||
return any(regex.match(tag_value) for regex in regex_filters)
|
if any(regex.match(tag_value) for regex in regex_filters):
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
filter_dict_attribute_mapping = {
|
filter_dict_attribute_mapping = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user