The task is to get a list of the latest updates. Approximately as the command issues dnf check-update Ansible code:
tasks:
- name: List Available Patches (Non-Kernel)
dnf:
list: updates
update_cache: true
register: packages
- debug:
msg: >-
{%- set output=[] -%}
{%- for p in packages.results -%}
{{ output.append((p.name ~ '-' ~ p.version ~ '-' ~ p.release)) }}
{%- endfor -%}
{{ output }}
But in this case I can get the same package but with different versions, how can I get only the latest version?
"vlc-3.0.18-1.el7.3",
"vlc-3.0.18-2.el7.3",
"vlc-core-3.0.18-1.el7.3",
"vlc-core-3.0.18-2.el7.3",
"xdg-desktop-portal-1.8.0-3.el7",
"xorg-x11-server-Xorg-1.20.14-4.el7.3",
"xorg-x11-server-Xorg-1.20.14-5.el7.3",
"xorg-x11-server-Xorg-1.20.14-6.el7.3",