zinn-digital/zinn je naš službeni Terraform davatelj usluga, objavljen na Terraform Registryju s potpisanim izdanjima. Upravlja DNS zapisima na domenama u vašoj organizaciji te čita vaše web-lokacije, domene, tarife i regije hostinga kao izvore podataka. Samim web-lokacijama, pretincima e-pošte i tarifama trenutno se ne upravlja putem Terraforma — za njih upotrebljavajte nadzornu ploču, API, SDK-ove ili Zinnector® CLI.
Instalacija
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Pokrenite terraform init. Terraform preuzima pružatelja usluge iz registra i provjerava njegov potpis.
Izradite API ključ
Otvorite stranicu API ključevi na svojoj nadzornoj ploči (app.zinndigital.com/api-keys) i pritisnite Izradi ključ. Za upravljanje DNS-om označite sites.view i domains.dns.manage u odjeljku Dozvole. Izvezite ga prije pokretanja alata Terraform:
export ZINN_API_KEY=zdk_live_…
Izvori podataka zinn_regions i zinn_plans ne trebaju ključ.
Upravljanje DNS zapisom
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 stvara zapis; promjena parametra value ili ttl ažurira ga na mjestu; uklanjanje bloka ga briše. name prihvaća @ za vršnu domenu (apex), relativni naziv poput www ili puni naziv.
Uvođenje postojećeg zapisa pod Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
ID domene dolazi iz data.zinn_domains; ID zapisa prikazuje se na API-jevom popisu DNS zapisa.
Očitajte svoj inventar
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] }
Postavke pružatelja usluge
api_key — API ključ; zadana vrijednost je ZINN_API_KEY.
api_url — zadana vrijednost je ZINN_API_URL, zatim https://api.zinndigital.com.
org — organizacija na kojoj se izvršava radnja; zadana vrijednost je ZINN_ORG. Obično nije potrebno jer ključ pripada jednoj organizaciji.
Kamo dalje
- Vodič na našoj web-stranici: zinndigital.com/developers/terraform
- Pružatelj usluge na Terraform Registryju: registry.terraform.io/providers/zinn-digital/zinn
- Izvorni kod: github.com/Zinn-Digital/terraform-provider-zinn