|
- {%- 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(object, lookup_key, output_key) -%}
- {%- set l = object.get(lookup_key, []) -%}
- {%- if l is not string -%}
- {%- for item in l -%}
- {{output_key}} = {{item}}
- {%- endfor -%}
- {%- endif -%}
- {%- 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 -%}
|