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-ის პროვაიდერი?
დიახ. გამოიყენეთ source = "zinn-digital/zinn" Terraform Registry-დან. დღესდღეობით ის მართავს DNS ჩანაწერებს და კითხულობს საიტებს, დომენებს, გეგმებსა და ჰოსტინგის რეგიონებს.
შეუძლია თუ არა Terraform-ს საიტების ან საფოსტო ყუთების შექმნა?
ჯერ არა. საიტები, საფოსტო ყუთები და ტარიფები იმართება მართვის პანელში, API-ის, SDK-ების ან Zinnector® CLI-ის მეშვეობით. პროვაიდერი მართავს DNS ჩანაწერებს და კითხულობს დანარჩენს.
როგორ ავიყვანო არსებული DNS ჩანაწერი Terraform-ის მართვის ქვეშ?
გაუშვით terraform import დომენის ID-ით და ჩანაწერის ID-ით, რომლებიც გამოყოფილია დახრილი ხაზით, მაგალითად terraform import zinn_dns_record.www <domain_id>/<record_id>.
შეისწავლეთ თითოეული ბოლო წერტილი
ყველაფერი, რასაც პროვაიდერი ჯერ არ მართავს, ხელმისაწვდომია API-ში, რომელიც დეტალურადაა აღწერილი ბოლო წერტილების მიხედვით API-ს ცნობარში.