zinn-digital/zinn — це наш офіційний провайдер Terraform, опублікований у Terraform Registry із підписаними релізами. Він керує записами DNS на доменах вашої організації та зчитує ваші сайти, домени, плани й регіони хостингу як джерела даних. Самі сайти, поштові скриньки та плани наразі не керуються через Terraform — для них використовуйте панель керування, API, SDK або Zinnector® CLI.
Встановлення
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Виконайте terraform init. Terraform завантажить постачальника з реєстру та перевірить його підпис.
Створіть ключ API
Відкрийте сторінку Ключі API на вашій панелі керування (app.zinndigital.com/api-keys) і натисніть Створити ключ. Для керування DNS позначте sites.view та domains.dns.manage у розділі Дозволи. Експортуйте його перед запуском Terraform:
export ZINN_API_KEY=zdk_live_…
Джерела даних zinn_regions та zinn_plans не потребують ключа.
Керування записом 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 створює запис; зміна value або ttl оновлює його на місці; видалення блоку видаляє його. name приймає @ для вершини домену, відносне ім'я, як-от www, або повне ім'я.
Переведення наявного запису під керування Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
Ідентифікатор домену береться з data.zinn_domains; ідентифікатор запису відображається у списку записів DNS цього API.
Читайте свій інвентар
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] }
Налаштування постачальника
api_key — ключ API; за замовчуванням ZINN_API_KEY.
api_url — за замовчуванням ZINN_API_URL, потім https://api.zinndigital.com.
org — організація, для якої виконується дія; за замовчуванням ZINN_ORG. Зазвичай необов’язково, оскільки ключ належить одній організації.
Куди перейти далі
- Посібник на нашому вебсайті: zinndigital.com/developers/terraform
- Постачальник у Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Вихідний код: github.com/Zinn-Digital/terraform-provider-zinn