ループに、when-statementが適用されていることを条件としてループを結合したいと考えています。 when文は各ループ反復に適用されますが、これは完全ループに1つを適用する可能性を排除します。誰もこれを行う方法を知っていますか?不可能:ループを完了するときに適用します
私はこれまでにこの問題に遭遇しましたが、この特定のケースでは、存在する可能性のある変数や存在しない可能性のある変数に関するものです。私がしたいことは、次のようなものです:
デフォルトフィルタは、yが定義されていないインスタンスを処理します。私の場合、xは定義されていない可能性があるので、私はただ実行するだけでこのループが必要です。明らかに、これは本当の不可解な声明ではありません。私は代わりに何を使用すべきですか? host_varsで例えば付
- name: kludge1
set_fact:
fake_y : "{{ [] }}"
- name: kludge2
set_fact:
fake_y : "{{ x.y|default([]) }}"
when: x is defined
- name: Loop
debug:
msg: "{{ item }}"
with_items: '{{ fake_y }}'
:
現在、私のような恐ろしい何か使用
x:
y:
- "foo"
- "bar"
をしかし、私はそれが進むべき道ではないと確信しています。