Nhà cung cấp Terraform
Quản lý DNS của bạn dưới dạng mã
Nhà cung cấp Terraform của chúng tôi, zinn-digital/zinn, quản lý các bản ghi DNS trên các miền trong tổ chức của bạn và đọc các trang web, miền, gói dịch vụ cũng như khu vực lưu trữ của bạn dưới dạng nguồn dữ liệu. Công cụ này được xuất bản trên Terraform Registry và được xây dựng trên cùng một API công khai như mọi thành phần khác.
Cài đặt
Khai báo nhà cung cấp và chạy terraform init. Các bản phát hành đã được ký và Terraform sẽ xác minh chữ ký khi tải xuống nhà cung cấp.
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}Bắt đầu nhanh
Tìm kiếm miền theo tên và trỏ www về miền đó, sau đó liệt kê các khu vực lưu trữ.
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] }Xác thực
Nhà cung cấp đọc khóa API cho từng tổ chức từ đối số api_key hoặc từ biến môi trường ZINN_API_KEY. Các nguồn dữ liệu regions và plans không cần khóa. Chỉ cấp cho khóa các quyền mà cấu hình của quý vị cần, chẳng hạn như xem các trang web và quản lý DNS.
Những gì đang được quản lý hôm nay
Tài nguyên: zinn_dns_record
Tạo, cập nhật, xóa và nhập bản ghi DNS trên miền của bạn: A, AAAA, CNAME, MX, TXT, SRV và các loại khác mà vùng của bạn hỗ trợ.
Nguồn dữ liệu
zinn_sites và zinn_domains đọc tổ chức của quý vị. zinn_regions và zinn_plans đọc danh mục công khai và không cần khóa.
Được tạo từ thông số kỹ thuật
Các mô hình yêu cầu và phản hồi của nhà cung cấp được tạo từ đặc tả OpenAPI của chúng tôi, đồng thời các bản phát hành mới sẽ tự động được xuất bản lên Terraform Registry.
Đọc bản kiểm kê của bạn
Các nguồn dữ liệu hoàn toàn không cần tài nguyên, vì vậy quý vị có thể bắt đầu bằng việc đọc những gì mình đã có.
# 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] }Câu hỏi
Quý vị có nhà cung cấp Terraform không?
Có. Hãy sử dụng source = "zinn-digital/zinn" từ Terraform Registry. Hiện tại, nó quản lý các bản ghi DNS và đọc các trang web, tên miền, gói dịch vụ cùng các khu vực lưu trữ.
Terraform có thể tạo trang web hoặc hộp thư không?
Chưa phải lúc này. Các trang web, hộp thư và gói dịch vụ được quản lý trong bảng điều khiển, qua API, các SDK hoặc Zinnector® CLI. Nhà cung cấp quản lý các bản ghi DNS và đọc phần còn lại.
Làm cách nào để đưa bản ghi DNS hiện có vào sự quản lý của Terraform?
Chạy lệnh terraform import với domain id và record id được phân tách bằng dấu gạch chéo, ví dụ terraform import zinn_dns_record.www <domain_id>/<record_id>.
Khám phá mọi điểm cuối
Bất kỳ điều gì nhà cung cấp chưa quản lý đều có sẵn trong API, vốn được mô tả từng điểm cuối trong tài liệu tham khảo API.