regex
  • ansible
  • jinja2
  • curly-braces
  • 2017-06-19 150 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”的行,但我有同样的结果。 –

    相关问题