Penyedia Terraform
Urus DNS anda sebagai kod
Penyedia Terraform kami, zinn-digital/zinn, mengurus rekod DNS pada domain dalam organisasi anda dan membaca tapak, domain, pelan serta rantau pengehosan anda sebagai sumber data. Ia diterbitkan di Terraform Registry dan dibina berdasarkan API awam yang sama seperti yang lain.
Pasang
Isytiharkan penyedia dan jalankan terraform init. Keluaran ditandatangani, dan Terraform mengesahkan tandatangan apabila ia memuat turun penyedia.
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}Mula pantas
Cari domain mengikut nama dan halakan www kepadanya, kemudian senaraikan rantau pengehosan.
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] }Pengesahan
Penyedia membaca kunci API bagi setiap organisasi daripada argumen api_key atau daripada pemboleh ubah persekitaran ZINN_API_KEY. Sumber data regions dan plans tidak memerlukan kunci. Berikan kunci tersebut kebenaran yang diperlukan oleh konfigurasi anda sahaja, contohnya melihat tapak dan menguruskan DNS.
Perkara yang diuruskan hari ini
Sumber: zinn_dns_record
Cipta, kemas kini, padam dan import rekod DNS pada domain anda: A, AAAA, CNAME, MX, TXT, SRV dan jenis lain yang disokong oleh zon anda.
Sumber data
zinn_sites dan zinn_domains membaca organisasi anda. zinn_regions dan zinn_plans membaca katalog awam dan tidak memerlukan sebarang kunci.
Dijana daripada spesifikasi
Model permintaan dan respons penyedia dijana daripada spesifikasi OpenAPI kami, dan keluaran baharu diterbitkan ke Terraform Registry secara automatik.
Baca inventori anda
Sumber data tidak memerlukan sebarang sumber langsung, jadi anda boleh bermula dengan membaca apa yang sudah anda miliki.
# 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] }Soalan
Adakah anda mempunyai pembekal Terraform?
Ya. Gunakan source = "zinn-digital/zinn" daripada Terraform Registry. Pada masa ini, ia mengurus rekod DNS dan membaca tapak, domain, pelan serta rantau pengehosan.
Bolehkah Terraform mencipta tapak atau peti mel?
Belum lagi. Tapak, peti mel dan pelan diuruskan dalam papan pemuka, melalui API, SDK atau Zinnector® CLI. Pembekal menguruskan rekod DNS dan membaca selebihnya.
Bagaimanakah cara untuk membawa rekod DNS sedia ada di bawah pengurusan Terraform?
Jalankan terraform import dengan id domain dan id rekod yang dipisahkan dengan garis condong, contohnya terraform import zinn_dns_record.www <domain_id>/<record_id>.
Terokai setiap titik akhir
Apa-apa sahaja yang belum diuruskan oleh penyedia tersedia dalam API, yang diterangkan mengikut titik akhir dalam rujukan API.