Fournisseur Terraform

Gérez votre DNS sous forme de code

Notre fournisseur Terraform, zinn-digital/zinn, gère les enregistrements DNS sur les domaines de votre organisation et lit vos sites, domaines, forfaits et régions d'hébergement en tant que sources de données. Il est publié sur le Terraform Registry et repose sur la même API publique que tout le reste.

Toute la documentation pour les développeurs →

Installer

Déclarez le fournisseur et exécutez terraform init. Les versions sont signées et Terraform vérifie la signature lors du téléchargement du fournisseur.

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

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

Démarrage rapide

Recherchez un domaine par son nom et faites pointer www vers celui-ci, puis listez les régions d'hébergement.

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

Authentification

Le fournisseur lit une clé d'API par organisation à partir de l'argument api_key ou de la variable d'environnement ZINN_API_KEY. Les sources de données regions et plans n'ont besoin d'aucune clé. N'accordez à la clé que les autorisations nécessaires à votre configuration, par exemple afficher les sites et gérer le DNS.

Créez une clé API dans votre tableau de bord

Ce qu'il gère aujourd'hui

Ressource : zinn_dns_record

Créez, mettez à jour, supprimez et importez des enregistrements DNS sur vos domaines : A, AAAA, CNAME, MX, TXT, SRV et les autres types pris en charge par votre zone.

Sources de données

zinn_sites et zinn_domains lisent votre organisation. zinn_regions et zinn_plans lisent le catalogue public et ne nécessitent aucune clé.

Généré à partir de la spécification

Les modèles de requête et de réponse du fournisseur sont générés à partir de notre spécification OpenAPI, et les nouvelles versions sont publiées automatiquement dans le Terraform Registry.

Consulter votre inventaire

Les sources de données ne nécessitent aucune ressource, vous pouvez donc commencer par lire ce que vous possédez déjà.

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

Questions

Disposez-vous d'un fournisseur Terraform ?

Oui. Utilisez source = "zinn-digital/zinn" depuis le Terraform Registry. Il gère aujourd'hui les enregistrements DNS et lit les sites, les domaines, les forfaits et les régions d'hébergement.

Terraform peut-il créer des sites ou des boîtes aux lettres ?

Pas encore. Les sites, les boîtes aux lettres et les forfaits sont gérés dans le tableau de bord, via l'API, les SDK ou la Zinnector® CLI. Le fournisseur gère les enregistrements DNS et lit le reste.

Comment puis-je placer un enregistrement DNS existant sous la gestion de Terraform ?

Exécutez terraform import avec l'identifiant de domaine et l'identifiant d'enregistrement séparés par une barre oblique, par exemple terraform import zinn_dns_record.www <domain_id>/<record_id>.

Explorer chaque point de terminaison

Tout ce que le fournisseur ne gère pas encore est disponible dans l'API, laquelle est décrite point de terminaison par point de terminaison dans la référence de l'API.

Référence de l'API