Ansible 转义一段花括号
Ansible escape a seccession of curly braces
我正在编写一个 Ansible 剧本来配置网络分组,我的剧本中有以下 jinja2 模板文件:
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 | join(', ') }} 因为我希望 Ansible 自动计算它以在最终的 jinja2 文件中具有以下输出:
"ports": {"ens1": {}, "ens2": {}}
N.B:我已经试过了{{ ports_list | to_json }} 和 {{ ports_list |加入(',') | to_json}}
您似乎在寻找 to_json
过滤器:
"ports": {{ ports_list | to_json }}
我猜你可能想将它应用到整个配置对象。
我正在编写一个 Ansible 剧本来配置网络分组,我的剧本中有以下 jinja2 模板文件:
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 | join(', ') }} 因为我希望 Ansible 自动计算它以在最终的 jinja2 文件中具有以下输出:
"ports": {"ens1": {}, "ens2": {}}
N.B:我已经试过了{{ ports_list | to_json }} 和 {{ ports_list |加入(',') | to_json}}
您似乎在寻找 to_json
过滤器:
"ports": {{ ports_list | to_json }}
我猜你可能想将它应用到整个配置对象。