--- # tasks file for ensure_repo_rpmfusion - name: Assert Target OS Is Supported when: - ansible_facts["system"] is defined ansible.builtin.assert: fail_msg: "Unsupported OS: {{ ansible_facts['distribution'] | default('unknown') }}" quiet: true that: - ansible_facts["system"] == 'Linux' - >- ansible_facts["distribution"] in ['AlmaLinux', 'CentOS', 'Debian', 'Fedora', 'OracleLinux', 'Rocky', 'Ubuntu'] - name: Include Variables ansible.builtin.include_vars: file: '{{ lookup("first_found", findme) }}' name: ensure_repo_rpmfusion 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["packages"] is not defined ansible.builtin.package_facts: - name: Service Discovery when: - ansible_facts["services"] is not defined ansible.builtin.service_facts: - name: Ensure Packages when: - ensure_repo_rpmfusion is defined - ensure_repo_rpmfusion.package_list is defined - ensure_repo_rpmfusion.package_list is iterable - ansible_facts.packages[item.name] is not defined ansible.builtin.package: disable_gpg_check: '{{ item.disable_gpg_check | default(omit) }}' name: '{{ item.url }}' state: '{{ item.state }}' loop: '{{ ensure_repo_rpmfusion.package_list }}' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: - Ensure_Repo_Rpmfusion.Package_Facts - Ensure_Repo_Rpmfusion.Service_Facts - name: Ensure Services when: - ensure_repo_rpmfusion is defined - ensure_repo_rpmfusion.service_list is defined - ensure_repo_rpmfusion.service_list is iterable ansible.builtin.service: enabled: '{{ item.enabled }}' name: '{{ item.name }}' state: '{{ item.state }}' loop: '{{ ensure_repo_rpmfusion.service_list }}' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: - Ensure_Repo_Rpmfusion.Package_Facts - Ensure_Repo_Rpmfusion.Service_Facts - name: Flush Handlers ansible.builtin.meta: flush_handlers - name: Post Verification Package Discovery when: - ensure_repo_rpmfusion is defined - ensure_repo_rpmfusion.package_list is defined - ensure_repo_rpmfusion.package_list is iterable ansible.builtin.package_facts: - name: Assert Managed Packages Are Installed when: - ensure_repo_rpmfusion is defined - ensure_repo_rpmfusion.package_list is defined - ensure_repo_rpmfusion.package_list is iterable ansible.builtin.assert: fail_msg: "Package {{ item.name }} is not installed" quiet: true that: - item.state != 'present' or ansible_facts['packages'][item.name] is defined loop: "{{ ensure_repo_rpmfusion.package_list }}" loop_control: label: "{{ item.name }} will be verified"