On Mon, 23 Sep 2019 23:44:58 -0700 (PDT) Mohtashim S <mohtash...@gmail.com> wrote:
> command_result variable has has data like below. > > host6,host5\targ3 > host4,host3\targ1 > host1,host2,host5\targ2 > ..... > ..... > > I need to loop through each line of command_result. Pick the host list for > example host6,host5 and execute shell script using shell module by passing > respective argument string i.e arg3. Given the input is a list 'db_lines' normalise the data first. For example the loop below vars: separator: '\t' db_lines: - 'host6,host5\targ3' - 'host4,host3\targ1' - 'host1,host2,host5\targ2' tasks: - set_fact: my_data: "{{ my_data|default([]) + [{'host': item.split(separator)[0].split(','), 'arg': item.split(separator)[1].split(',')}] }}" loop: "{{ db_lines }}" gives my_data: - arg: - arg3 host: - host6 - host5 - arg: - arg1 host: - host4 - host3 - arg: - arg2 host: - host1 - host2 - host5 It should be trivial to use it in the loops. Cheers, -vlado -- 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 ansible-project+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/20190924103105.29220bf7%40gmail.com.
pgpEn2glT8xf5.pgp
Description: OpenPGP digital signature