summaryrefslogtreecommitdiff
path: root/cinderclient
diff options
context:
space:
mode:
Diffstat (limited to 'cinderclient')
-rw-r--r--cinderclient/tests/unit/v2/test_shell.py4
-rw-r--r--cinderclient/v2/shell.py19
2 files changed, 23 insertions, 0 deletions
diff --git a/cinderclient/tests/unit/v2/test_shell.py b/cinderclient/tests/unit/v2/test_shell.py
index 04f0955..0775f0c 100644
--- a/cinderclient/tests/unit/v2/test_shell.py
+++ b/cinderclient/tests/unit/v2/test_shell.py
@@ -556,6 +556,10 @@ class ShellTest(utils.TestCase):
self.run_command('type-list')
self.assert_called_anytime('GET', '/types?is_public=None')
+ def test_type_show(self):
+ self.run_command('type-show 1')
+ self.assert_called('GET', '/types/1')
+
def test_type_create(self):
self.run_command('type-create test-type-1')
self.assert_called('POST', '/types')
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py
index 9b2ac88..9940d24 100644
--- a/cinderclient/v2/shell.py
+++ b/cinderclient/v2/shell.py
@@ -66,6 +66,11 @@ def _find_volume_snapshot(cs, snapshot):
return utils.find_resource(cs.volume_snapshots, snapshot)
+def _find_vtype(cs, vtype):
+ """Gets a volume type by name or ID."""
+ return utils.find_resource(cs.volume_types, vtype)
+
+
def _find_backup(cs, backup):
"""Gets a backup by name or ID."""
return utils.find_resource(cs.backups, backup)
@@ -828,6 +833,20 @@ def do_type_default(cs, args):
_print_volume_type_list([vtype])
+@utils.arg('volume_type',
+ metavar='<volume_type>',
+ help='Name or ID of the volume type.')
+@utils.service_type('volumev2')
+def do_type_show(cs, args):
+ """Show volume type details."""
+ vtype = _find_vtype(cs, args.volume_type)
+ info = dict()
+ info.update(vtype._info)
+
+ info.pop('links', None)
+ utils.print_dict(info)
+
+
@utils.arg('id',
metavar='<id>',
help='ID of the volume type.')