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.
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.
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.