に定義されていないとき、私は脚本で次の作業があります。スキップAnsibleタスク変数が
- name: task xyz
copy:
src="{{ item }}"
dest="/tmp/{{ item }}"
with_items: "{{ y.z }}"
when: y.z is defined
y.z
が定義されていないので、私は、タスクがスキップされることを期待しています。私が発見した
FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'z'"
:代わりに、私は受信 How to run a task when variable is undefined in ansible? が、私はちょうどそれを実装するようです。私はここで間違って何をしていますか?
'y'辞書内の既存の属性' z'の欠如は、 'y.z'が未定義であることと同じである場合、私は知りません。 Undefinedは、null、空、nil、falseなどと同じ意味ではありません。 –
を別の方法としてチェックしてください。 – user2599522
yで ''z 'を試してみたいのですか?どんな場合でも、私は両方を試しましたが、結果は同じです – jdoestackoverflow