ansibleの静的リストに変数リストを追加することは可能ですか?
リスト全体を変数として定義できます。
my_list:
- 1
- 2
- 3
そして、プレイブックで次のように使用します
something: {{my_list}}
しかし、私はこれを行う方法を見つけることができないようです(擬似コード):
list_to_append:
- 3
- 4
そして、プレイブックで:
something:
- 1
- 2
- {{append: list_to_append}}
それが実際に不可能な場合、私のユースケースに対して何を提案しますか?
パラメーターに項目のリストがありますが、それらの一部はoptional
であり、変数を使用して変更可能にする必要があります。
つまり、default values
+ optional values
変数を介して追加できる場合とできない場合。
optional values
は事前に知られていないため、1、2、または100を追加できるため、静的ではありません。
基本的に、デフォルトの静的リスト++を追加する構成可能な変数リストがあります。
編集:私はこれを見つけましたが、それはwith_items専用であり、通常のパラメータで必要です:
with_flattened:
- "{{list1}}"
- "{{list2}}"
コンテンツに本当に追加したい場合は、set_fact
モジュールを使用する必要があります。ただし、マージされたリストを使用するだけの場合は、次のように簡単です。
{{ list1 + list2 }}
set_fact
の場合、次のようになります。
- set_fact:
list_merged: "{{ list1 + list2 }}"
注:連結リストで追加の操作を行う必要がある場合は、次のようにグループ化してください。
- set_fact:
list_merged: "{{ (list1 + list2) | ... }}"
以下はAnsible 2.1.2.0で私のために働いた:
- name: Define list of mappings
set_facts:
something:
- name: bla
mode: 1
- name: Append list with additional mapping
set_facts:
something: "{{ something + [{'name': 'blabla', 'mode': 1}] }}"