You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
{% macro fluentd_option_block(name, values, padding = 2) -%}
|
|
{% if values is mapping -%}
|
|
{% set postfix = '' if values.__postfix is not defined else (' ' + values.__postfix) -%}
|
|
|
|
<{{ name ~ postfix}}>
|
|
{% for option in values | dict2items -%}
|
|
{% if option.key != '__postfix' -%}
|
|
{{ '' if padding == 0 else (' ' * padding) -}}
|
|
{% if option.value is mapping -%}
|
|
{{ fluentd_option_block(option.key, option.value, padding + 2) -}}
|
|
{% else -%}
|
|
{% if option.key[0] == '_' -%}
|
|
{{ '@' ~ option.key[1:] }} {{ option.value }}
|
|
{% else -%}
|
|
{{ option.key }} {{ option.value }}
|
|
{% endif -%}
|
|
{% endif -%}
|
|
{% endif -%}
|
|
{% endfor -%}
|
|
{{ '' if padding == 0 else (' ' * (padding - 2)) -}}</{{ name }}>
|
|
{% endif -%}
|
|
{% endmacro -%}
|
|
|
|
|
|
|
|
{{ fluentd_option_block('system', fluentd_system | d(None)) }}
|
|
|
|
|
|
{% for source in (fluentd_sources | d([])) + (groups['all'] | map('extract', hostvars) | selectattr('fluentd_source', 'mapping') | map(attribute='fluentd_source') | list) -%}
|
|
{{ fluentd_option_block('source', source) }}
|
|
{% endfor -%}
|
|
|
|
|
|
{% for filter in (fluentd_filters | d([])) -%}
|
|
{{ fluentd_option_block('filter', filter) }}
|
|
{% endfor -%}
|
|
|
|
|
|
{% for match in (fluentd_matches | d([])) -%}
|
|
{{ fluentd_option_block('match', match) }}
|
|
{% endfor -%}
|
|
|