Furnizor Terraform
Gestionați-vă DNS-ul ca pe un cod
Furnizorul nostru Terraform, zinn-digital/zinn, gestionează înregistrările DNS pentru domeniile din organizația dumneavoastră și citește site-urile, domeniile, planurile și regiunile dumneavoastră de găzduire ca surse de date. Este publicat în Terraform Registry și este construit pe aceeași API publică ca toate celelalte componente.
Instalează
Declarați furnizorul și rulați terraform init. Versiunile sunt semnate, iar Terraform verifică semnătura atunci când descarcă furnizorul.
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}Pornire rapidă
Căutați un domeniu după nume și direcționați www către acesta, apoi listați regiunile de găzduire.
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] }Autentificare
Furnizorul citește o cheie API per organizație din argumentul api_key sau din variabila de mediu ZINN_API_KEY. Sursele de date regions și plans nu necesită nicio cheie. Acordați cheii doar permisiunile de care are nevoie configurația dumneavoastră, de exemplu vizualizarea site-urilor și gestionarea DNS.
Ce gestionează astăzi
Resursă: zinn_dns_record
Creați, actualizați, ștergeți și importați înregistrări DNS pe domeniile dumneavoastră: A, AAAA, CNAME, MX, TXT, SRV și celelalte tipuri acceptate de zona dumneavoastră.
Surse de date
zinn_sites și zinn_domains citesc organizația dumneavoastră. zinn_regions și zinn_plans citesc catalogul public și nu necesită nicio cheie.
Generat din specificație
Modelele de solicitare și răspuns ale furnizorului sunt generate din specificația noastră OpenAPI, iar noile versiuni sunt publicate automat în Terraform Registry.
Citiți inventarul dvs.
Sursele de date nu au nevoie de resurse deloc, așa că puteți începe prin a citi ceea ce aveți deja.
# 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] }Întrebări
Aveți un furnizor Terraform?
Da. Utilizați source = "zinn-digital/zinn" din Terraform Registry. În prezent, acesta gestionează înregistrările DNS și citește site-uri, domenii, planuri și regiuni de găzduire.
Poate Terraform să creeze site-uri sau căsuțe poștale?
Încă nu. Site-urile, căsuțele poștale și planurile sunt gestionate în tabloul de bord, prin API, SDK-uri sau Zinnector® CLI. Furnizorul gestionează înregistrările DNS și citește restul.
Cum pot trece o înregistrare DNS existentă sub administrarea Terraform?
Rulați terraform import cu ID-ul domeniului și ID-ul înregistrării separate printr-o bară oblică, de exemplu terraform import zinn_dns_record.www <domain_id>/<record_id>.
Explorați fiecare punct final
Tot ceea ce furnizorul nu gestionează încă este disponibil în API, care este descris punct final cu punct final în documentația de referință a API-ului.