Allow yaml templates for cloud formation

Fixes #912
This commit is contained in:
Jack Danger Canty 2017-05-01 11:28:35 -07:00
commit bf3fff6e2c
2 changed files with 23 additions and 1 deletions

View file

@ -1,6 +1,7 @@
from __future__ import unicode_literals
from datetime import datetime
import json
import yaml
import uuid
import boto.cloudformation
@ -17,7 +18,7 @@ class FakeStack(BaseModel):
self.stack_id = stack_id
self.name = name
self.template = template
self.template_dict = json.loads(self.template)
self._parse_template()
self.parameters = parameters
self.region_name = region_name
self.notification_arns = notification_arns if notification_arns else []
@ -70,6 +71,12 @@ class FakeStack(BaseModel):
resource_properties=resource_properties,
))
def _parse_template(self):
try:
self.template_dict = json.loads(self.template)
except json.JSONDecodeError:
self.template_dict = yaml.load(self.template)
@property
def stack_parameters(self):
return self.resource_map.resolved_parameters