AnsibleModule ومواصفات الوسائط
حدّد مدخلات Module وتحقّق منها
AnsibleModule ومواصفات الوسائط درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 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)
)حدّد نوعًا لكل معامل
عيّن type مثل str أو int أو bool أو list أو dict. وتحول 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 باستخدام الأنواع والقيم الافتراضية والحقول المطلوبة والخيارات، ثم أنشئوا AnsibleModule واقرؤوا القيم المنظّفة من module.params. ✅
الأسئلة الشائعة
هل درس «AnsibleModule ومواصفات الوسائط» مجاني؟
نعم — نص درس «AnsibleModule ومواصفات الوسائط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «AnsibleModule ومواصفات الوسائط»؟
حدّد مدخلات Module وتحقّق منها تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «AnsibleModule ومواصفات الوسائط»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- متى تنشئ Module مخصّصة
- AnsibleModule ومواصفات الوسائط
- إرجاع JSON واحترام changed
- دعم Check Mode في Module الخاصة بك