From 3f340cd81899ee661224652caac9dc0ce04368fa Mon Sep 17 00:00:00 2001 From: Jay Dobies Date: Mon, 18 Jan 2016 11:38:12 -0500 Subject: [PATCH] Add client library support for retrieving a stack's environment Change-Id: I84aa5ed9dc2b8aee089de3b1e1810552b8f2dd96 Depends-On: I7e3577dfc854018245d79afdfee45a9d250d73a7 Implements: blueprint environment-show --- heatclient/tests/unit/test_stacks.py | 6 ++++++ heatclient/v1/stacks.py | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/heatclient/tests/unit/test_stacks.py b/heatclient/tests/unit/test_stacks.py index 9b6d4e70..c4544517 100644 --- a/heatclient/tests/unit/test_stacks.py +++ b/heatclient/tests/unit/test_stacks.py @@ -150,6 +150,12 @@ class StackOperationsTest(testtools.TestCase): manager.output_show.assert_called_once_with('the_stack/abcd1234', 'out123') + def test_environment_show(self): + manager = mock.MagicMock() + stack = mock_stack(manager, 'env_stack', 'env1') + stack.environment() + manager.environment.assert_called_once_with('env_stack/env1') + class StackManagerNoPaginationTest(testtools.TestCase): diff --git a/heatclient/v1/stacks.py b/heatclient/v1/stacks.py index 5d6ecafe..b641b503 100644 --- a/heatclient/v1/stacks.py +++ b/heatclient/v1/stacks.py @@ -60,6 +60,9 @@ class Stack(base.Resource): def output_show(self, output_key): return self.manager.output_show(self.identifier, output_key) + def environment(self): + return self.manager.environment(self.identifier) + def get(self): # set_loaded() first ... so if we have to bail, we know we tried. self._loaded = True @@ -274,6 +277,16 @@ class StackManager(StackChildManager): body = utils.get_response_body(resp) return body + def environment(self, stack_id): + """Returns the environment for an existing stack. + + :param stack_id: identifies the stack + :return: + """ + resp = self.client.get('/stacks/%s/environment' % stack_id) + body = utils.get_response_body(resp) + return body + def validate(self, **kwargs): """Validate a stack template."""