regex
  • ansible
  • jinja2
  • curly-braces
  • 2017-06-19 163 views -1 likes 
    -1

    我正在寫一個劇本Ansible配置網絡組合的seccession,我有我的劇本以下Jinja2的模板文件:Ansible逃避花括號

    DEVICE=team0 
    DEVICETYPE=Team 
    ONBOOT=yes 
    BOOTPROTO=none 
    IPADDR="{{ ip }}" 
    PREFIX="{{ prefix }}" 
    GATEWAY="{{ gateway }}" 
    TEAM_CONFIG='{"runner": {"name": "loadbalance"}, "tx_hash": ["eth", "ipv4"], "ports": {{{ ports_list | join(', ') }}}, "link_watch": {"name": "ethtool"}}' 
    

    我想知道是有辦法逃避「ports」的第一個大括號:{{{ports_list |加入(「」)}}因爲我想Ansible自動計算它在最終的Jinja2文件的輸出如下:

    "ports": {"ens1": {}, "ens2": {}} 
    

    N.B:我已經嘗試過{{ports_list | to_json}}和{{ports_list |加入(',')| to_json}}

    +0

    我沒有在這裏看到任何編程,所以我會去肢體並說記事本++,搜索「{{{」替換爲「{」 – Kilazur

    回答

    0

    好像你正在尋找to_json過濾:

    "ports": {{ ports_list | to_json }} 
    

    我猜你可能想將其應用到整個配置對象。

    +0

    我使用它,我改變了最初的帖子,包括jinja2線。 –

    +0

    我沒有在這裏看到任何提到'to_json'的信息。 –

    +0

    對不起,我粘貼沒有「to_json」的行,但我有同樣的結果。 –

    相關問題