2017-06-19 19 views
-1

私はチーミングネットワークを構成するAnsibleの脚本を書いていると私は私の脚本で、次のJinja2のテンプレートファイルを持って脱出:私が知りたかったAnsibleは、中括弧のseccession

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 | join( '、')|

"ports": {{ ports_list | to_json }} 

私はあなたが全体のconfigオブジェクトに適用することもできます推測:to_jsonを}}

+0

私はここではプログラミングを見ていないので、手足を動かしてメモ帳を言う++、検索 "{{{" {" – Kilazur

答えて

0

あなたはto_jsonフィルターを探しているように思えます。

+0

私はそれを使用しています。 jinja2行。 –

+0

そこに 'to_json'の言及はありません。 –

+0

申し訳ありませんが、 "to_json"のない行を貼り付けましたが、同じ結果が出ています。 –