المتغيرات والمخرجات
مدخلات الوحدة ومخرجاتها، والأخطاء التي يمنعها التحديد الجيد للأنواع.
المتغيرات والمخرجات: ضبط الإعدادات دون تكرار
ردّ الفعل الأول عند ضبط الإعدادات يكون في الغالب خاطئًا: ننسخ مجلد production إلى staging، ونغيّر ثلاث قيم، فنحصل على إعدادين يتباعدان بصمت طوال ستة أشهر. وفي اليوم الذي يجب فيه إعادة إنتاج حادثة وقعت في بيئة الإنتاج داخل بيئة ما قبل الإنتاج، لا يعود أحد يعرف أي الاختلافات مقصودة وأيها ناتج عن سهو. الشيفرة المكررة ليست مشكلة أناقة؛ إنها ضمان للتباعد.
تحلّ المتغيرات هذه المشكلة، لكنها تُدخل مشكلة أخرى إذا عوملت كمجرد فراغات تُملأ. المتغير غير المحدد النوع يقبل أي شيء، ولا يظهر الخطأ عند التصريح به: بل يظهر بعد خمس عشرة ثانية في شكل رسالة API غير مقروءة من المزوّد، أو أسوأ من ذلك، يمرّ الخطأ وينشئ جهازًا من النوع t3.medum غير الموجود في المنطقة المستهدفة. أما المتغير المصرَّح به جيدًا، بنوع وقيمة افتراضية مدروسة وتحقق من الصحة، فيحوّل عطلًا أثناء التنفيذ إلى خطأ إدخال يُكتشف قبل أي استدعاء للشبكة.
تعريف متغير
يوجد التصريح، حسب العرف، في ملف variables.tf:
variable "environment" {
description = "Nom de l'environnement cible, utilisé dans les étiquettes et les noms."
type = string
}
variable "instance_type" {
description = "Type de machine pour les serveurs applicatifs."
type = string
default = "t3.small"
}
variable "instance_count" {
description = "Nombre de serveurs applicatifs."
type = number
default = 2
}
variable "enable_deletion_protection" {
description = "Interdit la suppression de la base par un appel d'API."
type = bool
default = true
}
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش