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.
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.
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.