Skip to content

Commit 984169f

Browse files
authored
Merge pull request #4 from EvaSDK/master
Switch template to jinja
2 parents 4b877eb + 3399595 commit 984169f

File tree

2 files changed

+55
-49
lines changed

2 files changed

+55
-49
lines changed

syslog_ng/config.sls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ syslog_ng.conf:
77
file.managed:
88
- name: {{ syslog_ng.syslog_ng_config }}
99
- source: {{ syslog_ng.syslog_ng_config_src }}
10-
- template: mako
10+
- template: jinja
1111
- user: root
1212
- group: root
1313
- mode: 644

syslog_ng/files/syslog-ng.conf

Lines changed: 54 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,62 @@
1-
<% syslog_config = pillar.get('syslog_ng', {}) %>\
2-
<%!
3-
def rule_builder(rule):
4-
if rule is None:
5-
return ''
6-
elif type(rule) is bool:
7-
return {True: 'yes', False: 'no'}[rule]
8-
elif type(rule) is int:
9-
return rule
10-
elif type(rule) is list:
11-
return ' '.join([rule_builder(v) for v in rule])
12-
elif type(rule) is dict:
13-
return ' '.join([ '%s(%s)' % (k,rule_builder(v)) for k, v in rule.items()])
14-
else:
15-
if rule[0] == '=':
16-
return rule[1:]
17-
return '"%s"' % rule
18-
%>\
19-
20-
@version: ${ syslog_config.get('version', '3.3') }
21-
22-
% for module in syslog_config.get('module', []):
23-
@module ${ rule_builder(module) }
24-
% endfor
25-
26-
% for inc in syslog_config.get('include', []):
27-
@include ${ rule_builder(inc) }
28-
% endfor
29-
1+
{%- set syslog_config = pillar.get('syslog_ng', {}) -%}
2+
3+
{%- macro rule_builder(rule) -%}
4+
{%- if rule is none -%}
5+
{%- elif rule is sameas true -%}
6+
yes
7+
{%- elif rule is sameas false -%}
8+
no
9+
{%- elif rule is number -%}
10+
{{ rule }}
11+
{%- elif rule is mapping -%}
12+
{%- for k, v in rule.items() -%}
13+
{{ k }}({{ rule_builder(v) }})
14+
{%- endfor -%}
15+
{%- elif rule is iterable and rule is not string -%}
16+
{%- for v in rule -%}
17+
{{ rule_builder(v) }}
18+
{%- endfor -%}
19+
{%- else -%}
20+
{%- if rule[0] == '=' -%}
21+
{{ rule[1:] }}
22+
{%- else -%}
23+
"{{ rule }}"
24+
{%- endif -%}
25+
{%- endif -%}
26+
{%- endmacro -%}
27+
28+
@version: {{ syslog_config.get('version', '3.3') }}
29+
30+
{%- for module in syslog_config.get('module', []) %}
31+
@module {{ rule_builder(module) }}
32+
{%- endfor %}
33+
34+
{%- for inc in syslog_config.get('include', []) %}
35+
@include {{ rule_builder(inc) }}
36+
{%- endfor %}
3037

3138
options {
32-
% for rule in syslog_config.get('options', []):
33-
${ rule_builder(rule) };
34-
% endfor
39+
{%- for rule in syslog_config.get('options', []) %}
40+
{{ rule_builder(rule) }};
41+
{%- endfor %}
3542
};
3643

37-
% for obj in ('source', 'destination', 'filter', 'parser', 'rewrite', 'template'):
38-
% for params in syslog_config.get(obj, []):
39-
% for name, rules in params.items():
40-
${ obj } ${ name } {
41-
% for rule in rules:
42-
${ rule_builder(rule) };
43-
% endfor
44+
{%- for obj in ('source', 'destination', 'filter', 'parser', 'rewrite', 'template') %}
45+
{%- for params in syslog_config.get(obj, []) %}
46+
{% for name, rules in params.items() %}
47+
{{ obj }} {{ name }} {
48+
{%- for rule in rules %}
49+
{{ rule_builder(rule) }};
50+
{%- endfor %}
4451
};
52+
{%- endfor %}
53+
{%- endfor %}
54+
{%- endfor %}
4555

46-
% endfor
47-
% endfor
48-
49-
% endfor
50-
% for loggers in syslog_config.get('log', []):
56+
{% for loggers in syslog_config.get('log', []) -%}
5157
log {
52-
% for rule in loggers:
53-
${ rule_builder(rule) };
54-
% endfor
58+
{%- for rule in loggers %}
59+
{{ rule_builder(rule) }};
60+
{%- endfor %}
5561
};
56-
% endfor
62+
{%- endfor %}

0 commit comments

Comments
 (0)