diff options
author | Brenton Leanhardt <bleanhar@redhat.com> | 2016-01-12 10:39:25 -0500 |
---|---|---|
committer | Brenton Leanhardt <bleanhar@redhat.com> | 2016-01-12 10:39:25 -0500 |
commit | ec643bee6b4de6d26f5aea346d73e8158f10939e (patch) | |
tree | 8bac63b1372a3f5691d7433bb605e5038b823953 /filter_plugins/oo_filters.py | |
parent | f648f7111efdb16059996667730c7c9b423d75d7 (diff) | |
parent | 4725d3509e1315ad671a77d355c7a5328578390b (diff) | |
download | openshift-ec643bee6b4de6d26f5aea346d73e8158f10939e.tar.gz openshift-ec643bee6b4de6d26f5aea346d73e8158f10939e.tar.bz2 openshift-ec643bee6b4de6d26f5aea346d73e8158f10939e.tar.xz openshift-ec643bee6b4de6d26f5aea346d73e8158f10939e.zip |
Merge pull request #1148 from LutzLange/master
Fix for providing cloud-provider arguments with multiline yaml capability
Diffstat (limited to 'filter_plugins/oo_filters.py')
-rw-r--r-- | filter_plugins/oo_filters.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/filter_plugins/oo_filters.py b/filter_plugins/oo_filters.py index 326c36f6c..c262693ec 100644 --- a/filter_plugins/oo_filters.py +++ b/filter_plugins/oo_filters.py @@ -12,6 +12,8 @@ import os import pdb import re import json +import yaml +from ansible.utils.unicode import to_unicode class FilterModule(object): ''' Custom ansible filters ''' @@ -474,6 +476,16 @@ class FilterModule(object): secret = os.urandom(num_bytes) return secret.encode('base-64').strip() + @staticmethod + def to_padded_yaml(data, level=0, indent=2, **kw): + ''' returns a yaml snippet padded to match the indent level you specify ''' + try: + transformed = yaml.safe_dump(data, indent=indent, allow_unicode=True, default_flow_style=False, **kw) + padded = "\n".join([" " * level * indent + line for line in transformed.splitlines()]) + return to_unicode("\n{0}".format(padded)) + except Exception as my_e: + raise errors.AnsibleFilterError('Failed to convert: %s', my_e) + def filters(self): ''' returns a mapping of filters to methods ''' return { @@ -493,5 +505,6 @@ class FilterModule(object): "oo_parse_named_certificates": self.oo_parse_named_certificates, "oo_haproxy_backend_masters": self.oo_haproxy_backend_masters, "oo_pretty_print_cluster": self.oo_pretty_print_cluster, - "oo_generate_secret": self.oo_generate_secret + "oo_generate_secret": self.oo_generate_secret, + "to_padded_yaml": self.to_padded_yaml, } |