feat(config): add support for switch type parameters

In config file render only key name if key value is boolean and it is 'true'
This commit is contained in:
Hatifnatt 2020-11-26 15:11:24 +03:00
parent a82e3efa7c
commit 20d67c13a1
2 changed files with 10 additions and 1 deletions

View File

@ -30,7 +30,12 @@
{%- if item[value] is string or item[value] is not iterable -%} {%- if item[value] is string or item[value] is not iterable -%}
{%- set forwardIndent = 0 -%} {%- set forwardIndent = 0 -%}
{%- endif -%} {%- endif -%}
{{- item[key]|indent(carryIndent, True) }} {{ print_config(item[value], recurse=recurse, indent=forwardIndent) -}} {%- if item[value] is sameas true %}
{#- If curent parameter is boolen type like nopreempt, dont_track_primary, etc. just print its name -#}
{{- item[key]|indent(carryIndent, True) }}{{ '\n' -}}
{%- else %}
{{- item[key]|indent(carryIndent, True) }} {{ print_config(item[value], recurse=recurse, indent=forwardIndent) -}}
{%- endif %}
{%- endif -%} {%- endif -%}
{%- endfor -%} {%- endfor -%}
{%- else -%} {%- else -%}

View File

@ -39,6 +39,10 @@ keepalived:
virtual_router_id: 51 virtual_router_id: 51
priority: 100 priority: 100
advert_int: 1 advert_int: 1
# switch type parameters must be defined as boolean: true / false
# 1 / 0 values will be treated as numbers
# nopreempt: true
# dont_track_primary: true
authentication: authentication:
auth_type: PASS auth_type: PASS
auth_pass: 1111 auth_pass: 1111