Ansible Academy · पाठ

AnsibleModule और Argument Spec

Module के inputs परिभाषित और सत्यापित करें।

पाठ 2, कुल 4 में से13 चरण

AnsibleModule और Argument Spec, CoddyKit पर Ansible Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Ansible Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

AnsibleModule से परिचित हों

AnsibleModule क्लास आपका टूलकिट है। यह Ansible द्वारा भेजे गए आर्ग्युमेंट पार्स करती है, उन्हें मान्य करती है और परिणाम लौटाने के लिए सहायक सुविधाएँ देती है।

from ansible.module_utils.basic import AnsibleModule

argument_spec का मानचित्र

आप अपने मॉड्यूल द्वारा स्वीकार किए जाने वाले हर इनपुट का वर्णन argument_spec डिक्शनरी में करते हैं। उपयोगकर्ता द्वारा दिए गए मानों को मान्य करने के लिए Ansible इसे पढ़ता है।

argument_spec=dict(
  name=dict(type='str', required=True)
)

हर आर्ग्युमेंट का प्रकार दीजिए

str, int, bool, list या dict जैसा type सेट कीजिए। आपका कोड चलने से पहले ही Ansible गलत इनपुट को सही प्रकार में बदल देता है या अस्वीकार कर देता है।

count=dict(type='int', default=1)

आवश्यक चीज़ों को चिह्नित कीजिए

required=True जोड़िए और यदि उपयोगकर्ता वह आर्ग्युमेंट भूल जाता है, तो Ansible स्पष्ट त्रुटि के साथ विफल हो जाएगा। अलग से जाँच करने की आवश्यकता नहीं है।

path=dict(type='str', required=True)

उचित डिफ़ॉल्ट दीजिए

default का उपयोग कीजिए, ताकि वैकल्पिक आर्ग्युमेंट को अपने-आप कोई मान मिल जाए। उपयोगकर्ता केवल वही सेट करते हैं जिसे वे बदलना चाहते हैं।

state=dict(type='str', default='present')

मान्य विकल्पों तक सीमित कीजिए

choices सूची किसी आर्ग्युमेंट को अनुमत मानों तक सीमित करती है। अन्य सभी मान शुरुआत में ही उपयोगी संदेश के साथ अस्वीकार कर दिए जाते हैं।

state=dict(choices=['present', 'absent'])

मॉड्यूल ऑब्जेक्ट बनाइए

ऑब्जेक्ट बनाने के लिए अपना विनिर्देश AnsibleModule में पास कीजिए। इसके बाद आपका सारा इनपुट module.params में सुरक्षित रूप से रहता है।

module = AnsibleModule(argument_spec=argument_spec)

मान्य किए गए इनपुट पढ़िए

अपने आर्ग्युमेंट module.params नाम की साधारण डिक्शनरी से प्राप्त कीजिए। मान पहले ही सही प्रकार में बदले और मान्य किए जा चुके हैं, इसलिए उनका सीधे उपयोग कीजिए।

name = module.params['name']

आर्ग्युमेंट के बीच के नियम

क्या दो आर्ग्युमेंट हमेशा साथ चाहिए, या दोनों कभी साथ नहीं होने चाहिए? required_together या mutually_exclusive जैसे नियम AnsibleModule को पास कीजिए और वह उन्हें लागू कर देगा।

mutually_exclusive=[['src', 'content']]

no_log से रहस्य छिपाइए

संवेदनशील इनपुट को no_log=True से चिह्नित कीजिए, ताकि पासवर्ड Ansible लॉग या विस्तृत आउटपुट में कभी दिखाई न दें।

password=dict(type='str', no_log=True)

विनिर्देश को काम करने दें

एक अच्छा argument_spec हाथ से किए जाने वाले ढेरों सत्यापन की जगह ले लेता है। इनपुट का वर्णन एक बार कीजिए और Ansible प्रकारों, त्रुटियों और दस्तावेज़ों को बिना किसी अतिरिक्त प्रयास के संभाल लेता है।

त्वरित जाँच

सोचिए कि उपयोगकर्ता के इनपुट आपके मॉड्यूल के कोड तक कैसे पहुँचते हैं।

पुनरावलोकन

argument_spec में प्रकारों, डिफ़ॉल्ट मानों, required और choices के साथ इनपुट परिभाषित कीजिए, AnsibleModule बनाइए, फिर module.params से साफ़ मान पढ़िए। ✅

शुरुआत निःशुल्क

एआई शिक्षक के साथ YAML सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “AnsibleModule और Argument Spec” पाठ निःशुल्क है?

हाँ—“AnsibleModule और Argument Spec” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Ansible Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“AnsibleModule और Argument Spec” में मैं क्या सीखूँगा?

Module के inputs परिभाषित और सत्यापित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ansible Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ansible Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ansible Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“AnsibleModule और Argument Spec” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ansible Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ansible Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Custom Module कब बनाएँ
  2. AnsibleModule और Argument Spec
  3. JSON लौटाएँ और changed का सम्मान करें
  4. अपने Module में Check Mode का समर्थन करें
← Ansible Academy पर वापस जाएँ