{%- set header = salt['pillar.get']('managed_header_pound') -%} {%- set myfqdn = salt['grains.get']('fqdn') -%} {%- set mypillar = 'profile:matterbridge:instances:' ~ instance ~ ':' -%} {%- set myaccounts = mypillar ~ 'accounts' -%} {%- set mygateways = mypillar ~ 'gateways' -%} {%- set generalopts = ['RemoteNickFormat', 'IgnoreFailureOnStart', 'MessageSplit', 'MediaDownloadSize', 'MediaDownloadPath', 'MediaServerDownload', 'LogFile'] -%} {%- set accountopts = ['Nick', 'NickServNick', 'NickServPassword', 'Server', 'UseTLS', 'UseSASL', 'Label', 'Charset', 'IgnoreNicks', 'RunCommands', 'UseRelayMsg', 'RemoteNickFormat'] -%} {{ header }} [general] {% for option in generalopts %} {%- if salt['pillar.get'](mypillar ~ option, None) != None %} {{ option }}="{{ salt['pillar.get'](mypillar ~ option) }}" {%- endif -%} {%- endfor -%} {% for account, config in salt['pillar.get'](myaccounts).items() %} [{{ config['protocol'] }}.{{ account }}] {%- for option in accountopts %} {%- if salt['pillar.get'](myaccounts ~ ':' ~ account ~ ':' ~ option, None) != None %} {{ option }}="{{ config[option] }}" {%- endif -%} {% endfor %} {% endfor -%} {% for gateway, config in salt['pillar.get'](mygateways).items() %} [[gateway]] name="{{ gateway }}" enable=true {% for account, channel in config.items() %} [[gateway.inout]] account="{{ account }}" channel="{{ channel }}" {% endfor %} {%- endfor -%}