Terraform فراہم کنندہ
اپنے DNS کو بطور کوڈ منظم کریں
ہمارا Terraform فراہم کنندہ، zinn-digital/zinn، آپ کی تنظیم کے ڈومینز پر DNS ریکارڈز کا انتظام کرتا ہے اور آپ کی سائٹس، ڈومینز، پلانس اور ہوسٹنگ ریجنز کو ڈیٹا کے ذرائع کے طور پر پڑھتا ہے۔ یہ Terraform Registry پر شائع کیا گیا ہے اور باقی تمام چیزوں کی طرح اسی عوامی API پر بنایا گیا ہے۔
انسٹال کریں
فراہم کنندہ کا اعلان کریں اور terraform init چلائیں۔ ریلیز دستخط شدہ ہیں، اور فراہم کنندہ کو ڈاؤن لوڈ کرتے وقت Terraform دستخط کی تصدیق کرتا ہے۔
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}فوری شروعات
نام کے ذریعے کوئی ڈومین تلاش کریں اور www کا رخ اس کی طرف کریں، پھر ہوسٹنگ کے خطوں کی فہرست دیکھیں۔
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] }تصدیق
فراہم کنندہ api_key آرگومنٹ سے یا ZINN_API_KEY ماحولیاتی متغیر سے فی تنظیم API کلید پڑھتا ہے۔ regions اور plans ڈیٹا کے ذرائع کو کسی کلید کی ضرورت نہیں ہے۔ کلید کو صرف وہی اجازتیں دیں جن کی آپ کے کنفیگریشن کو ضرورت ہے، مثال کے طور پر سائٹس دیکھنا اور DNS کا انتظام کرنا۔
یہ آج کیا منظم کرتا ہے
وسیلہ: zinn_dns_record
اپنے ڈومینز پر DNS ریکارڈز بنائیں، اپ ڈیٹ کریں، حذف کریں اور درآمد کریں: A، AAAA، CNAME، MX، TXT، SRV اور دیگر اقسام جنہیں آپ کا زون سپورٹ کرتا ہے۔
ڈیٹا کے ذرائع
zinn_sites اور zinn_domains آپ کی تنظیم کو پڑھتے ہیں۔ zinn_regions اور zinn_plans عوامی کیٹلاگ کو پڑھتے ہیں اور انہیں کسی کلید کی ضرورت نہیں ہوتی۔
تفصیلات سے تیار کردہ
فراہم کنندہ کے درخواست اور جواب کے ماڈلز ہمارے OpenAPI کی وضاحت سے تیار کیے جاتے ہیں، اور نئی ریلیزز خودکار طور پر Terraform Registry پر شائع کی جاتی ہیں۔
اپنی انوینٹری پڑھیں
ڈیٹا کے ذرائع کو بالکل بھی وسائل کی ضرورت نہیں ہوتی، لہذا آپ کے پاس جو پہلے سے موجود ہے اسے پڑھ کر آغاز کر سکتے ہیں۔
# A read-only inventory of your organisation and the catalogue.
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] }سوالات
کیا آپ کے پاس Terraform فراہم کنندہ موجود ہے؟
ہاں۔ Terraform Registry سے source = "zinn-digital/zinn" استعمال کریں۔ آج یہ DNS ریکارڈز کا انتظام کرتا ہے اور سائٹس، ڈومینز، منصوبوں اور ہوسٹنگ کے خطوں کو پڑھتا ہے۔
کیا Terraform سائٹس یا میل بکس بنا سکتا ہے؟
ابھی نہیں۔ سائٹس، میل بکسز اور پلانز کا انتظام ڈیش بورڈ میں، API، SDKs یا Zinnector® CLI کے ذریعے کیا جاتا ہے۔ فراہم کنندہ DNS ریکارڈز کا انتظام کرتا ہے اور باقی کو پڑھتا ہے۔
میں موجودہ DNS ریکارڈ کو Terraform کے انتظام کے تحت کیسے لاؤں؟
سلیش کے ساتھ الگ کیے گئے ڈومین id اور ریکارڈ id کے ساتھ terraform import چلائیں، مثال کے طور پر terraform import zinn_dns_record.www <domain_id>/<record_id>۔
ہر اینڈ پوائنٹ دریافت کریں
کوئی بھی چیز جسے فراہم کنندہ ابھی منظم نہیں کرتا ہے وہ API میں دستیاب ہے، جسے API کے حوالے میں ہر اختتامی نقطہ کے لحاظ سے بیان کیا گیا ہے۔