diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2013-07-03 16:46:00 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2013-07-17 15:10:22 -0500 |
| commit | 87104a28d75bd77df8b7ceb44600cd2b3971b4ae (patch) | |
| tree | 052d5afb5f66d344d6877dcfc30571148c1c94f0 /openstackclient/volume | |
| parent | aa81b8b8d538b81a21d1161dc047cb5374cfe060 (diff) | |
| download | python-openstackclient-87104a28d75bd77df8b7ceb44600cd2b3971b4ae.tar.gz | |
Add quota commands
* Add quota set and quota show commands; these work on both
the compute and volume APIs
* Add the --class variation on the above commands
Note: this replaces the existing volume-only quota commands and eliminates quota list
Blueprint: cinder-client
Bug: 1172064
Change-Id: I766d40e410e48f05e36e17e567a4f01a9411b40e
Diffstat (limited to 'openstackclient/volume')
| -rw-r--r-- | openstackclient/volume/v1/quota.py | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/openstackclient/volume/v1/quota.py b/openstackclient/volume/v1/quota.py deleted file mode 100644 index 4f4e97e8..00000000 --- a/openstackclient/volume/v1/quota.py +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright 2012-2013 OpenStack, LLC. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# - -"""Volume v1 Quota action implementations""" - -import logging -import sys - -from cliff import command -from cliff import show - -from openstackclient.common import utils - - -class ListQuota(show.ShowOne): - """List quota command""" - - api = 'volume' - log = logging.getLogger(__name__ + '.ListQuota') - - def get_parser(self, prog_name): - parser = super(ListQuota, self).get_parser(prog_name) - parser.add_argument( - 'tenant', - metavar='<tenant>', - help='ID of tenant to list the default quotas for') - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)' % parsed_args) - volume_client = self.app.client_manager.volume - defaults = volume_client.quotas.defaults(parsed_args.tenant) - - return zip(*sorted(defaults._info.iteritems())) - - -class SetQuota(command.Command): - """Set quota command""" - - api = 'volume' - log = logging.getLogger(__name__ + '.SetQuota') - - def get_parser(self, prog_name): - parser = super(SetQuota, self).get_parser(prog_name) - parser.add_argument( - 'tenant', - metavar='<tenant>', - help='ID of tenant to set the quotas for') - parser.add_argument( - '--volumes', - metavar='<new-volumes>', - type=int, - help='New value for the volumes quota') - parser.add_argument( - '--gigabytes', - metavar='<new-gigabytes>', - type=int, - help='New value for the gigabytes quota') - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)' % parsed_args) - - kwargs = {} - if parsed_args.volumes: - kwargs['volumes'] = parsed_args.volumes - if parsed_args.gigabytes: - kwargs['gigabytes'] = parsed_args.gigabytes - - if kwargs == {}: - sys.stdout.write("Quota not updated, no arguments present") - return - - volume_client = self.app.client_manager.volume - volume_client.quotas.update(parsed_args.tenant, - parsed_args.volumes, - parsed_args.gigabytes) - - return - - -class ShowQuota(show.ShowOne): - """Show quota command""" - - api = 'volume' - log = logging.getLogger(__name__ + '.ShowQuota') - - def get_parser(self, prog_name): - parser = super(ShowQuota, self).get_parser(prog_name) - parser.add_argument( - 'tenant', - metavar='<tenant>', - help='ID of tenant to list the quotas for') - return parser - - def take_action(self, parsed_args): - self.log.debug('take_action(%s)' % parsed_args) - volume_client = self.app.client_manager.volume - quota = utils.find_resource(volume_client.quotas, - parsed_args.tenant) - - return zip(*sorted(quota._info.iteritems())) |
