2017-06-02 9 views
0

もう1つのリストをAnsibleに追加したいと考えました。その時、私が見つけたものの、ことがAnsible(oneliner)のリストを別のものに追加する

tasks: 
    set_fact: 
    my_list: "{{ my_list + my_append_list }}" 

作品を使用したが、それは手間の多くであるように思わコードの3行が必要です。問題は、使用すると無限再帰で終わるということです。このタイプの割り当ては、3番目のリスト名が含まれている場合にのみ有効です(my_third_list: "{{ my_list + my_append_list }}"のようなものです)

質問は次のとおりです。1行のコードでリストを追加する方法はありますか?別の変数を作る?事前に

おかげで、P.

答えて

1

号Ansibleで、ほとんどの場合、あなたは変数を割り当てますが、テンプレートを定義していないので。

割り当て:これは一種のです

- set_fact: 
    my_list: "{{ my_list + my_append_list }}" 

:右側にあり、左側に結果を割り当てるものをテンプレートは、テンプレート(評価)はset_fact実行の時点で行われます。

エイリアシング(私はあなたがAnsibleドキュメントでこれを見つけることができません、この用語を発明):テンプレートの名前my_list1(左側)との別名を定義します。

vars: 
    my_list1: "{{ my_list + my_append_list }}" 

これは一種のです右側の文字列。右側は、ある時点でmy_list1という変数を使用している時点でテンプレート化(評価)されます。

そして、左側の同じ名前と右側の式の内側に同じ名前を使用すると、無限の再帰が発生します。

関連する問題