Add filter to image list

* Hides previously broken --page-size option
* Adds --property to image list for filtering on properties
* Adds Visibility, Protected, Owner, Properties/Tags to --long output
* Adds api.utils.simple_filter() for selecting matches out of a list
  of objects
* Adds tests for all of the above
* Updates image docs

There are additional filtering options to be added in later reviews.

Change-Id: I32feff0ad61aae749b33621c817658d7dc90c3aa
Closes-bug: 1401902
This commit is contained in:
Dean Troyer
2015-01-21 15:02:58 -06:00
parent 2c03f6f42f
commit 61a40343fd
11 changed files with 606 additions and 130 deletions

@ -30,6 +30,7 @@ class APIv2(image_v1.APIv1):
detailed=False,
public=False,
private=False,
shared=False,
**filter
):
"""Get available images
@ -49,17 +50,17 @@ class APIv2(image_v1.APIv1):
both public and private images which is the same set as all images.
http://docs.openstack.org/api/openstack-image-service/2.0/content/list-images.html
TODO(dtroyer): Implement filtering
"""
if public == private:
# No filtering for both False and both True cases
if not public and not private and not shared:
# No filtering for all False
filter.pop('visibility', None)
elif public:
filter['visibility'] = 'public'
elif private:
filter['visibility'] = 'private'
elif shared:
filter['visibility'] = 'shared'
url = "/images"
if detailed: