|
|
@@ -0,0 +1,32 @@ |
|
|
|
{%- macro output_if_set(object, lookup_key, output_key) %} |
|
|
|
{%- if object.get(lookup_key) %} |
|
|
|
{{output_key}} = {{object.get('lookup_key')}} |
|
|
|
{%- endif %} |
|
|
|
{%- endmacro %} |
|
|
|
{%- macro output_list_if_set(lookup_key, output_key) %} |
|
|
|
{%- for item in object.get(lookup_key, []) %} |
|
|
|
{{output_key}} = {{item}} |
|
|
|
{%- for %} |
|
|
|
{%- endmacro %} |
|
|
|
[Interface] |
|
|
|
{{ output_list_if_set(interface, 'address', 'Address') %} |
|
|
|
{{ output_if_set(interface, 'listenport', 'ListenPort') %} |
|
|
|
{{ output_list_if_set(interface, 'dns', 'DNS') %} |
|
|
|
{{ output_if_set(interface, 'mtu', 'MTU') %} |
|
|
|
{{ output_if_set(interface, 'privatekey', 'PrivateKey') %} |
|
|
|
{{ output_if_set(interface, 'table', 'Table') %} |
|
|
|
{{ output_if_set(interface, 'preup', 'PreUp') %} |
|
|
|
{{ output_if_set(interface, 'postup', 'PostUp') %} |
|
|
|
{{ output_if_set(interface, 'predown', 'PreDown') %} |
|
|
|
{{ output_if_set(interface, 'postdown', 'PostDown') %} |
|
|
|
{{ output_if_set(interface, 'saveconfig', 'SaveConfig') %} |
|
|
|
{{ output_if_set(interface, 'fwmark', 'FwMark') %} |
|
|
|
|
|
|
|
{%- for peer in interface.get('peers', []) %} |
|
|
|
[Peer] |
|
|
|
{{ output_if_set(peer, 'publickey', 'PublicKey') %} |
|
|
|
{{ output_if_set(peer, 'presharedkey', 'PresharedKey') %} |
|
|
|
{{ output_list_if_set(peer, 'allowedips', 'AllowedIPs') %} |
|
|
|
{{ output_if_set(peer, 'endpoint', 'Endpoint') %} |
|
|
|
{{ output_if_set(peer, 'persistentkeepalive', 'PersistentKeepalive') %} |
|
|
|
{%- endfor %} |