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 прихвата @ за апекс, релативно име као што је www, или пуно име.
Ставите постојећи запис под Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
Идентификатор домена долази из data.zinn_domains; идентификатор записа приказује листа DNS записа овог API-ја.
Прочитајте свој инвентар
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