محتويات الدورة

Terraform / الموديولات والدورة الواعية بالحالة / الدرس 11

الاستيراد وكتل moved واستمرار الملكية

ميّز تبني هوية موجودة من تغيير عنوان مُدار وراجع كليهما بالحالة.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • اشرح معرّف الاستيراد الخاص بالمزود والإعداد الموافق.
  • استخدم moved لوصف استمرار عنوان مدعوم.

يربط الاستيراد هوية ولا يعيد كل قرارات التصميم

يدخل الاستيراد هوية كائن قائم مدعوم إلى ملكية Terraform عند عنوان مختار. يحدد المزود والمورد صيغة المعرّف والخصائص؛ ولا تكفي تسمية تبدو مناسبة. يجب وصف الإدارة المقبلة ومراجعة المقترح الناتج. ليس الاستيراد نسخة أو مراجعة تصميم أو دليلاً على ثبات كل شيء. لا تربط الكائن نفسه بعناوين إدارة متعددة لتبدو إعدادات مستقلة مكتملة.

يبقي المزود المنطقي المثال اصطناعياً

يدعم Random استيراد random_id بمعرّف Base64 الآمن للرابط. يعلن الجذر المستقل القيمة التعليمية AQID بطول ثلاثة بايتات. لا يخاطب سحابة، لكن الاستيراد الفعلي يغير الحالة وممنوع في الدورة. قيد Random مستقل عن الأداة وخاص بهذا المثال. لا ننزل مزوداً أو ننفذ استيراداً.

hcl استيراد منطقي توضيحي كامل
terraform {
  required_version = ">= 1.16.0, < 1.17.0"
  required_providers {
    random = {
      source  = "hashicorp/random"
      version = "~> 3.9.0"
    }
  }
}

resource "random_id" "catalog" {
  byte_length = 3
}

import {
  to = random_id.catalog
  id = "AQID"
}

يرمز AQID للبايتات 01 و 02 و 03 وفق صيغة المزود، وليس معرّف سحابة أو طلب توليد. لا ينفذ HCL ولا ندعي حالة مستوردة أو خروجاً ناجحاً.

تعلن moved استمرار الهوية بين عنوانين

تعلن moved انتقالاً مدعوماً من عنوان مُدار قديم لجديد، وتختلف عن تبني غير المُدار. يفترض المثال المنفصل ارتباط terraform_data.legacy ويغيره إلى catalog. دون الاستمرار قد تُفهم الإزالة والإنشاء كهويتين. احفظ تاريخ الترحيل لتجتاز الحالات والمستدعون الترقيات المدعومة، وافحص الخطة بدلاً من اعتبار التصريح ضمان براءة كل تغيير محيط.

hcl مثبت مستقل لترحيل العنوان
terraform {
  required_version = ">= 1.16.0, < 1.17.0"
}

resource "terraform_data" "catalog" {
  input = "atlas-lab"
}

moved {
  from = terraform_data.legacy
  to   = terraform_data.catalog
}

يشير القديم لحالة سابقة لا مورد ثان يبقى معلناً. يختلف الجذر عن استيراد Random. يجب أن يطابق الاستمرار الكائن والترحيل المدعوم؛ ولا نفحص حالة أو نعدلها.

افحص المعرّف المعلن دون استيراد

يتحقق فك الترميز من المعرّف الثابت ذي البايتات الثلاثة فقط. لا يحاكي استيراد المزود أو يثبت ملكية حالة أو يقرأ لقطة. توضح النماذج الصيغة مع حفظ الحدود. وللمزود الحقيقي ارجع لوثائق استيراد المورد والنسخة، ومنها المعرّف المركب والحساب والمنطقة والخصائص غير المدعومة. لا يثبت نجاح الفك وجود كائن بعيد أو تصريح تبنيه.

python فك المعرّف الثابت دون اتصال
import base64
value = base64.urlsafe_b64decode('AQID')
print(f'bytes={len(value)}')
print('hex=' + value.hex())
الناتج المتوقع
bytes=3
hex=010203

الناتج ثلاثة بايتات بقيمة 010203 دون اعتماد أو مزود أو خلفية أو حالة، ويفحص صيغة المثال فقط.

يحتاج التبني والترحيل أدلة مختلفة

أثبت قبل التبني الهوية والمالك والحالة الهدف ودعم المورد والقصد. وأثبت قبل الترحيل الارتباط والانتقال الدقيق. يحتاج كلاهما دليلاً محمياً ومراجعة اعتماد وتصريحاً وخطة تعاف. الإعداد المولد المدعوم بداية مراجعة لا قصد معماري كامل. لا تستخدم تعديل الحالة أو استيراداً متكرراً لإسكات مقترح مجهول؛ احفظ الدليل وطابق الملكية أولاً.

الأخطاء الشائعة وإصلاحها

Resource Import Not Implemented.

لماذا يحدث؟
لا يدعم المورد التبني المفترض.
كيف تصلحه؟
راجع وثائق النسخة واختر استراتيجية مدعومة.
كيف تتجنب تكراره؟
تحقق من الدعم والصيغة قبل التبني.

تقترح إعادة التسمية حذفاً وإنشاء.

لماذا يحدث؟
غاب استمرار العنوان أو خالف الارتباط.
كيف تصلحه؟
راجع moved المدعومة وفق الهوية المقصودة.
كيف تتجنب تكراره؟
تتبعها كترحيل لا تجميل.

يدار كائن من عناوين متعددة.

لماذا يحدث؟
كرر التبني الملكية بدلاً من نقلها.
كيف تصلحه؟
طابق الملكية بالإجراء المعتمد قبل التغيير.
كيف تتجنب تكراره؟
احفظ عقد إدارة واضحاً لكل هوية.

اختبر فهمك

1. هل يثبت فك AQID استيراد Terraform؟

اعرض الحل المشروح

لا؛ يفحص بايتات نص معلن. يتطلب الاستيراد دعماً وانتقال حالة مصرحاً؛ ولا يثبت الحساب ارتباطاً أو توافقاً أو وجوداً.

2. كيف يختلف نقل legacy إلى catalog من استيراد catalog؟

اعرض الحل المشروح

تحفظ moved استمرار المُدار، ويتبنى الاستيراد هوية وفق الدعم. حدد الانتقال قبل الآلية؛ فقد تكرر الخاطئة الارتباط أو يقترح حذفاً وإنشاء غير مقصودين.

أهم ما تعلمته

  • يتبنى الاستيراد الهوية وتحفظ moved استمرار العنوان المدعوم.
  • افحص الصيغة والملكية ولا تخلط النموذج بتنفيذ الحالة.

المراجع الرسمية