Modificarea metodei diff Ansible necesită modificări de cod.
Valori pentru dif
dict returnat este responsabilitatea fiecărui modul. Eter inainte de
și după
chei cu o reprezentare integrală a statelor, lineinfile
este un exemplu în acest sens. Sau a pregătit
cheie în care modulul face diferența în sine, cum ar fi ceea ce git
modulul face.
Nu există o metodă generală de schimbare a metodei de diff pregătite pentru module, în scripturi diffutils sau Python difflib sau orice altceva. Luați în considerare scrierea de wrapper-uri de diferențe comune ca module_utils
cod dacă doriți ca aceasta să fie o opțiune peste tot.
Pluginurile de apel invers fac ceva cu această ieșire de diferență, callback-ul implicit imprimă diferențele. Aproape toate apelurile inverse care fac referință le folosesc CallbackBase._get_diff, care, la rândul său, folosește Python difflib pentru a compara inainte de
și după
.
Pentru a schimba stdout, scrieți un plugin de apel invers, probabil subclasând pluginul implicit și înlocuind metoda v2_on_file_diff
.
Diferența Ansible pentru mine este pentru consum uman, colorată și destul de imprimată în multe alte produse. Diferențele analizabile automate ar putea fi mai ușor de obținut dintr-o bază de date în timp, cum ar fi cărțile de joc Ansible în controlul versiunilor.