feat(ansible-role-remote_users_fact): set remote_users_fact_state default var
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
# =============================================================================
|
||||
# tasks/assert.yml — Validation stricte du paramétrage avant exécution
|
||||
# =============================================================================
|
||||
|
||||
- name: "Assert | remote_users_fact_state est défini"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_state is defined
|
||||
- remote_users_fact_state | length > 0
|
||||
fail_msg: >-
|
||||
remote_users_fact_state n'est pas défini.
|
||||
Valeurs acceptées : present, absent, noop
|
||||
quiet: true
|
||||
|
||||
- name: "Assert | remote_users_fact_state contient une valeur valide"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_state in _remote_users_fact_valid_states
|
||||
fail_msg: >-
|
||||
remote_users_fact_state='{{ remote_users_fact_state }}' invalide.
|
||||
Valeurs acceptées : {{ _remote_users_fact_valid_states | join(', ') }}
|
||||
quiet: true
|
||||
vars:
|
||||
_remote_users_fact_valid_states:
|
||||
- present
|
||||
- absent
|
||||
- noop
|
||||
|
||||
- name: "Assert | remote_users_fact_dir est un chemin absolu"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_dir is defined
|
||||
- remote_users_fact_dir | length > 0
|
||||
- remote_users_fact_dir is match('^/')
|
||||
fail_msg: >-
|
||||
remote_users_fact_dir='{{ remote_users_fact_dir | default('') }}'
|
||||
doit être un chemin absolu (ex: /etc/ansible/facts.d)
|
||||
quiet: true
|
||||
when: remote_users_fact_state != "noop"
|
||||
|
||||
- name: "Assert | remote_users_fact_name est défini et valide"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_name is defined
|
||||
- remote_users_fact_name | length > 0
|
||||
- remote_users_fact_name is match('^[a-zA-Z0-9_.-]+\.fact$')
|
||||
fail_msg: >-
|
||||
remote_users_fact_name='{{ remote_users_fact_name | default('') }}'
|
||||
doit correspondre au pattern [a-zA-Z0-9_.-]+.fact
|
||||
quiet: true
|
||||
when: remote_users_fact_state != "noop"
|
||||
|
||||
- name: "Assert | remote_users_fact_owner est défini"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_owner is defined
|
||||
- remote_users_fact_owner | length > 0
|
||||
fail_msg: >-
|
||||
remote_users_fact_owner ne peut pas être vide
|
||||
quiet: true
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | remote_users_fact_group est défini"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_group is defined
|
||||
- remote_users_fact_group | length > 0
|
||||
fail_msg: >-
|
||||
remote_users_fact_group ne peut pas être vide
|
||||
quiet: true
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | remote_users_fact_validate est un booléen"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_validate | string | lower in ['true', 'false', 'yes', 'no']
|
||||
fail_msg: >-
|
||||
remote_users_fact_validate='{{ remote_users_fact_validate }}'
|
||||
doit être un booléen (true/false)
|
||||
quiet: true
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | remote_users_fact_display_summary est un booléen"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_display_summary | string | lower in ['true', 'false', 'yes', 'no']
|
||||
fail_msg: >-
|
||||
remote_users_fact_display_summary='{{ remote_users_fact_display_summary }}'
|
||||
doit être un booléen (true/false)
|
||||
quiet: true
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | remote_users_fact_warn_verdicts est une liste"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- remote_users_fact_warn_verdicts is defined
|
||||
- remote_users_fact_warn_verdicts is iterable
|
||||
- remote_users_fact_warn_verdicts is not string
|
||||
fail_msg: >-
|
||||
remote_users_fact_warn_verdicts doit être une liste
|
||||
(ex: [WHO_SUP_TOTAL, WHO_INF_TOTAL])
|
||||
quiet: true
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | remote_users_fact_warn_verdicts contient des verdicts valides"
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- item in _remote_users_fact_valid_verdicts
|
||||
fail_msg: >-
|
||||
Verdict '{{ item }}' invalide dans remote_users_fact_warn_verdicts.
|
||||
Valeurs acceptées : {{ _remote_users_fact_valid_verdicts | join(', ') }}
|
||||
quiet: true
|
||||
loop: "{{ remote_users_fact_warn_verdicts }}"
|
||||
vars:
|
||||
_remote_users_fact_valid_verdicts:
|
||||
- FIABLE
|
||||
- OK
|
||||
- NEUTRE
|
||||
- WHO_SUP_TOTAL
|
||||
- WHO_INF_TOTAL
|
||||
- WHO_SEUL
|
||||
- PROTO_SEUL
|
||||
when: remote_users_fact_state == "present"
|
||||
|
||||
- name: "Assert | Résumé du paramétrage validé"
|
||||
ansible.builtin.debug:
|
||||
msg: >-
|
||||
Assertions OK — state={{ remote_users_fact_state }}
|
||||
{% if remote_users_fact_state == 'present' %}
|
||||
dir={{ remote_users_fact_dir }}
|
||||
name={{ remote_users_fact_name }}
|
||||
validate={{ remote_users_fact_validate }}
|
||||
summary={{ remote_users_fact_display_summary }}
|
||||
{% endif %}
|
||||
Reference in New Issue
Block a user