ソースを参照

Extract jinja macro

tags/v0.2.0
Nicolas Rodriguez 7年前
コミット
1820744c38
2個のファイルの変更28行の追加25行の削除
  1. +1
    -25
      syslog_ng/files/syslog-ng.conf
  2. +27
    -0
      syslog_ng/macro.jinja

+ 1
- 25
syslog_ng/files/syslog-ng.conf ファイルの表示

@@ -1,30 +1,6 @@
{%- from "syslog_ng/macro.jinja" import rule_builder -%}
{%- set syslog_config = pillar.get('syslog_ng', {}) -%}

{%- macro rule_builder(rule) -%}
{%- if rule is none -%}
{%- elif rule is sameas true -%}
yes
{%- elif rule is sameas false -%}
no
{%- elif rule is number -%}
{{ rule }}
{%- elif rule is mapping -%}
{%- for k, v in rule.items() -%}
{{ k }}({{ rule_builder(v) }})
{%- endfor -%}
{%- elif rule is iterable and rule is not string -%}
{%- for v in rule -%}
{{ rule_builder(v) }}
{%- endfor -%}
{%- else -%}
{%- if rule[0] == '=' -%}
{{ rule[1:] }}
{%- else -%}
"{{ rule }}"
{%- endif -%}
{%- endif -%}
{%- endmacro -%}

@version: {{ syslog_config.get('version', '3.3') }}

{%- for module in syslog_config.get('module', []) %}

+ 27
- 0
syslog_ng/macro.jinja ファイルの表示

@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# vim: ft=jinja

{%- macro rule_builder(rule) -%}
{%- if rule is none -%}
{%- elif rule is sameas true -%}
yes
{%- elif rule is sameas false -%}
no
{%- elif rule is number -%}
{{ rule }}
{%- elif rule is mapping -%}
{%- for k, v in rule.items() -%}
{{ k }}({{ rule_builder(v) }})
{%- endfor -%}
{%- elif rule is iterable and rule is not string -%}
{%- for v in rule -%}
{{ rule_builder(v) }}
{%- endfor -%}
{%- else -%}
{%- if rule[0] == '=' -%}
{{ rule[1:] }}
{%- else -%}
"{{ rule }}"
{%- endif -%}
{%- endif -%}
{%- endmacro -%}

読み込み中…
キャンセル
保存