HCL Variables
- متغيرات HCL: دليل شامل للمبتدئين
متغيرات HCL (HashiCorp Configuration Language) هي العناصر الأساسية التي تسمح بتخزين وإعادة استخدام البيانات داخل ملفات التكوين. فهم هذه المتغيرات أمر بالغ الأهمية لإدارة البنية التحتية كتعليمات برمجية (IaC) بفعالية باستخدام أدوات مثل Terraform و HashiCorp Consul. يهدف هذا المقال إلى تقديم شرح مفصل لمتغيرات HCL للمبتدئين، مع التركيز على أنواعها، وكيفية تعريفها، واستخداماتها المختلفة.
ما هي متغيرات HCL؟
في جوهرها، المتغيرات في HCL هي أسماء تشير إلى قيم معينة. هذه القيم يمكن أن تكون أنواع بيانات مختلفة، مثل الأرقام، والنصوص، والقوائم، والخرائط. تسمح المتغيرات بتجريد التفاصيل المعقدة وتسهيل عملية التكوين. بدلاً من كتابة القيم مباشرة في ملف التكوين، يمكنك تعريف متغير وتعيين قيمة له، ثم استخدام هذا المتغير في جميع أنحاء ملف التكوين. هذا يجعل التكوينات أكثر قابلية للقراءة، والصيانة، وإعادة الاستخدام.
أنواع بيانات متغيرات HCL
HCL تدعم مجموعة متنوعة من أنواع البيانات. من المهم فهم هذه الأنواع لتحديد المتغيرات بشكل صحيح. إليك بعض الأنواع الرئيسية:
- السلسلة (String): تستخدم لتمثيل النصوص، محاطة بعلامات اقتباس مزدوجة (""). مثال: "example string".
- الرقم (Number): يمثل القيم الرقمية، سواء كانت صحيحة أو عشرية. مثال: 123 أو 3.14.
- القائمة (List): مجموعة مرتبة من القيم، محاطة بأقواس مربعة []. القيم داخل القائمة يمكن أن تكون من أي نوع. مثال: [1, 2, "three"].
- الخريطة (Map): مجموعة من أزواج المفاتيح والقيم، محاطة بأقواس معقوفة {}. المفاتيح يجب أن تكون سلاسل، والقيم يمكن أن تكون من أي نوع. مثال: {"name": "John", "age": 30}.
- القيمة المنطقية (Boolean): تمثل قيمة صحيحة (true) أو خاطئة (false).
النوع | الوصف | مثال |
سلسلة | تمثيل النصوص | "Hello, World!" |
رقم | قيم رقمية | 42 |
قائمة | مجموعة مرتبة من القيم | [1, 2, 3] |
خريطة | مجموعة من أزواج المفاتيح والقيم | {"key1": "value1", "key2": "value2"} |
قيمة منطقية | صحيح أو خطأ | true |
تعريف المتغيرات في HCL
يتم تعريف المتغيرات في HCL باستخدام الكلمة المفتاحية variable متبوعة باسم المتغير ونوعه. يمكن أيضًا تحديد قيم افتراضية للمتغيرات.
بناء الجملة:
```hcl variable "variable_name" {
type = "data_type" default = "default_value" description = "A description of the variable"
} ```
- variable "variable_name": يعرف المتغير باسم "variable_name".
- type = "data_type": يحدد نوع البيانات للمتغير.
- default = "default_value": يعين قيمة افتراضية للمتغير. إذا لم يتم توفير قيمة عند استخدام المتغير، فسيتم استخدام القيمة الافتراضية.
- description = "A description of the variable": يوفر وصفًا للمتغير، مما يساعد على فهم الغرض منه.
مثال:
```hcl variable "region" {
type = string default = "us-east-1" description = "The AWS region to deploy to"
}
variable "instance_type" {
type = string default = "t2.micro" description = "The EC2 instance type to use"
}
variable "count" {
type = number default = 1 description = "The number of instances to create"
} ```
استخدام المتغيرات
بمجرد تعريف المتغير، يمكنك استخدامه في جميع أنحاء ملف التكوين بالإشارة إليه باسمه.
مثال:
```hcl resource "aws_instance" "example" {
ami = "ami-0c55b44a822247c3a" instance_type = var.instance_type region = var.region count = var.count
} ```
في هذا المثال، يتم استخدام المتغيرات var.instance_type و var.region و var.count لتحديد نوع المثيل، والمنطقة، وعدد المثيلات التي سيتم إنشاؤها.
المتغيرات المحلية مقابل المتغيرات المُعرفة
HCL تدعم نوعين رئيسيين من المتغيرات:
- المتغيرات المُعرفة (Declared Variables): هي المتغيرات التي يتم تعريفها باستخدام كتلة `variable` كما هو موضح أعلاه. هذه المتغيرات يمكن أن تقبل قيمًا من الخارج (مثل سطر الأوامر أو ملف متغيرات) أو تستخدم القيم الافتراضية.
- المتغيرات المحلية (Local Variables): هي المتغيرات التي يتم تعريفها داخل كتلة `locals`. تستخدم المتغيرات المحلية لإجراء عمليات حسابية أو تحويلات على القيم الموجودة داخل ملف التكوين. لا يمكنها قبول قيم من الخارج.
مثال على متغير محلي:
```hcl locals {
instance_name = "my-instance-${random_id.id.hex}"
}
resource "random_id" "id" {
byte_length = 8
}
resource "aws_instance" "example" {
ami = "ami-0c55b44a822247c3a" instance_type = var.instance_type region = var.region name = local.instance_name
} ```
في هذا المثال، يتم تعريف متغير محلي باسم local.instance_name الذي يجمع بين سلسلة ثابتة وقيمة عشوائية تم إنشاؤها بواسطة مورد random_id.
أفضل الممارسات لاستخدام المتغيرات
- استخدم القيم الافتراضية: قم بتعيين قيم افتراضية معقولة للمتغيرات لتجنب الأخطاء عند عدم توفير قيم.
- وصف المتغيرات: قم بتضمين أوصاف واضحة للمتغيرات لمساعدة الآخرين على فهم الغرض منها.
- استخدم الأسماء الوصفية: استخدم أسماء متغيرات وصفية لتسهيل قراءة وفهم ملفات التكوين.
- تجنب المتغيرات العامة: حاول تجنب استخدام المتغيرات العامة قدر الإمكان. بدلاً من ذلك، استخدم المتغيرات المحلية لتحديد النطاق.
- التحقق من صحة المتغيرات: استخدم قواعد التحقق من الصحة لضمان أن المتغيرات تحتوي على قيم صالحة.
روابط ذات صلة
Terraform، HashiCorp Consul، HCL Syntax، Data Types in HCL، Local Variables in HCL، Modules in Terraform، Terraform State، Remote Backends in Terraform، Terraform Providers، Terraform CLI، Terraform Import، Terraform Destroy، Terraform Refresh، Terraform Graph، Terraform Plan
استراتيجيات التحليل الفني وحجم التداول
Moving Averages، Relative Strength Index (RSI)، MACD، Bollinger Bands، Fibonacci Retracements، Volume Weighted Average Price (VWAP)، On Balance Volume (OBV)، Ichimoku Cloud، Candlestick Patterns، Support and Resistance Levels، Trend Lines، Breakout Strategies، Scalping، Day Trading، Swing Trading
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين