Awesome, thank you very much!

On Thursday, August 13, 2020 at 1:47:07 PM UTC-4, Vladimir Botka wrote:
>
> Laci, 
>
> On Thu, 13 Aug 2020 08:47:31 -0700 (PDT) 
> Laci <[email protected] <javascript:>> wrote: 
>
> > ... it finds the package only if no specific version is 
> > specified. For example it will find nginx and send email but won't 
> > find nginx-1.12.2 
>
> Try this. Loop "with_together" lists of packages' names and versions. 
> In the task's vars create list of the versions "pkgv". The 
> attribute "version" of the dictionary "ansible_facts.packages" is a 
> list because there may be more versions installed. In the condition 
> "when" test the searched version "item.1" is in the list "pkgv". 
>
>   vars: 
>     - pkg_list: 
>         - nginx-1.12.2 
>         - zip-3.0 
>   tasks: 
>     - package_facts: 
>     - debug: 
>         msg: "Found {{ item.0 }}-{{ item.1 }}" 
>       with_together: 
>         - "{{ pkg_list| 
>               map('regex_replace','^(.*)-(.*)$', '\\1')|list }}" 
>         - "{{ pkg_list| 
>               map('regex_replace','^(.*)-(.*)$', '\\2')|list }}" 
>       when: pkgv|map('regex_search', '^' ~ item.1)|list|length > 0 
>       vars: 
>         pkgn: "{{ ansible_facts.packages[item.0]|default([]) }}" 
>         pkgv: "{{ pkgn|map(attribute='version')|list }}" 
>
> Fit the condition to your needs. It's trivial to create a list of 
> found packages in the loop test it and send an email. 
>
> -- 
> Vladimir Botka 
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a99610b3-631b-4eba-8faa-3fbc9217fb43o%40googlegroups.com.

Reply via email to