zinn-digital/zinn — imzolangan relizlar bilan Terraform Registry platformasida eʼlon qilingan bizning rasmiy Terraform provayderimizdir. U tashkilotingizdagi domenlarning DNS yozuvlarini boshqaradi hamda saytlaringiz, domenlaringiz, rejalaringiz va hosting hududlaringizni maʼlumot manbalari sifatida oʻqiydi. Hozirda saytlar, pochta qutilari va rejalarning oʻzi Terraform orqali boshqarilmaydi — ular uchun boshqaruv paneli, API, SDKlar yoki Zinnector® CLI dan foydalaning.
Oʻrnatish
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
terraform init buyrugʻini ishga tushiring. Terraform provayderni registrdan yuklab oladi va uning imzosini tekshiradi.
API kalitini yarating
Boshqaruv panelingizdagi API kalitlari sahifasini oching (app.zinndigital.com/api-keys) va Kalit yaratish tugmasini bosing. DNS-ni boshqarish uchun Ruxsatlar ostidagi sites.view va domains.dns.manage bandlarini belgilang. Terraform-ni ishga tushirishdan oldin uni eksport qiling:
export ZINN_API_KEY=zdk_live_…
zinn_regions va zinn_plans maʼlumotlar manbalari kalit talab qilmaydi.
DNS yozuvini boshqarish
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 yozuvni yaratadi; value yoki ttlni oʻzgartirish uni joyida yangilaydi; blokni olib tashlash esa uni oʻchiradi. name choʻqqi (apex) uchun @, www kabi nisbiy nomni yoki toʻliq nomni qabul qiladi.
Mavjud yozuvni Terraform boshqaruviga oʻtkazish
terraform import zinn_dns_record.www <domain_id>/<record_id>
Domen identifikatori data.zinn_domains dan olinadi; yozuv identifikatori esa API ning DNS yozuvlari roʻyxatida koʻrsatiladi.
Inventaringizni oʻqing
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] }
Provayder sozlamalari
api_key — API kaliti; sukut boʻyicha ZINN_API_KEY.
api_url — sukut boʻyicha ZINN_API_URL, keyin https://api.zinndigital.com.
org — amal bajariladigan tashkilot; sukut boʻyicha ZINN_ORG. Odatda shart emas, chunki bitta kalit bitta tashkilotga tegishli boʻladi.
Keyingi qadamlar
- Veb-saytimizdagi qoʻllanma: zinndigital.com/developers/terraform
- Terraform Registryʼdagi provayder: registry.terraform.io/providers/zinn-digital/zinn
- Manba kodi: github.com/Zinn-Digital/terraform-provider-zinn