summaryrefslogtreecommitdiff
path: root/openstackclient/image
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-04-02 19:05:15 +0000
committerGerrit Code Review <review@openstack.org>2018-04-02 19:05:15 +0000
commit972a345014a177b0db83272f609ae28a5b23cf68 (patch)
tree38d9a4f15930ec4af8152016946eea0c82206fb1 /openstackclient/image
parent5ed81c5a77db4d20566799ddd8885091e5b441fd (diff)
parent79577681d88e4851d4d32482e80d43ed9aa0f521 (diff)
downloadpython-openstackclient-972a345014a177b0db83272f609ae28a5b23cf68.tar.gz
Merge "Add support to list image members"
Diffstat (limited to 'openstackclient/image')
-rw-r--r--openstackclient/image/v2/image.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index ddcee4ad..4a51062f 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -591,6 +591,39 @@ class ListImage(command.Lister):
)
+class ListImageProjects(command.Lister):
+ _description = _("List projects associated with image")
+
+ def get_parser(self, prog_name):
+ parser = super(ListImageProjects, self).get_parser(prog_name)
+ parser.add_argument(
+ "image",
+ metavar="<image>",
+ help=_("Image (name or ID)"),
+ )
+ common.add_project_domain_option_to_parser(parser)
+ return parser
+
+ def take_action(self, parsed_args):
+ image_client = self.app.client_manager.image
+ columns = (
+ "Image ID",
+ "Member ID",
+ "Status"
+ )
+
+ image_id = utils.find_resource(
+ image_client.images,
+ parsed_args.image).id
+
+ data = image_client.image_members.list(image_id)
+
+ return (columns,
+ (utils.get_item_properties(
+ s, columns,
+ ) for s in data))
+
+
class RemoveProjectImage(command.Command):
_description = _("Disassociate project with image")