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-ის მართვა.

შექმენით 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-ის პროვაიდერი?

დიახ. გამოიყენეთ 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-ს ცნობარში.

API ცნობარი