HI,
can I combine when: and with_items clauses as in this example?

  become: true
  become_user: root
  tasks:
    - block:
      - debug:
          msg: "riga {{item}}"
      - user:
          name: "{{ item.split(':')[0] }}"
          home: "{{ item.split(':')[1] }}"
        when: item search(":")
        with_items: [ "abc:def", "yyy.zzz"]

The sad output is the following, indicating that "item" is undefined  in 
the loop.

TASK [debug] 
***********************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an 
undefined variable. The error was: 'item' is undefined\n\nThe error appears 
to have been in '/home/nico2601/block.yml': line 25, column 9, but may\nbe 
elsewhere in the file depending on the exact syntax problem.\n\nThe 
offending line appears to be:\n\n    - block:\n      - debug:\n        ^ 
here\n\nexception type: <class 
'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'item' is undefined"}
to retry, use: --limit @/home/nico2601/block.retry


What I want to do is ensuring that the user before the : is set only when 
the string that I'm looping over does contain : 
What's the right way to do it?
Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/14eb59ae-6ec3-4389-beee-27ec36e01bed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to