summaryrefslogtreecommitdiff
path: root/openstackclient/common
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/common')
-rw-r--r--openstackclient/common/extension.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/openstackclient/common/extension.py b/openstackclient/common/extension.py
index a3f94c09..91ee228b 100644
--- a/openstackclient/common/extension.py
+++ b/openstackclient/common/extension.py
@@ -47,6 +47,11 @@ class ListExtension(lister.Lister):
action='store_true',
default=False,
help='List extensions for the Compute API')
+ parser.add_argument(
+ '--volume',
+ action='store_true',
+ default=False,
+ help='List extensions for the Volume API')
return parser
def take_action(self, parsed_args):
@@ -63,7 +68,8 @@ class ListExtension(lister.Lister):
# by default we want to show everything, unless the
# user specifies one or more of the APIs to show
# for now, only identity and compute are supported.
- show_all = (not parsed_args.identity and not parsed_args.compute)
+ show_all = (not parsed_args.identity and not parsed_args.compute
+ and not parsed_args.volume)
if parsed_args.identity or show_all:
identity_client = self.app.client_manager.identity
@@ -81,6 +87,14 @@ class ListExtension(lister.Lister):
message = "Extensions list not supported by Compute API"
self.log.warning(message)
+ if parsed_args.volume or show_all:
+ volume_client = self.app.client_manager.volume
+ try:
+ data += volume_client.list_extensions.show_all()
+ except Exception:
+ message = "Extensions list not supported by Volume API"
+ self.log.warning(message)
+
return (columns,
(utils.get_item_properties(
s, columns,