summaryrefslogtreecommitdiff
path: root/openstackclient/image
diff options
context:
space:
mode:
authorokozachenko <okozachenko@vexxhost.com>2020-12-10 20:22:55 +0200
committerokozachenko <okozachenko@vexxhost.com>2020-12-15 00:45:30 +0200
commit3c80b1b3b29307381b869f6a767e14e9d47e212f (patch)
treeaf1db607c3343dc1add1445137bc50bf2a1bdd5b /openstackclient/image
parentf5b185c35728025ebfd4145c800648b34476b775 (diff)
downloadpython-openstackclient-3c80b1b3b29307381b869f6a767e14e9d47e212f.tar.gz
Add project field in image list subcommand
The motivation is to filter the image by owner Change-Id: I1f08da175a06e62a844f76b0ec18cb3332efef86
Diffstat (limited to 'openstackclient/image')
-rw-r--r--openstackclient/image/v2/image.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index 58d92f51..fa7f4be5 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -592,6 +592,12 @@ class ListImage(command.Lister):
', '.join(MEMBER_STATUS_CHOICES))
)
parser.add_argument(
+ '--project',
+ metavar='<project>',
+ help=_("Search by project (admin only) (name or ID)")
+ )
+ common.add_project_domain_option_to_parser(parser)
+ parser.add_argument(
'--tag',
metavar='<tag>',
default=None,
@@ -636,6 +642,7 @@ class ListImage(command.Lister):
return parser
def take_action(self, parsed_args):
+ identity_client = self.app.client_manager.identity
image_client = self.app.client_manager.image
kwargs = {}
@@ -659,6 +666,14 @@ class ListImage(command.Lister):
kwargs['member_status'] = parsed_args.member_status
if parsed_args.tag:
kwargs['tag'] = parsed_args.tag
+ project_id = None
+ if parsed_args.project:
+ project_id = common.find_project(
+ identity_client,
+ parsed_args.project,
+ parsed_args.project_domain,
+ ).id
+ kwargs['owner'] = project_id
if parsed_args.long:
columns = (
'ID',