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 са идентификатором домена и идентификатором записа одвојеним косом цртом, на пример terraform import zinn_dns_record.www <domain_id>/<record_id>.
Истражите сваку крајњу тачку
Све чиме добављач још увек не управља доступно је у API-ју, који је описан крајња тачка по крајња тачка у API референци.