Provider ng Terraform

Pamahalaan ang iyong DNS bilang code

Pinapamahalaan ng aming provider ng Terraform, ang zinn-digital/zinn, ang mga tala ng DNS sa mga domain sa inyong organisasyon at binabasa ang inyong mga site, domain, plano, at rehiyon ng pag-host bilang mga mapagkukunan ng data. Naka-publish ito sa Terraform Registry at binuo sa parehong pampublikong API tulad ng iba pa.

Lahat ng dokumentasyon ng developer →

I-install

Ideklara ang provider at patakbuhin ang terraform init. Nilagdaan ang mga release, at bine-verify ng Terraform ang lagda kapag dina-download nito ang provider.

terraform {
  required_providers {
    zinn = {
      source = "zinn-digital/zinn"
    }
  }
}

# api_key falls back to ZINN_API_KEY.
provider "zinn" {}

Mabilisang pagsisimula

Maghanap ng domain ayon sa pangalan at ituro ang www dito, pagkatapos ay ilista ang mga rehiyon ng hosting.

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] }

Pagpapatotoo

Binabasa ng provider ang bawat organisasyong API key mula sa argument na api_key o mula sa environment variable na ZINN_API_KEY. Ang mga data source na regions at plans ay hindi nangangailangan ng key. Ibigay lamang sa key ang mga pahintulot na kailangan ng iyong configuration, halimbawa ay ang pagtingin sa mga site at pamamahala ng DNS.

Gumawa ng API key sa iyong dashboard

Ang pinamamahalaan nito ngayon

Resource: zinn_dns_record

Gumawa, mag-update, magtanggal, at mag-import ng mga DNS record sa iyong mga domain: A, AAAA, CNAME, MX, TXT, SRV, at iba pang uri na sinusuportahan ng iyong zone.

Mga pinagmulan ng data

Binabasa ng zinn_sites at zinn_domains ang inyong organisasyon. Binabasa naman ng zinn_regions at zinn_plans ang pampublikong katalogo at hindi nangangailangan ng susi.

Nabuo mula sa detalye

Ang mga modelo ng kahilingan at tugon ng provider ay nabubuo mula sa aming detalye ng OpenAPI, at ang mga bagong release ay awtomatikong inilalathala sa Terraform Registry.

Basahin ang iyong imbentaryo

Hindi nangangailangan ng anumang resource ang mga data source, kaya maaari kayong magsimula sa pamamagitan ng pagbabasa sa kung ano na ang mayroon kayo.

# 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] }

Mga Tanong

Mayroon ba kayong Terraform provider?

Oo. Gamitin ang source = "zinn-digital/zinn" mula sa Terraform Registry. Sa kasalukuyan, pinapamahalaan nito ang mga DNS record at binabasa ang mga site, domain, plano, at rehiyon ng hosting.

Maaari bang gumawa ang Terraform ng mga site o mailbox?

Hindi pa. Ang mga site, mailbox, at plano ay pinapamahalaan sa dashboard, sa pamamagitan ng API, ng mga SDK, o ng Zinnector® CLI. Pinapamahalaan ng provider ang mga DNS record at binabasa ang iba pa.

Paano ko maililipat ang isang umiiral na DNS record sa pamamahala ng Terraform?

Patakbuhin ang terraform import nang may domain id at record id na pinaghihiwalay ng slash, halimbawa terraform import zinn_dns_record.www <domain_id>/<record_id>.

I-explore ang bawat endpoint

Ang anumang hindi pa pinapamahalaan ng provider ay available sa API, na inilalarawan bawat endpoint sa sanggunian ng API.

Sanggunian ng API