diff --git a/doc/source/command-objects/quota.rst b/doc/source/command-objects/quota.rst index 053fb47a..5ea49f8c 100644 --- a/doc/source/command-objects/quota.rst +++ b/doc/source/command-objects/quota.rst @@ -30,6 +30,7 @@ Set quotas for project [--gigabytes ] [--snapshots ] [--volumes ] + [--volume-type ] @@ -121,6 +122,10 @@ Set quotas for class New value for the snapshots quota +.. option:: --volume-type + + Set quotas for a specific + quota show ---------- diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index dde4a9ac..ea1dc38f 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -82,6 +82,11 @@ class SetQuota(command.Command): type=int, help='New value for the %s quota' % v, ) + parser.add_argument( + '--volume-type', + metavar='', + help='Set quotas for a specific ', + ) return parser def take_action(self, parsed_args): @@ -97,8 +102,11 @@ class SetQuota(command.Command): volume_kwargs = {} for k, v in VOLUME_QUOTAS.items(): - if v in parsed_args: - volume_kwargs[k] = getattr(parsed_args, v, None) + value = getattr(parsed_args, v, None) + if value is not None: + if parsed_args.volume_type: + k = k + '_%s' % parsed_args.volume_type + volume_kwargs[k] = value if compute_kwargs == {} and volume_kwargs == {}: sys.stderr.write("No quotas updated")