A zinn-digital/zinn a hivatalos Terraform szolgáltatónk, amely aláírt kiadásokkal jelenik meg a Terraform Registry felületén. Kezeli a szervezetében lévő domainek DNS-rekordjait, és adatforrásként beolvassa a webhelyeket, domaineket, csomagokat és tárhelyrégiókat. Magukat a webhelyeket, postafiókokat és csomagokat a Terraform jelenleg nem kezeli — ezekhez használja az irányítópultot, az API-t, az SDK-kat vagy a Zinnector® CLI-t.
Telepítés
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Futtassa a terraform init parancsot. A Terraform letölti a szolgáltatót a regiszterből, és ellenőrzi az aláírását.
API-kulcs létrehozása
Nyissa meg az irányítópult API-kulcsok oldalát (app.zinndigital.com/api-keys), majd nyomja meg a Kulcs létrehozása gombot. A DNS kezeléséhez jelölje be a sites.view és a domains.dns.manage lehetőséget az Engedélyek alatt. Exportálja a Terraform futtatása előtt:
export ZINN_API_KEY=zdk_live_…
A(z) zinn_regions és a(z) zinn_plans adatforrásokhoz nincs szükség kulcsra.
DNS-rekord kezelése
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] }
A terraform apply létrehozza a rekordot; a value vagy ttl módosítása helyben frissíti azt; a blokk eltávolítása törli azt. A name elfogadja a @ karaktert az apexhez, a relatív nevet (például www), vagy a teljes nevet.
Meglévő rekord kezelése a Terraform segítségével
terraform import zinn_dns_record.www <domain_id>/<record_id>
A domain azonosítója a data.zinn_domains elemből származik; a rekordazonosítót az API DNS-rekordlistája jeleníti meg.
Olvassa el a leltárát
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] }
Szolgáltatói beállítások
api_key — az API-kulcs; alapértelmezett értéke a ZINN_API_KEY.
api_url — alapértelmezett értéke a ZINN_API_URL, majd a https://api.zinndigital.com.
org — a cél szervezet; alapértelmezett értéke a ZINN_ORG. Általában felesleges, mivel egy kulcs egy szervezethez tartozik.
További lépések
- Útmutató a webhelyünkön: zinndigital.com/developers/terraform
- A szolgáltató a Terraform Registry felületén: registry.terraform.io/providers/zinn-digital/zinn
- Forráskód: github.com/Zinn-Digital/terraform-provider-zinn