53 lines
1.9 KiB
YAML
53 lines
1.9 KiB
YAML
---
|
|
# =============================================================================
|
|
# 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
|