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 कुंजी को api_key तर्क या ZINN_API_KEY परिवेश चर से पढ़ता है। 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 के प्रबंधन में कैसे लाऊं?
डोमेन आईडी और रिकॉर्ड आईडी को स्लैश से अलग करके terraform import चलाएं, उदाहरण के लिए terraform import zinn_dns_record.www <domain_id>/<record_id>.
प्रत्येक एंडपॉइंट का अन्वेषण करें
जो कुछ भी प्रदाता द्वारा अभी प्रबंधित नहीं किया जाता है, वह एपीआई में उपलब्ध है, जिसका एपीआई संदर्भ में प्रत्येक एंडपॉइंट के अनुसार विवरण दिया गया है।