summaryrefslogtreecommitdiff
path: root/heatclient/osc
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-06-08 13:02:40 +0100
committerSteven Hardy <shardy@redhat.com>2016-07-21 22:58:36 +0100
commit3ae1c3e7159b5a9f02f81638efc87afa137c7a31 (patch)
treeb25a0229bc15664e9bce6e04d9e1239dbcffbc5f /heatclient/osc
parent1c85ce9f5ae8da5eee987f99872c0d1aa9fb0f3c (diff)
downloadpython-heatclient-3ae1c3e7159b5a9f02f81638efc87afa137c7a31.tar.gz
Add support for stack file list
This shows the files map for a given stack Depends-On: I3198b6a7dc06648af24c198d39470f3b0d5d6f11 Change-Id: Ib7d033a660fe294bf3f7b42e4aa7020149ce24c1 blueprint: files-show
Diffstat (limited to 'heatclient/osc')
-rw-r--r--heatclient/osc/v1/stack.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/heatclient/osc/v1/stack.py b/heatclient/osc/v1/stack.py
index 79203ce..5ecf843 100644
--- a/heatclient/osc/v1/stack.py
+++ b/heatclient/osc/v1/stack.py
@@ -543,6 +543,34 @@ class EnvironmentShowStack(format_utils.YamlFormat):
return columns, data
+class ListFileStack(format_utils.YamlFormat):
+ """Show a stack's files map."""
+
+ log = logging.getLogger(__name__)
+
+ def get_parser(self, prog_name):
+ parser = super(ListFileStack, self).get_parser(prog_name)
+ parser.add_argument(
+ 'stack',
+ metavar='<NAME or ID>',
+ help=_('Name or ID of stack to query')
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ self.log.debug('take_action(%s)', parsed_args)
+
+ client = self.app.client_manager.orchestration
+
+ try:
+ files = client.stacks.files(stack_id=parsed_args.stack)
+ except heat_exc.HTTPNotFound:
+ msg = _('Stack not found: %s') % parsed_args.stack
+ raise exc.CommandError(msg)
+
+ return ['files'], [files]
+
+
def _list(client, args=None):
kwargs = {}
columns = [