Изменение метода diff Ansible требует изменения кода.
Ценности для разница
диктовать возвращается ответственность каждого модуля. Эфир перед
и после
клавиши с полнотекстовым представлением состояний, линейный файл
является примером этого. Или готовый
ключ, где модуль сам выполняет diff, например, что мерзавец
модуль делает.
Не существует универсального метода изменения подготовленного метода diff для модулей, на сценарии diffutils или Python difflib или что-то еще. Рассмотрите возможность написания общих оболочек diff как module_utils
код, если вы хотите, чтобы это было доступно везде.
Плагины обратного вызова что-то делают с этим выводом diff, обратный вызов по умолчанию печатает diff. Почти все обратные вызовы, которые ссылаются на различия, используют CallbackBase._get_diff, который, в свою очередь, использует Python difflib для сравнения перед
и после
.
Чтобы изменить stdout, напишите плагин обратного вызова, вероятно, создав подкласс плагина по умолчанию и заменив метод v2_on_file_diff
.
Для меня Ansible diff предназначен для потребления человеком, раскрашен и красиво напечатан внутри множества других выходных данных. Различия, анализируемые машиной, может быть проще получить из базы данных с течением времени, такой как ваши плейбуки Ansible в системе управления версиями.