zinn-digital/zinn è il nostro provider Terraform ufficiale, pubblicato sul Terraform Registry con release firmate. Gestisce i record DNS sui domini della vostra organizzazione e legge i vostri siti, domini, piani e aree di hosting come origini dati. I siti, le caselle di posta e i piani non sono attualmente gestiti tramite Terraform: per questi, utilizzate la dashboard, l'API, gli SDK o la CLI Zinnector®.
Installazione
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Esegua terraform init. Terraform scarica il provider dal registro e ne verifica la firma.
Creare una chiave API
Apra la pagina Chiavi API della Sua dashboard (app.zinndigital.com/api-keys) e prema Crea una chiave. Per gestire il DNS, spunti sites.view e domains.dns.manage sotto Autorizzazioni. La esporti prima di eseguire Terraform:
export ZINN_API_KEY=zdk_live_…
Le origini dati zinn_regions e zinn_plans non richiedono alcuna chiave.
Gestisci un record 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 crea il record; la modifica di value o ttl lo aggiorna sul posto; la rimozione del blocco lo elimina. name accetta @ per l'apex, un nome relativo come www o un nome completo.
Portare un record esistente sotto Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
L'ID del dominio proviene da data.zinn_domains; l'ID del record viene mostrato dall'elenco dei record DNS dell'API.
Consulti il Suo inventario
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] }
Impostazioni del provider
api_key — la chiave API; l'impostazione predefinita è ZINN_API_KEY.
api_url — il valore predefinito è ZINN_API_URL, quindi https://api.zinndigital.com.
org — l'organizzazione su cui agire; l'impostazione predefinita è ZINN_ORG. Solitamente non necessario, poiché una chiave appartiene a una sola organizzazione.
Risorse utili successive
- La guida sul nostro sito web: zinndigital.com/developers/terraform
- Il provider su Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Codice sorgente: github.com/Zinn-Digital/terraform-provider-zinn