# Tasks को Include और Import करना — Ansible: Playbooks से Servers का Automation

Source: https://www.geekswithgeeks.com/hi/ansible/role-include-import

> लंबी task सूचियाँ बाँटें और static imports व dynamic includes में चुनें।

## Static या dynamic

फ़ाइलें छोटी रखने के लिए tasks के समूह अलग files में रखें और उन्हें खींचें। **`import_tasks`** **static** है: Ansible इसे playbook parse करते समय संसाधित करता है, इसलिए import पर लगे tags और `when` भीतर के हर task पर लागू होते हैं। **`include_tasks`** **dynamic** है: इसका मूल्यांकन run के समय होता है, जिससे फ़ाइल नाम में loops और variables संभव हैं पर `--list-tasks` और tag inheritance अलग व्यवहार करते हैं। निश्चित ढाँचे के लिए imports और जब चुनाव run के समय डेटा पर निर्भर हो तब includes चुनें।

## Import बनाम include

उदाहरण snippet। Include run के समय OS के अनुसार फ़ाइल चुनता है।

```yaml
- name: Always-present baseline tasks
  ansible.builtin.import_tasks: baseline.yml

- name: OS-specific tasks chosen at run time
  ansible.builtin.include_tasks: "{{ ansible_os_family | lower }}.yml"
```

**Quiz:** कौन-सा run के समय मूल्यांकित होता है?

- [x] include_tasks
- [ ] import_tasks
- [ ] कोई नहीं
- [ ] दोनों, हमेशा

*Answer:* include_tasks. include_* dynamic है; import_* playbook parse होते समय संसाधित होता है।
