Add list support to filters (#1083)
* initial pass with TODOs * add list support to get_object_value * fix group-id filters * add tests for sg name and id filters
This commit is contained in:
parent
8e57dc92f4
commit
1f6b1b8c4a
2 changed files with 43 additions and 2 deletions
|
|
@ -335,6 +335,11 @@ def get_object_value(obj, attr):
|
|||
val = getattr(val, key)
|
||||
elif isinstance(val, dict):
|
||||
val = val[key]
|
||||
elif isinstance(val, list):
|
||||
for item in val:
|
||||
item_val = get_object_value(item, key)
|
||||
if item_val:
|
||||
return item_val
|
||||
else:
|
||||
return None
|
||||
return val
|
||||
|
|
@ -385,8 +390,9 @@ filter_dict_attribute_mapping = {
|
|||
'state-reason-code': '_state_reason.code',
|
||||
'source-dest-check': 'source_dest_check',
|
||||
'vpc-id': 'vpc_id',
|
||||
'group-id': 'security_groups',
|
||||
'instance.group-id': 'security_groups',
|
||||
'group-id': 'security_groups.id',
|
||||
'instance.group-id': 'security_groups.id',
|
||||
'instance.group-name': 'security_groups.name',
|
||||
'instance-type': 'instance_type',
|
||||
'private-ip-address': 'private_ip',
|
||||
'ip-address': 'public_ip',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue