"""Filtres Ansible exposant les regles de resolution des registres Set-OPS.
Reutilise scripts/inventory_rules.py : la regle de liaison application <-> base
(et la derivation du DSN) vit une SEULE fois, en Python. Le CLI, le GUI (qui en
est le miroir) et Ansible passent tous par la meme logique.
"""
from __future__ import annotations
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts"))
from inventory_rules import ( # noqa: E402
applications_de_hote,
bases_de_application,
bases_du_groupe,
chaine_connexion,
expositions_des_applications,
)
class FilterModule:
"""Filtres Set-OPS pour les playbooks par application."""
def filters(self) -> dict:
return {
"bases_de_application": bases_de_application,
"applications_de_hote": applications_de_hote,
"bases_du_groupe": bases_du_groupe,
"chaine_connexion": chaine_connexion,
"expositions_des_applications": expositions_des_applications,
}