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 са идентификатором домена и идентификатором записа одвојеним косом цртом, на пример terraform import zinn_dns_record.www <domain_id>/<record_id>.

Истражите сваку крајњу тачку

Све чиме добављач још увек не управља доступно је у API-ју, који је описан крајња тачка по крајња тачка у API референци.

Референца за API