قاعدة المعرفة

استخدام موفر Terraform (zinn-digital/zinn)

أضف مزود zinn-digital/zinn من Terraform Registry، وأنشئ مفتاح API، وأدر سجلات DNS كتعليمة برمجية — إنشاء، وتحديث، واستيراد — واقرأ مواقعك ونطاقاتك وخططك ومناطق الاستضافة الخاصة بك كمصادر بيانات.

يُعد zinn-digital/zinn موفر Terraform الرسمي الخاص بنا، وهو منشور على Terraform Registry بإصدارات موقعة. يقوم بإدارة سجلات DNS على النطاقات في مؤسستكم، ويقرأ مواقعكم ونطاقاتكم وخططكم ومناطق الاستضافة الخاصة بكم كمصادر بيانات. لا تتم إدارة المواقع وصناديق البريد والخطط نفسها بواسطة Terraform اليوم — استخدموا لوحة التحكم أو واجهة برمجة التطبيقات (API) أو حزم SDK أو Zinnector® CLI لتلك المهام.

التثبيت

terraform {
  required_providers {
    zinn = {
      source = "zinn-digital/zinn"
    }
  }
}

# api_key falls back to ZINN_API_KEY.
provider "zinn" {}

قم بتشغيل terraform init. يقوم Terraform بتنزيل الموفر من السجل والتحقق من توقيعه.

إنشاء مفتاح API

افتح صفحة مفاتيح API في لوحة التحكم الخاصة بك (app.zinndigital.com/api-keys) واضغط على إنشاء مفتاح. لإدارة DNS، حدد sites.view وdomains.dns.manage ضمن الأذونات. قم بتصديره قبل تشغيل Terraform:

export ZINN_API_KEY=zdk_live_…

لا تحتاج مصادر البيانات zinn_regions وzinn_plans إلى أي مفتاح.

إدارة سجل DNS

data "zinn_regions" "all" {}
data "zinn_domains" "all" {}

resource "zinn_dns_record" "www" {
  domain_id = one([for d in data.zinn_domains.all.domains : d.id if d.fqdn == "example.com"])
  name      = "www"
  type      = "CNAME"
  value     = "example.com."
  ttl       = 3600
}

output "regions" { value = [for r in data.zinn_regions.all.regions : r.slug] }

يقوم terraform apply بإنشاء السجل؛ وتعديل value أو ttl يحدّثه في مكانه؛ وإزالة الكتلة تحذفه. يقبل name القيمة @ للمجال الأصلي (apex)، أو اسمًا نسبيًا مثل www، أو اسمًا كاملاً.

نقل سجل حالي ليصبح تحت إدارة Terraform

terraform import zinn_dns_record.www <domain_id>/<record_id>

يأتي معرّف النطاق من data.zinn_domains؛ ويظهر معرّف السجل في قائمة سجلات DNS الخاصة بواجهة برمجة التطبيقات (API).

قراءة مخزونكم

data "zinn_sites" "all" {}
data "zinn_plans" "agency" { product_line = "agency" }

output "site_count" { value = length(data.zinn_sites.all.sites) }
output "agency_plans" { value = [for p in data.zinn_plans.agency.plans : p.code] }

إعدادات Provider

  • api_key — مفتاح API؛ القيمة الافتراضية هي ZINN_API_KEY.
  • api_url — القيمة الافتراضية هي ZINN_API_URL، ثم https://api.zinndigital.com.
  • org — المؤسسة المراد العمل عليها؛ القيمة الافتراضية هي ZINN_ORG. غير ضروري عادةً، لأن المفتاح ينتمي إلى مؤسسة واحدة.

إلى أين تتجه بعد ذلك

  • الدليل الموجود على موقعنا: zinndigital.com/developers/terraform
  • الـ provider على Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
  • التعليمة البرمجية المصدرية: github.com/Zinn-Digital/terraform-provider-zinn

جميع مستندات المطورين →

الأحدث من المدونة

ما كتبناه حول الاستضافة، وتحسين محركات البحث (SEO)، وإدارة المواقع على نطاق واسع.

تحسين محركات البحث وبناء الروابط من طبقة الاستضافة: رؤية المشغل لعام 2026

كيف تؤثر الاستضافة على الفهرسة وقيمة الروابط في عام 2026: الحفاظ على فهرسة الصفحات، وفحص النطاقات القديمة قبل البناء عليها، وبناء الروابط دون ترك أثر لمحركات البحث، ونظرة صادقة حول ما يمكن للبنية التحتية تقديمه لتهيئة محركات البحث (SEO) وما لا يمكنها فعله.

قراءة المنشور ←

جعل WordPress سريعًا وآمنًا: قائمة تحقق للأداء والمكونات الإضافية

قائمة تحقق عملية للحصول على WordPress سريع وآمن: التخزين المؤقت على مستوى الخادم، وذاكرة تخزين مؤقت للكائنات لكل موقع، ومجموعة المكونات الإضافية القليلة التي تستحق التشغيل، والحفاظ على حداثة الحزمة البرمجية، وصفحات WooCommerce التي يجب ألا تخزنها مؤقتًا أبدًا.

قراءة المنشور ←

كيف تختار استضافة ويب مدارة في عام 2026: دليل المشتري

ما الذي يميز فعلياً الاستضافة المدارة الجيدة عن خادم رخيص مع لوحة تحكم — عمليات النقل، والنسخ الاحتياطي، والعزل، والتخزين المؤقت الحقيقي، وقابلية التوسع الصادقة — وكيفية الحكم عليها قبل الالتزام.

قراءة المنشور ←

اقرأ المدونة ←

ما زلت عالقًا؟

الدعم مشمول في كل خطة، ومكتب الدعم مفتوح 24 ساعة في اليوم، ويمكنك مراسلتنا بأي لغة من لغاتنا البالغ عددها 58 لغة — وسنرد عليك بلغتك.

الاتصال بالدعم → جميع المقالات →