Provider Terraform

Gestite il vostro DNS come codice

Il nostro provider Terraform, zinn-digital/zinn, gestisce i record DNS sui domini della vostra organizzazione e legge i vostri siti, domini, piani e regioni di hosting come origini dati. È pubblicato su Terraform Registry ed è basato sulla stessa API pubblica di tutto il resto.

Tutta la documentazione per sviluppatori →

Installa

Dichiari il provider ed esegua terraform init. I rilasci sono firmati e Terraform verifica la firma quando scarica il provider.

terraform {
  required_providers {
    zinn = {
      source = "zinn-digital/zinn"
    }
  }
}

# api_key falls back to ZINN_API_KEY.
provider "zinn" {}

Guida rapida

Cercate un dominio per nome e indirizzate www verso di esso, quindi elencate le aree geografiche di hosting.

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] }

Autenticazione

Il provider legge una chiave API specifica per ogni organizzazione dall'argomento api_key o dalla variabile di ambiente ZINN_API_KEY. Le origini dati regions e plans non richiedono alcuna chiave. Assegnate alla chiave solo i permessi necessari alla vostra configurazione, ad esempio la visualizzazione dei siti e la gestione del DNS.

Crei una chiave API nella Sua dashboard

Cosa gestisce oggi

Risorsa: zinn_dns_record

Cree, aggiorni, elimini e importi i record DNS sui Suoi domini: A, AAAA, CNAME, MX, TXT, SRV e gli altri tipi supportati dalla Sua zona.

Origini dati

zinn_sites e zinn_domains leggono la vostra organizzazione. zinn_regions e zinn_plans leggono il catalogo pubblico e non richiedono alcuna chiave.

Generato dalla specifica

I modelli di richiesta e risposta del provider vengono generati dalla nostra specifica OpenAPI e le nuove versioni vengono pubblicate automaticamente nel Terraform Registry.

Leggi l'inventario

Le origini dati non richiedono alcuna risorsa, quindi potete iniziare leggendo ciò che avete già.

# 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] }

Domande

Disponete di un provider Terraform?

Sì. Utilizzi source = "zinn-digital/zinn" dal Terraform Registry. Oggi gestisce i record DNS e legge siti, domini, piani e regioni di hosting.

Terraform può creare siti o caselle di posta?

Non ancora. I siti, le caselle di posta e i piani vengono gestiti nella dashboard, tramite l'API, gli SDK o la Zinnector® CLI. Il provider gestisce i record DNS e legge il resto.

Come posso portare un record DNS esistente sotto la gestione di Terraform?

Esegua terraform import con l'ID di dominio e l'ID di record separati da una barra, ad esempio terraform import zinn_dns_record.www <domain_id>/<record_id>.

Esplora ogni endpoint

Tutto ciò che il provider non gestisce ancora è disponibile nell'API, descritta endpoint per endpoint nella documentazione di riferimento dell'API.

Documentazione API