From 34f1bb34a50094bfc13034a03e364017ee2e1151 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Mon, 25 Jun 2012 14:15:51 +0100 Subject: [PATCH] heat API : Align DescribeStacks response with AWS docs Reformat the DescribeStacks response to more closely align with the AWS API spec - boto parses the result correctly with these changes. Ref #125 Change-Id: I23b270c040653f404014807de79c85b2ab63c85f Signed-off-by: Steven Hardy --- heat/api/v1/stacks.py | 6 ++++++ heat/engine/manager.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/heat/api/v1/stacks.py b/heat/api/v1/stacks.py index 9f52831604..f0c4342f01 100644 --- a/heat/api/v1/stacks.py +++ b/heat/api/v1/stacks.py @@ -98,6 +98,12 @@ class StackController(object): res = {'DescribeStacksResult': {'Stacks': []}} stacks = res['DescribeStacksResult']['Stacks'] for s in stack_list['stacks']: + # Reformat Parameters dict-of-dict into AWS API format + # This is a list-of-dict with nasty "ParameterKey" : key + # "ParameterValue" : value format. + s['Parameters'] = [{'ParameterKey':k, + 'ParameterValue':v.get('Default')} + for (k, v) in s['Parameters'].items()] stacks.append(self._stackid_addprefix(s)) return res diff --git a/heat/engine/manager.py b/heat/engine/manager.py index fd8b44a5e1..088f9167e7 100644 --- a/heat/engine/manager.py +++ b/heat/engine/manager.py @@ -130,7 +130,7 @@ class EngineManager(manager.Manager): mem['NotificationARNs'] = 'TODO' mem['Parameters'] = ps.t['Parameters'] mem['TimeoutInMinutes'] = ps.t.get('Timeout', '60') - mem['TemplateDescription'] = ps.t.get('Description', + mem['Description'] = ps.t.get('Description', 'No description') mem['StackStatus'] = s.status mem['StackStatusReason'] = s.status_reason