--- - name: Verify hosts: all gather_facts: true become: true tasks: - name: "Test: file /etc/hosts" block: - name: "Stat file /etc/hosts" ansible.builtin.stat: path: "/etc/hosts" register: stat_etc_hosts - name: "Verify file /etc/hosts" vars: etc_hosts_group: ubuntu: "adm" debian: "root" ansible.builtin.assert: that: - stat_etc_hosts.stat.exists - stat_etc_hosts.stat.isreg - stat_etc_hosts.stat.pw_name == 'root' - stat_etc_hosts.stat.gr_name == etc_hosts_group[(ansible_distribution|lower)] - name: "Test: packages pip, vault-cli, yamllint, ansible-core" block: - name: "Get pipx installed packages" ansible.builtin.command: "pipx list --json" environment: PIPX_HOME: "/opt/pipx" changed_when: false register: pipx_installed_packages - name: "Set fact" ansible.builtin.set_fact: pipx_simple_list: "{{ pipx_simple_list | default({}) | combine({item.key: item.value.metadata.main_package.package_version}) }}" loop: "{{ pipx_installed_packages.stdout | from_json | json_query('venvs') | dict2items }}" - name: "Verify packages pip, vault-cli, yamllint, ansible-core" ansible.builtin.assert: that: - pipx_simple_list['yamllint'] is defined - pipx_simple_list['ansible-core'] is defined - pipx_simple_list['vault-cli'] is defined - name: "Print installed packages" ansible.builtin.debug: msg: "{{ pipx_simple_list }}"