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