Terraform-provider

Beheer uw DNS als code

Onze Terraform-provider, zinn-digital/zinn, beheert DNS-records voor de domeinen in uw organisatie en leest uw sites, domeinen, pakketten en hostingregio's als gegevensbronnen uit. Deze is gepubliceerd op het Terraform Registry en gebouwd op dezelfde openbare API als al het andere.

Alle ontwikkelaarsdocumentatie →

Installeren

Declareer de provider en voer terraform init uit. Releases zijn ondertekend en Terraform verifieert de handtekening wanneer het de provider downloadt.

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

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

Snelle start

Zoek een domein op naam en verwijs www ernaar, en geef vervolgens de hostingregio's weer.

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

Authenticatie

De provider leest een API-sleutel per organisatie uit het argument api_key of uit de omgevingsvariabele ZINN_API_KEY. De gegevensbronnen regions en plans vereisen geen sleutel. Geef de sleutel alleen de machtigingen die uw configuratie nodig heeft, bijvoorbeeld het bekijken van sites en het beheren van DNS.

Maak een API-sleutel aan in uw dashboard

Wat het vandaag beheert

Resource: zinn_dns_record

Maak, bewerk, verwijder en importeer DNS-records op uw domeinen: A, AAAA, CNAME, MX, TXT, SRV en de overige typen die uw zone ondersteunt.

Gegevensbronnen

zinn_sites en zinn_domains lezen uw organisatie. zinn_regions en zinn_plans lezen de openbare catalogus en hebben geen sleutel nodig.

Gegenereerd op basis van de specificatie

De verzoek- en antwoordmodellen van de provider worden gegenereerd vanuit onze OpenAPI-specificatie, en nieuwe releases worden automatisch gepubliceerd in de Terraform Registry.

Uw inventaris lezen

Gegevensbronnen hebben helemaal geen bronnen nodig, dus u kunt beginnen met het lezen van wat u al hebt.

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

Vragen

Beschikt u over een Terraform-provider?

Ja. Gebruik source = "zinn-digital/zinn" uit de Terraform Registry. Momenteel beheert het DNS-records en leest het sites, domeinen, pakketten en hostingregio's.

Kan Terraform sites of mailboxen aanmaken?

Nog niet. Sites, postbussen en abonnementen worden beheerd in het dashboard, via de API, de SDK's of de Zinnector® CLI. De provider beheert DNS-records en leest de rest.

Hoe breng ik een bestaand DNS-record onder beheer van Terraform?

Voer terraform import uit met de domein-id en de record-id gescheiden door een schuine streep, bijvoorbeeld terraform import zinn_dns_record.www <domain_id>/<record_id>.

Verken elk eindpunt

Alles wat de provider nog niet beheert, is beschikbaar in de API, die eindpunt voor eindpunt wordt beschreven in de API-referentie.

API-referentie