Files
ansible-role-remote_users_fact/roles/remote_users_fact/tasks/absent.yml
T

53 lines
1.9 KiB
YAML
Raw Normal View History

---
# =============================================================================
# tasks/absent.yml — Suppression du fact (state=absent)
# =============================================================================
- name: "Absent | Vérifier si le fact existe"
ansible.builtin.stat:
path: "{{ remote_users_fact_dir }}/{{ remote_users_fact_name }}"
register: _remote_users_fact_file
- name: "Absent | Supprimer le script remote_users.fact"
ansible.builtin.file:
path: "{{ remote_users_fact_dir }}/{{ remote_users_fact_name }}"
state: absent
register: _remote_users_fact_removed
when: _remote_users_fact_file.stat.exists
notify: Recharger les local facts
- name: "Absent | Recharger les facts pour purger ansible_local"
ansible.builtin.setup:
filter: ansible_local
when: _remote_users_fact_removed.changed | default(false)
- name: "Absent | Vérifier que le fact n'est plus chargé"
ansible.builtin.assert:
that:
- ansible_local.remote_users is not defined
fail_msg: >-
Le fact remote_users est toujours présent dans ansible_local
après suppression. Vérifier le rechargement des facts.
success_msg: "Fact remote_users correctement supprimé et purgé d'ansible_local"
when: _remote_users_fact_removed.changed | default(false)
- name: "Absent | Info suppression"
ansible.builtin.debug:
msg: >-
{{ 'Fact supprimé de ' ~ remote_users_fact_dir
if _remote_users_fact_removed.changed | default(false)
else 'Fact déjà absent, rien à faire' }}
- name: "Absent | Nettoyer le répertoire facts.d si vide"
ansible.builtin.command:
cmd: "find {{ remote_users_fact_dir }} -maxdepth 0 -empty -type d"
register: _remote_users_factdir_empty
changed_when: false
failed_when: false
- name: "Absent | Supprimer le répertoire facts.d si vide"
ansible.builtin.file:
path: "{{ remote_users_fact_dir }}"
state: absent
when: _remote_users_factdir_empty.stdout | length > 0