diff --git a/keepalived/templates/config.jinja b/keepalived/templates/config.jinja index c7754c3..f46e018 100644 --- a/keepalived/templates/config.jinja +++ b/keepalived/templates/config.jinja @@ -5,7 +5,13 @@ {%- for key, value in data.iteritems() -%} {{ key }} {{ keepalived_config(value) }} {%- endfor -%} - {%- else -%} + {%- elif data is string or data is number -%} {{ data }}{{ '\n' }} + {%- else -%} +{{ '{\n' }} + {%- for value in data -%} +{{ keepalived_config(value) }} + {%- endfor -%} +{{ '}\n' }} {%- endif -%} {%- endmacro -%} diff --git a/test/test_keepalived_config.py b/test/test_keepalived_config.py index e72ebc3..d8add52 100755 --- a/test/test_keepalived_config.py +++ b/test/test_keepalived_config.py @@ -39,5 +39,10 @@ class TestKeepalivedConfiguration(unittest.TestCase): result = 'flintstone fred\n' self.renderTest(testdata, result) + def test_key_array_pair(self): + testdata = {'flintstone': ['fred', 'wilma', 'pebbles']} + result = 'flintstone {\nfred\nwilma\npebbles\n}\n' + self.renderTest(testdata, result) + if __name__ == '__main__': unittest.main()