summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2013-03-11 15:08:49 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2013-03-11 15:12:01 -0500
commit211a4bcbf2bb875df490839ab91e8d7a5f1fafd0 (patch)
treeb33052ba2a7b01b1d02582826169b47e58e18553 /openstackclient
parent1ddc30100f863c223f3ebef0ca0e56e9c8a9cfbb (diff)
downloadpython-openstackclient-211a4bcbf2bb875df490839ab91e8d7a5f1fafd0.tar.gz
Add optional arguments to volume list command
Added --name, --all-tenants, and --status as search params Change-Id: Ibaa2a7f6862c2ff7dbe24f6bea971db3e70bc120
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/volume/v1/volume.py34
1 files changed, 32 insertions, 2 deletions
diff --git a/openstackclient/volume/v1/volume.py b/openstackclient/volume/v1/volume.py
index 6b0d7cd6..6e110a4a 100644
--- a/openstackclient/volume/v1/volume.py
+++ b/openstackclient/volume/v1/volume.py
@@ -154,10 +154,40 @@ class ListVolume(lister.Lister):
api = 'volume'
log = logging.getLogger(__name__ + '.ListVolume')
+ def get_parser(self, prog_name):
+ parser = super(ListVolume, self).get_parser(prog_name)
+ parser.add_argument(
+ '--status',
+ metavar='<status>',
+ help='Filter results by status',
+ )
+ parser.add_argument(
+ '--name',
+ metavar='<name>',
+ help='Filter results by name',
+ )
+ parser.add_argument(
+ '--all-tenants',
+ action='store_true',
+ default=False,
+ help='Display information from all tenants (Admin-only)',
+ )
+ return parser
+
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
- columns = ('ID', 'Status', 'Display Name', 'Size', 'Volume Type')
- data = self.app.client_manager.volume.volumes.list()
+ columns = ('ID', 'Status', 'Display Name', 'Size',
+ 'Volume Type', 'Bootable', 'Attached to')
+
+ search_opts = {
+ 'all_tenants': parsed_args.all_tenants,
+ 'display_name': parsed_args.name,
+ 'status': parsed_args.status,
+ }
+
+ volume_client = self.app.client_manager.volume
+ data = volume_client.volumes.list(search_opts=search_opts)
+
return (columns,
(utils.get_item_properties(
s, columns,