--- # tasks file for ensure_os_patch - name: Include Variables when: ["ansible_facts[\"system\"] == 'Linux'"] ansible.builtin.include_vars: file: '{{ lookup("first_found", findme) }}' name: ensure_os_patch vars: findme: files: - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' - '{{ ansible_facts["distribution"] }}-default.yml' - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' - '{{ ansible_facts["os_family"] }}-default.yml' - default.yml paths: [../vars/] errors: ignore - name: Package Discovery when: - ansible_facts["system"] == 'Linux' - ansible_facts["packages"] is not defined ansible.builtin.package_facts: - name: Service Discovery when: - ansible_facts["system"] == 'Linux' - ansible_facts["services"] is not defined ansible.builtin.service_facts: - name: Ensure Packages when: - ansible_facts["system"] == 'Linux' - ensure_os_patch is defined - ensure_os_patch.package_list is defined - ensure_os_patch.package_list is iterable ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' loop: '{{ ensure_os_patch.package_list }}' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: [Ensure_Os_Patch.Package_Facts, Ensure_Os_Patch.Service_Facts] - name: Ensure Apt Patch when: - ansible_facts["system"] == 'Linux' - ansible_facts["pkg_mgr"] == 'apt' ansible.builtin.apt: autoclean: 'yes' autoremove: 'yes' update_cache: 'yes' upgrade: dist notify: [Ensure_Os_Patch.Package_Facts, Ensure_Os_Patch.Service_Facts] - name: Ensure Dnf when: - ansible_facts["system"] == 'Linux' - ansible_facts["pkg_mgr"] == 'dnf' ansible.builtin.dnf: name: '*' state: latest update_cache: 'yes' notify: [Ensure_Os_Patch.Package_Facts, Ensure_Os_Patch.Service_Facts] - name: Ensure Dnf5 when: - ansible_facts["system"] == 'Linux' - ansible_facts["pkg_mgr"] == 'dnf5' ansible.builtin.dnf5: name: '*' state: latest update_cache: 'yes' notify: [Ensure_Os_Patch.Package_Facts, Ensure_Os_Patch.Service_Facts] - name: Ensure Services when: - ansible_facts["system"] == 'Linux' - ensure_os_patch is defined - ensure_os_patch.service_list is defined - ensure_os_patch.service_list is iterable ansible.builtin.service: enabled: '{{ item.enabled }}' name: '{{ item.name }}' state: '{{ item.state }}' loop: '{{ ensure_os_patch.service_list }}' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: [Ensure_Os_Patch.Package_Facts, Ensure_Os_Patch.Service_Facts] - name: Flush Handlers ansible.builtin.meta: flush_handlers