Ansible कार्य होना चाहिए idempotent । उदाहरण के लिए। यदि कार्य कुछ भी संशोधित नहीं करता है, तो ok
इसके बजाय वापस लौटना चाहिए changed
। अधिकांश अंतर्निहित मॉड्यूल और कार्य पहले से ही हैं, लेकिन जैसे कार्यों के लिए command
और shell
आपको थोड़ी मदद करने में मदद करनी चाहिए।
ऐसे कार्य के लिए जो पूरी तरह से जाँच करता है और कुछ भी संशोधित नहीं करता है, आपको जोड़ना चाहिए:
changed_when: False
always_run: yes
उत्तरार्द्ध कार्य को चेक मोड में भी चलाने की अनुमति देता है ।
पूर्णता के लिए, ऐसे कार्यों को आम तौर पर एक दूसरे के साथ जोड़ा जाता है जो वास्तविक संशोधन करता है, जैसे:
- command: check command that returns true when no change needed
register: result
changed_when: False
always_run: yes
- command: modify command
when: result.rc != 0