การแก้ไขเมธอด diff ของ Ansible ต้องมีการเปลี่ยนแปลงโค้ด
ค่าสำหรับ ความแตกต่าง
คำสั่ง การส่งคืนเป็นความรับผิดชอบของแต่ละโมดูล อีเธอร์ ก่อน
และ หลังจาก
คีย์ที่มีการแสดงข้อความแบบเต็มของรัฐ ไลน์อินไฟล์
คือตัวอย่างนี้ หรือ เตรียมไว้
คีย์ที่โมดูลทำ diff เอง เช่น what the คอมไพล์
โมดูลไม่
ไม่มีวิธีวัตถุประสงค์ทั่วไปในการเปลี่ยนวิธี diff ที่เตรียมไว้สำหรับโมดูล เป็นสคริปต์ diffutils หรือ Python difflib หรืออะไรก็ตาม พิจารณาการเขียน diff wrapper ทั่วไปเป็น module_utils
รหัสหากคุณต้องการให้สิ่งนี้เป็นตัวเลือกทุกที่
ปลั๊กอินการโทรกลับทำบางอย่างกับเอาต์พุตส่วนต่างนี้ การโทรกลับเริ่มต้นจะพิมพ์ส่วนต่าง การเรียกกลับเกือบทั้งหมดที่อ้างถึงส่วนต่างที่ใช้ CallbackBase._get_diffซึ่งจะใช้ประโยชน์จาก Python difflib เพื่อเปรียบเทียบ ก่อน
และ หลังจาก
.
หากต้องการเปลี่ยน stdout ให้เขียนปลั๊กอินการเรียกกลับ ซึ่งอาจจัดประเภทย่อยของปลั๊กอินเริ่มต้นและแทนที่เมธอด v2_on_file_diff
.
สิ่งที่แตกต่างสำหรับฉันคือการบริโภคของมนุษย์ พิมพ์สีและสวยงามภายในเอาต์พุตอื่นๆ จำนวนมาก ส่วนต่างที่แยกวิเคราะห์ได้ของเครื่องอาจง่ายกว่าที่จะได้รับจากฐานข้อมูลเมื่อเวลาผ่านไป เช่น Ansible playbooks ของคุณในการควบคุมเวอร์ชัน