--- - name: repos | Manage Proxmox repositories vars: repo_path: - http://download\.proxmox\.com/debian/pve\ block: #Proxmox enterprise repo - name: repos | Check for Proxmox enterprise repo file ansible.builtin.stat: path: /etc/apt/sources.list.d/pve-enterprise.list register: pve_enterprise_repo - name: repos | Comment out Proxmox enterprise repo lines ansible.builtin.replace: path: /etc/apt/sources.list.d/pve-enterprise.list regexp: '^(deb\s+)' replace: '# \1' when: pve_enterprise_repo.stat.exists register: enterprise_changed #Proxmox no-subscription repo - name: repos | Check for pve-install-repo.list ansible.builtin.stat: path: /etc/apt/sources.list.d/pve-install-repo.list register: pve_install_repo - name: repos | Uncomment Proxmox no-subscription repo if present ansible.builtin.replace: path: /etc/apt/sources.list.d/pve-install-repo.list regexp: '^#\s*(deb\s+{{ repo_path }}s+{{ ansible_distribution_release }}\s+pve-no-subscription)' replace: '\1' when: pve_install_repo.stat.exists register: no_sub_uncommented - name: repos | Add Proxmox no-subscription repo if missing ansible.builtin.lineinfile: path: /etc/apt/sources.list.d/pve-install-repo.list regexp: '^deb\s+{{ repo_path }}s+{{ ansible_distribution_release }}\s+pve-no-subscription$' line: "deb http://download.proxmox.com/debian/pve {{ ansible_distribution_release }} pve-no-subscription" state: present insertafter: EOF when: pve_install_repo.stat.exists register: no_sub_added # Notify Run apt update only once if any of the above tasks changed something notify: - Run apt update # Trigger only if any changes occurred when: enterprise_changed.changed or no_sub_uncommented.changed or no_sub_added.changed