zinn-digital/zinn нь Terraform Registry дээр баталгаажсан хувилбаруудтай нийтлэгдсэн манай албан ёсны Terraform нийлүүлэгч юм. Энэ нь танай байгууллагын домэйнуудын 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 нь apex-д зориулж @, www гэх мэт харьцангуй нэр эсвэл бүтэн нэрийг хүлээн авдаг.
Одоо байгаа бичилтийг Terraform-ийн удирдлагад оруулах
terraform import zinn_dns_record.www <domain_id>/<record_id>
Домэйн id нь data.zinn_domains-аас ирдэг; бичлэгийн id-г API-ийн DNS бичлэгийн жагсаалтад харуулна.
Өөрийн бүртгэлийг унших
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