zinn-digital/zinn ہمارا باضابطہ Terraform فراہم کنندہ ہے، جو دستخط شدہ ریلیزز کے ساتھ Terraform Registry پر شائع ہوا ہے۔ یہ آپ کی تنظیم کے ڈومینز پر DNS ریکارڈز کا انتظام کرتا ہے، اور آپ کی سائٹس، ڈومینز، پلانز اور ہوسٹنگ کے خطوں کو ڈیٹا کے ذرائع کے طور پر پڑھتا ہے۔ سائٹس، میل باکسز اور خود پلانز کا فی الوقت Terraform کے ذریعے انتظام نہیں کیا جاتا ہے — ان کے لیے ڈیش بورڈ، API، SDKs یا 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 ایپیکس کے لیے @، نسبتی نام جیسے www، یا مکمل نام قبول کرتا ہے۔
کسی موجودہ ریکارڈ کو Terraform کے تحت لائیں
terraform import zinn_dns_record.www <domain_id>/<record_id>
ڈومین آئی ڈی data.zinn_domains سے آتی ہے؛ ریکارڈ آئی ڈی API کی DNS ریکارڈ فہرست میں دکھائی جاتی ہے۔
اپنی انوینٹری پڑھیں
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] }
فراہم کنندہ کی ترتیبات
api_key — API کلید؛ طے شدہ قدر ZINN_API_KEY ہے۔
api_url — طے شدہ قدر ZINN_API_URL ہے، پھر https://api.zinndigital.com۔
org — وہ تنظیم جس پر کارروائی کرنی ہے؛ طے شدہ قدر ZINN_ORG ہے۔ عام طور پر غیر ضروری ہے، کیونکہ ایک کلید ایک ہی تنظیم سے تعلق رکھتی ہے۔
آگے کہاں جانا ہے
- ہماری ویب سائٹ پر گائیڈ: zinndigital.com/developers/terraform
- Terraform Registry پر فراہم کنندہ: registry.terraform.io/providers/zinn-digital/zinn
- سورس کوڈ: github.com/Zinn-Digital/terraform-provider-zinn