Ang zinn-digital/zinn ang aming opisyal na provider ng Terraform, na inilathala sa Terraform Registry na may mga nilagdaang release. Pinapamahalaan nito ang mga DNS record sa mga domain sa iyong organisasyon, at binabasa nito ang iyong mga site, mga domain, mga plano at mga rehiyon ng pag-host bilang mga pinagmumulan ng data. Ang mga mismong site, mailbox, at plano ay hindi pinapamahalaan ng Terraform sa ngayon — gamitin ang dashboard, ang API, ang mga SDK o ang Zinnector® CLI para sa mga iyon.
I-install
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Patakbuhin ang terraform init. Ida-download ng Terraform ang provider mula sa registry at titingnan ang lagda nito.
Gumawa ng API key
Buksan ang pahina ng Mga API key ng iyong dashboard (app.zinndigital.com/api-keys) at pindutin ang Gumawa ng key. Para sa pamamahala ng DNS, lagyan ng tsek ang sites.view at domains.dns.manage sa ilalim ng Mga Pahintulot. I-export ito bago patakbuhin ang Terraform:
export ZINN_API_KEY=zdk_live_…
Ang mga pinagmulan ng data na zinn_regions at zinn_plans ay hindi nangangailangan ng key.
Pamahalaan ang isang DNS record
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] }
Lumilikha ng record ang terraform apply; ang pagpapalit ng value o ttl ay nag-a-update nito on the spot; ang pag-alis ng block ay nagbubura nito. Tumatanggap ang name ng @ para sa apex, isang relative name tulad ng www, o isang buong pangalan.
Ilagay ang isang umiiral na record sa ilalim ng Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
Nagmumula ang domain id sa data.zinn_domains; ang record id ay ipinapakita ng listahan ng DNS record ng API.
Basahin ang iyong imbentaryo
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] }
Mga setting ng Provider
api_key — ang API key; default ay ZINN_API_KEY.
api_url — default ay ZINN_API_URL, pagkatapos ay https://api.zinndigital.com.
org — ang organisasyong paggaganapan; default ay ZINN_ORG. Karaniwang hindi kailangan, dahil ang isang key ay nabibilang sa iisang organisasyon.
Kung saan susunod na pupunta
- Ang gabay sa aming website: zinndigital.com/developers/terraform
- Ang provider sa Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Source code: github.com/Zinn-Digital/terraform-provider-zinn