Skip to content

Commit 211a4bc

Browse files
author
Steve Martinelli
committed
Add optional arguments to volume list command
Added --name, --all-tenants, and --status as search params Change-Id: Ibaa2a7f6862c2ff7dbe24f6bea971db3e70bc120
1 parent 1ddc301 commit 211a4bc

1 file changed

Lines changed: 32 additions & 2 deletions

File tree

openstackclient/volume/v1/volume.py

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,40 @@ class ListVolume(lister.Lister):
154154
api = 'volume'
155155
log = logging.getLogger(__name__ + '.ListVolume')
156156

157+
def get_parser(self, prog_name):
158+
parser = super(ListVolume, self).get_parser(prog_name)
159+
parser.add_argument(
160+
'--status',
161+
metavar='<status>',
162+
help='Filter results by status',
163+
)
164+
parser.add_argument(
165+
'--name',
166+
metavar='<name>',
167+
help='Filter results by name',
168+
)
169+
parser.add_argument(
170+
'--all-tenants',
171+
action='store_true',
172+
default=False,
173+
help='Display information from all tenants (Admin-only)',
174+
)
175+
return parser
176+
157177
def take_action(self, parsed_args):
158178
self.log.debug('take_action(%s)' % parsed_args)
159-
columns = ('ID', 'Status', 'Display Name', 'Size', 'Volume Type')
160-
data = self.app.client_manager.volume.volumes.list()
179+
columns = ('ID', 'Status', 'Display Name', 'Size',
180+
'Volume Type', 'Bootable', 'Attached to')
181+
182+
search_opts = {
183+
'all_tenants': parsed_args.all_tenants,
184+
'display_name': parsed_args.name,
185+
'status': parsed_args.status,
186+
}
187+
188+
volume_client = self.app.client_manager.volume
189+
data = volume_client.volumes.list(search_opts=search_opts)
190+
161191
return (columns,
162192
(utils.get_item_properties(
163193
s, columns,

0 commit comments

Comments
 (0)