summaryrefslogtreecommitdiff
path: root/heatclient/common/template_utils.py
diff options
context:
space:
mode:
authorThomas Herve <thomas.herve@enovance.com>2014-03-14 10:51:45 +0100
committerThomas Herve <thomas.herve@enovance.com>2014-03-25 11:20:54 +0100
commit493acc929b45d128cb15ecc646d30ba11c9bfd8f (patch)
tree46c8f2da9d26e5a9e1fede7f62cbd2ff6df4fbf1 /heatclient/common/template_utils.py
parenta016c15219062b0220ece16f1b8ff4a175965331 (diff)
downloadpython-heatclient-493acc929b45d128cb15ecc646d30ba11c9bfd8f.tar.gz
Resolve files in resource types
This adds a new step resolving files in Resource type, allowing to embed templates directly in stack files and referencing them in types. Change-Id: I147894e51505b01ebfc3e1de982f20a45471c5cd Closes-Bug: #1291445
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):