zinn-digital/zinn es nuestro proveedor oficial de Terraform, publicado en el Terraform Registry con versiones firmadas. Gestiona registros DNS en los dominios de su organización y lee sus sitios, dominios, planes y regiones de alojamiento como fuentes de datos. Los sitios, buzones de correo y planes en sí no se gestionan actualmente mediante Terraform; utilice el panel de control, la API, los SDK o la Zinnector® CLI para ellos.
Instalar
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Ejecute terraform init. Terraform descarga el proveedor desde el registro y comprueba su firma.
Crear una clave de API
Abra la página Claves de API de su panel de control (app.zinndigital.com/api-keys) y pulse Crear una clave. Para gestionar el DNS, marque sites.view y domains.dns.manage en Permisos. Expórtela antes de ejecutar Terraform:
export ZINN_API_KEY=zdk_live_…
Las fuentes de datos zinn_regions y zinn_plans no necesitan clave.
Gestionar un registro DNS
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 crea el registro; cambiar value o ttl lo actualiza en el lugar; eliminar el bloque lo borra. name acepta @ para el apex, un nombre relativo como www, o un nombre completo.
Poner un registro existente bajo la administración de Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
El identificador de dominio proviene de data.zinn_domains; el identificador de registro se muestra en la lista de registros DNS de la API.
Lea su inventario
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] }
Configuración del provider
api_key: la clave API; el valor predeterminado es ZINN_API_KEY.
api_url: el valor predeterminado es ZINN_API_URL, seguido de https://api.zinndigital.com.
org: la organización sobre la que se operará; el valor predeterminado es ZINN_ORG. Por lo general, no es necesario, ya que cada clave pertenece a una única organización.
Dónde continuar
- La guía en nuestro sitio web: zinndigital.com/developers/terraform
- El provider en el Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Código fuente: github.com/Zinn-Digital/terraform-provider-zinn