Ignorar tarefa Ansible quando a variável não definida

Eu tenho a seguinte tarefa em um manual:

- name: task xyz  
  copy:  
    src="{{ item }}"  
    dest="/tmp/{{ item }}"  
  with_items: "{{ y.z }}"  
  when: y.z is defined  

y.z não está definido, então estou esperando que a tarefa seja ignorada. Em vez disso, recebo:

FAILED! => {"failed": true, "msg": "'dict object' has no attribute 'z'"

Eu encontrei:Como executar uma tarefa quando a variável é indefinida em ansible? mas parece que eu implementei exatamente isso. O que eu estou fazendo errado aqui?

questionAnswers(1)

yourAnswerToTheQuestion