diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-04-19 06:15:08 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-04-19 06:15:08 +0000 |
| commit | 61fb68e8b3203ee9b8cfb0c95857f36bd81351a4 (patch) | |
| tree | 6510dbdde5ae972d7c3e02bd22b8ae7cb3bb55b3 /openstackclient/common | |
| parent | a5e79d58ae508e218a113bfa3976fae369980688 (diff) | |
| parent | 77e3fbae1a866e05219d272f9c3bdbaaa8030854 (diff) | |
| download | python-openstackclient-61fb68e8b3203ee9b8cfb0c95857f36bd81351a4.tar.gz | |
Merge "Add support for showing limits of a specific project"
Diffstat (limited to 'openstackclient/common')
| -rw-r--r-- | openstackclient/common/limits.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/openstackclient/common/limits.py b/openstackclient/common/limits.py index 9c9458ab..4abcf169 100644 --- a/openstackclient/common/limits.py +++ b/openstackclient/common/limits.py @@ -21,6 +21,7 @@ import logging from cliff import lister from openstackclient.common import utils +from openstackclient.identity import common as identity_common class ShowLimits(lister.Lister): @@ -49,6 +50,18 @@ class ShowLimits(lister.Lister): action="store_true", default=False, help="Include reservations count [only valid with --absolute]") + parser.add_argument( + '--project', + metavar='<project>', + help='Show limits for a specific project (name or ID)' + ' [only valid with --absolute]', + ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain that owns --project (name or ID)' + ' [only valid with --absolute]', + ) return parser def take_action(self, parsed_args): @@ -57,7 +70,21 @@ class ShowLimits(lister.Lister): compute_client = self.app.client_manager.compute volume_client = self.app.client_manager.volume - compute_limits = compute_client.limits.get(parsed_args.is_reserved) + project_id = None + if parsed_args.project is not None: + identity_client = self.app.client_manager.identity + if parsed_args.domain is not None: + domain = identity_common.find_domain(identity_client, + parsed_args.domain) + project_id = utils.find_resource(identity_client.projects, + parsed_args.project, + domain_id=domain.id).id + else: + project_id = utils.find_resource(identity_client.projects, + parsed_args.project).id + + compute_limits = compute_client.limits.get(parsed_args.is_reserved, + tenant_id=project_id) volume_limits = volume_client.limits.get() if parsed_args.is_absolute: |
