diff options
author | Thomas Herve <thomas.herve@enovance.com> | 2014-03-14 10:51:45 +0100 |
---|---|---|
committer | Thomas Herve <thomas.herve@enovance.com> | 2014-03-25 11:20:54 +0100 |
commit | 493acc929b45d128cb15ecc646d30ba11c9bfd8f (patch) | |
tree | 46c8f2da9d26e5a9e1fede7f62cbd2ff6df4fbf1 /heatclient/common/template_utils.py | |
parent | a016c15219062b0220ece16f1b8ff4a175965331 (diff) | |
download | python-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.py | 19 |
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): |