--- - name: Check if Docker repository exists and is correct ansible.builtin.shell: | if [ -f /etc/apt/sources.list.d/docker.list ]; then if grep -q "deb \[arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg\] https://download.docker.com/linux/debian" /etc/apt/sources.list.d/docker.list; then echo "correct_config" else echo "wrong_config" fi else echo "not_exists" fi register: docker_repo_check failed_when: false changed_when: false - name: Remove incorrect Docker repository ansible.builtin.file: path: /etc/apt/sources.list.d/docker.list state: absent become: true when: docker_repo_check.stdout == "wrong_config" - name: Add Docker repository for Debian only if needed ansible.builtin.apt_repository: repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable" state: present update_cache: true when: docker_repo_check.stdout in ["not_exists", "wrong_config"]