--- # task/main_repositories file for manage_repositories - name: "Emtpy /etc/apt/sources.list" block: - name: "Read the current content of source.list" ansible.builtin.slurp: src: "{{ manage_repositories_sources_list_location }}" register: sources_list_current_content ignore_errors: true - name: "Convert sources.list current content to string" ansible.builtin.set_fact: sources_list_current_content_str: "{{ (sources_list_current_content.content | default('')) | b64decode }}" - name: "Define sources.list new content" ansible.builtin.set_fact: sources_list_new_content: "{{ manage_repositories_sources_list_message }}" - name: "Create file /etc/apt/sources.list" ansible.builtin.file: path: "{{ manage_repositories_sources_list_location }}" state: touch owner: root group: root mode: '0644' when: sources_list_current_content_str == '' - name: "Replace content of /etc/apt/sources.list" ansible.builtin.replace: path: "{{ manage_repositories_sources_list_location }}" regexp: "{{ sources_list_current_content_str | regex_escape }}" replace: "{{ sources_list_new_content }}" when: sources_list_current_content_str != sources_list_new_content - name: "Configure main repositories into sources.list.d for {{ ansible_distribution|lower }} " ansible.builtin.deb822_repository: name: "{{ item.name }}" types: "{{item.types}}" uris: "{{ item.uri }}" suites: "{{ item.suites | join(' ') }}" components: "{{ item.components }}" loop: "{{ manage_repositories_default_repo }}" notify: - "debian-based-cache-update"