summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Dobies <jason.dobies@redhat.com>2016-01-18 11:38:12 -0500
committerJay Dobies <jason.dobies@redhat.com>2016-04-18 13:31:21 -0400
commit3f340cd81899ee661224652caac9dc0ce04368fa (patch)
tree10a48a70103b5393593d3a68f64a22b25a3d2986
parent726415e43c09ccac3d7090745a72bc6dbdb12238 (diff)
downloadpython-heatclient-3f340cd81899ee661224652caac9dc0ce04368fa.tar.gz
Add client library support for retrieving a stack's environment
Change-Id: I84aa5ed9dc2b8aee089de3b1e1810552b8f2dd96 Depends-On: I7e3577dfc854018245d79afdfee45a9d250d73a7 Implements: blueprint environment-show
-rw-r--r--heatclient/tests/unit/test_stacks.py6
-rw-r--r--heatclient/v1/stacks.py13
2 files changed, 19 insertions, 0 deletions
diff --git a/heatclient/tests/unit/test_stacks.py b/heatclient/tests/unit/test_stacks.py
index 9b6d4e7..c454451 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 5d6ecaf..b641b50 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."""