zinn-digital/zinn არის ჩვენი ოფიციალური Terraform პროვაიდერი, რომელიც გამოქვეყნებულია Terraform Registry-ზე ხელმოწერილი რელიზებით. ის მართავს DNS ჩანაწერებს თქვენი ორგანიზაციის დომენებზე და მონაცემთა წყაროებად კითხულობს თქვენს საიტებს, დომენებს, ტარიფებსა და ჰოსტინგის რეგიონებს. თავად საიტები, საფოსტო ყუთები და ტარიფები ამჟამად არ იმართება Terraform-ის მიერ — მათთვის გამოიყენეთ მართვის პანელი, API, SDK-ები ან Zinnector® CLI.
ინსტალაცია
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
გაუშვით terraform init. Terraform ჩამოტვირთავს პროვაიდერს რეესტრიდან და ამოწმებს მის ხელმოწერას.
API გასაღების შექმნა
გახსენით თქვენი მართვის პანელის გვერდი API გასაღებები (app.zinndigital.com/api-keys) და დააჭირეთ გასაღების შექმნა-ს. DNS-ის სამართავად მონიშნეთ sites.view და domains.dns.manage განყოფილებაში ნებართვები. გაიტანეთ იგი Terraform-ის გაშვებამდე:
export ZINN_API_KEY=zdk_live_…
zinn_regions და zinn_plans მონაცემთა წყაროებს გასაღები არ სჭირდებათ.
DNS ჩანაწერის მართვა
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] }
terraform apply ქმნის ჩანაწერს; value-ს ან ttl-ის შეცვლა ანახლებს მას ადგილზე; ბლოკის წაშლა შლის მას. name იღებს @-ს apex-ისთვის, ფარდობით სახელს, როგორიცაა www, ან სრულ სახელს.
არსებული ჩანაწერის მოქცევა Terraform-ის მართვის ქვეშ
terraform import zinn_dns_record.www <domain_id>/<record_id>
დომენის id მოდის data.zinn_domains-დან; ჩანაწერის id ნაჩვენებია API-ის DNS ჩანაწერების სიაში.
წაიკითხეთ თქვენი ინვენტარი
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] }
პროვაიდერის პარამეტრები
api_key — API გასაღები; ნაგულისხმევია ZINN_API_KEY.
api_url — ნაგულისხმევია ZINN_API_URL, შემდეგ https://api.zinndigital.com.
org — ორგანიზაცია, რომელზეც სრულდება მოქმედება; ნაგულისხმევია ZINN_ORG. როგორც წესი, არასავალდებულოა, რადგან გასაღები ეკუთვნის ერთ ორგანიზაციას.
სად წავიდეთ შემდეგ
- გზამკვლევი ჩვენს ვებსაიტზე: zinndigital.com/developers/terraform
- პროვაიდერი Terraform Registry-ზე: registry.terraform.io/providers/zinn-digital/zinn
- წყაროს კოდი: github.com/Zinn-Digital/terraform-provider-zinn