Thanks Kai - i managed to get exactly what i wanted by using the following 
environment variable;

ANSIBLE_STDOUT_CALLBACK=debug

Here's the final debug/msg configuration of the playbook;

        - debug:
            msg: |
              {{ inventory_hostname }} has {{ 
available_updates.found_update_count }} updates available.
              {% for key, value in available_updates.updates.iteritems() %}
              - KB: {{ value.title }}
              {% endfor %}


Now when i run the playbook, i get the following output;

ok: [host1] => {}

MSG:

host1 has 6 updates available.
- KB: Update for Windows Server 2012 R2 (KB3013769)
- KB: Update for Windows Server 2012 R2 (KB3102429)
- KB: Update for Windows Server 2012 R2 (KB3013816)
- KB: Update for Windows Server 2012 R2 (KB3084905)
- KB: 2017-11 Preview of Monthly Quality Rollup for Windows Server 2012 R2 
for x64-based Systems (KB4050946)
- KB: Windows Malicious Software Removal Tool for Windows 8, 8.1, 10 and 
Windows Server 2012, 2012 R2, 2016 x64 Edition - November 2017 (KB890830)

Thanks for all your help

On Monday, December 4, 2017 at 10:25:58 AM UTC+11, Kai Stian Olstad wrote:
>
> On 03.12.2017 23:49, area0 wrote: 
> > Thanks Kai. The output is working fine, it's more about the formatting. 
> > For 
> > example, with the following debug code, i receive the following; 
>
> Ansible is not a reporting tool so it has limit supported for nice 
> output on the screen. 
> You can put it in a file with the template module. 
>
>
> >         - debug: 
> >              msg: "{{ inventory_hostname }} has {{ 
> > available_updates.found_update_count }} updates available. 
> >                   {% for key, value in 
> > available_updates.updates.iteritems() %} 
> >                 - KB: {{ value.title }} 
> >                   {% endfor %}" 
>
> The first ting to do is losing the quotes and add a pipe, the pipe is 
> essential. 
>
>    - debug: 
>        msg: | 
>          {{ inventory_hostname }} has {{ 
> available_updates.found_update_count }} updates available. 
>          {% for key, value in available_updates.updates.iteritems() %} 
>          - KB: {{ value.title }} 
>          {% endfor %}" 
>
>
> > ok: [host1] => { 
> >     "msg": "host1 has 6 updates available.  - KB: Update for Windows 
> > Server 
> > 2012 R2 (KB3013769)  - KB: Update for Windows Server 2012 R2 
> > (KB3102429)  - 
> > KB: Update for Windows Server 2012 R2 (KB3013816)  - KB: Update for 
> > Windows 
> > Server 2012 R2 (KB3084905)  - KB: 2017-11 Preview of Monthly Quality 
> > Rollup 
> > for Windows Server 2012 R2 for x64-based Systems (KB4050946)  - KB: 
> > Windows 
> > Malicious Software Removal Tool for Windows 8, 8.1, 10 and Windows 
> > Server 
> > 2012, 2012 R2, 2016 x64 Edition - November 2017 (KB890830) " 
> > } 
> > 
> > What i'd like, is for the output to be formatted as below; 
> > 
> > ok: [host1] => { 
> >     "msg": "host1 has 6 updates available. 
> >      - KB: Update for Windows Server 2012 R2 (KB3013769) 
> >      - KB: Update for Windows Server 2012 R2 (KB3102429) 
> >      - KB: Update for Windows Server 2012 R2 (KB3013816) 
> >      - KB: Update for Windows Server 2012 R2 (KB3084905) 
> >      - KB: 2017-11 Preview of Monthly Quality Rollup for Windows Server 
> > 2012 R2 for x64-based Systems (KB4050946) 
> >      - KB: Windows Malicious Software Removal Tool for Windows 8, 8.1, 
> > 10 
> > and Windows Server 2012, 2012 R2, 2016 x64 Edition - November 2017 
> > (KB890830) " 
> > } 
> > 
> > Is this possible? 
>
> To get an other output than the default one, you'll need to change the 
> stdout callback plugin[1]. 
>
> If you use the debug, it output nice human readable text that you are 
> looking for, but it will be more verbose. 
> You could check out and test the other to see if them give you the 
> output you want or you could write your own. 
>
>
> [1] 
> https://docs.ansible.com/ansible/devel/plugins/callback.html#plugin-list 
>
> -- 
> Kai Stian Olstad 
>

-- 
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/2f7f8e3b-4161-492e-9d9c-ef3e726eea86%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to