zinn-digital/zinn este furnizorul nostru oficial Terraform, publicat pe Terraform Registry cu versiuni semnate. Acesta gestionează înregistrările DNS pentru domeniile din organizația dumneavoastră și citește site-urile, domeniile, planurile și regiunile de găzduire ca surse de date. Site-urile, căsuțele poștale și planurile propriu-zise nu sunt gestionate de Terraform în prezent — utilizați tabloul de bord, API-ul, SDK-urile sau Zinnector® CLI pentru acestea.
Instalare
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Rulați terraform init. Terraform descarcă furnizorul din registru și îi verifică semnătura.
Creați o cheie API
Deschideți pagina Chei API din tabloul dvs. de bord (app.zinndigital.com/api-keys) și apăsați pe Creați o cheie. Pentru gestionarea DNS, bifați sites.view și domains.dns.manage la secțiunea Permisiuni. Exportați-o înainte de a rula Terraform:
export ZINN_API_KEY=zdk_live_…
Sursele de date zinn_regions și zinn_plans nu necesită nicio cheie.
Gestionați o înregistrare 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 creează înregistrarea; modificarea value sau ttl o actualizează pe loc; eliminarea blocului o șterge. name acceptă @ pentru apex, un nume relativ precum www sau un nume complet.
Aduceți o înregistrare existentă sub Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
ID-ul domeniului provine din data.zinn_domains; ID-ul înregistrării este afișat de lista de înregistrări DNS a API-ului.
Citiți-vă inventarul
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] }
Setările furnizorului
api_key — cheia API; valoarea implicită este ZINN_API_KEY.
api_url — valoarea implicită este ZINN_API_URL, apoi https://api.zinndigital.com.
org — organizația asupra căreia se acționează; valoarea implicită este ZINN_ORG. De obicei inutil, deoarece o cheie aparține unei singure organizații.
Ce urmează
- Ghidul de pe site-ul nostru: zinndigital.com/developers/terraform
- Furnizorul din Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Codul sursă: github.com/Zinn-Digital/terraform-provider-zinn