zinn-digital/zinn — қол қойылған шығарылымдары бар Terraform Registry жүйесінде жарияланған біздің ресми Terraform провайдеріміз. Ол ұйымыңыздағы домендердің 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>
Домен идентификаторы data.zinn_domains мәнінен алынады; жазба идентификаторы 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