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>
डोमेन id data.zinn_domains से आता है; रिकॉर्ड id 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] }
Provider सेटिंग्स
api_key — API कुंजी; डिफ़ॉल्ट रूप से ZINN_API_KEY।
api_url — डिफ़ॉल्ट रूप से ZINN_API_URL, फिर https://api.zinndigital.com।
org — जिस संगठन पर कार्रवाई करनी है; डिफ़ॉल्ट रूप से ZINN_ORG। आम तौर पर अनावश्यक, क्योंकि एक कुंजी एक ही संगठन से संबंधित होती है।
आगे कहाँ जाएं
- हमारी वेबसाइट पर गाइड: zinndigital.com/developers/terraform
- Terraform Registry पर Provider: registry.terraform.io/providers/zinn-digital/zinn
- सोर्स कोड: github.com/Zinn-Digital/terraform-provider-zinn