summaryrefslogtreecommitdiff
path: root/heatclient/common/template_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'heatclient/common/template_utils.py')
-rw-r--r--heatclient/common/template_utils.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/heatclient/common/template_utils.py b/heatclient/common/template_utils.py
index 119faf1..2869899 100644
--- a/heatclient/common/template_utils.py
+++ b/heatclient/common/template_utils.py
@@ -58,6 +58,7 @@ def get_template_contents(template_file=None, template_url=None,
files = {}
tmpl_base_url = base_url_for_url(template_url)
resolve_template_get_files(template, files, tmpl_base_url)
+ resolve_template_type(template, files, tmpl_base_url)
return files, template
@@ -76,6 +77,24 @@ def resolve_template_get_files(template, files, template_base_url):
ignore_if, recurse_if)
+def resolve_template_type(template, files, template_base_url):
+
+ def ignore_if(key, value):
+ if key != 'type':
+ return True
+ if not isinstance(value, six.string_types):
+ return True
+ if not value.endswith(('.yaml', '.template')):
+ return True
+ return False
+
+ def recurse_if(value):
+ return isinstance(value, (dict, list))
+
+ get_file_contents(template, files, template_base_url,
+ ignore_if, recurse_if)
+
+
def get_file_contents(from_data, files, base_url=None,
ignore_if=None, recurse_if=None):