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 व्यवस्थापन गर्ने।

आफ्नो ड्यासबोर्डमा API कुञ्जी सिर्जना गर्नुहोस्

यसले आज के व्यवस्थापन गर्छ

स्रोत: 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>।

प्रत्येक एन्डपोइन्ट अन्वेषण गर्नुहोस्

प्रदायकले अहिलेसम्म व्यवस्थापन नगरेको जेसुकै कुरा पनि एपीआईमा उपलब्ध छ, जसलाई एपीआई सन्दर्भमा प्रत्येक अन्त्यविन्दुअनुसार वर्णन गरिएको छ।

एपीआई सन्दर्भ