Olupese Terraform
Ṣakoso DNS rẹ gẹgẹbi koodu
Olùpèsè Terraform wa, zinn-digital/zinn, ń ṣàkóso àwọn àkọsílẹ̀ DNS lórí àwọn orúkọ ààyè nínú àjọ rẹ ó sì ń ka àwọn ojú-òpó wẹ́ẹ̀bù, àwọn orúkọ ààyè, àwọn ètò àti àwọn agbègbè ìgbàlejò rẹ gẹ́gẹ́ bí orísun àwọn dátà. A tẹ̀ ẹ́ jáde lórí Terraform Registry a sì kọ́ ọ lórí API gbogbogbò kan náà pẹ̀lú gbogbo nǹkan mìíràn.
Fi sori ẹrọ
Kede olupese naa ki o si ṣiṣẹ terraform init. A ti fọwọsi awọn idasilẹ, ati pe Terraform n ṣe idaniloju ifọwọsi nigbati o ba n ṣe igbasilẹ olupese naa.
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}Ibẹrẹ kiakia
Wa aaye ayelujara kan nipa orukọ ki o si tọka www si i, lẹhinna ṣe atokọ awọn agbegbe igbalejo.
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] }Ìfọwọ́sí
Olupese naa n ka kọkọrọ API ti ajo kọọkan lati inu ariyanjiyan api_key tabi lati inu oniyipada ayika ZINN_API_KEY. Awọn orisun data regions ati plans ko nilo kọkọrọ kankan. Fun kọkọrọ naa ni awọn igbanilaaye ti iṣeto rẹ nilo nikan, fun apẹẹrẹ wiwo awọn aaye ayelujara ati iṣakoso DNS.
Ohun ti o n ṣakoso loni
Orisun: zinn_dns_record
Ṣẹda, ṣe imudojuiwọn, paarẹ ati gbe wọle awọn igbasilẹ DNS lori awọn agbegbe rẹ: A, AAAA, CNAME, MX, TXT, SRV ati awọn iru miiran ti agbegbe rẹ ṣe atilẹyin.
Àwọn orísun dátà
zinn_sites àti zinn_domains máa ń ka ètò àjọ yín. zinn_regions àti zinn_plans máa ń ka àkójọ ìwé gbogbogbòò wọn kò sì nílò kókó kankan.
Ti ipilẹṣẹ lati sipesifikesonu
Àwọn àpẹẹrẹ ìbéèrè àti ìdáhùn ti olùpèsè náà ni a ṣẹ̀dá láti inú àlàyé OpenAPI wa, àti pé àwọn àtẹ̀jáde tuntun ni a máa ń tẹ̀jáde sí Terraform Registry láìfọwọ́rọ́.
Ka akojọ-ọja rẹ
Àwọn orísun data kò nílò àwọn ohun-èldò kankan rárá, nítorí náà ẹ lè bẹ̀rẹ̀ nípa kíkà ohun tí ẹ ti ní tẹ́lẹ̀.
# 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] }Àwọn ìbéèrè
Ṣe o ni olipese Terraform kan?
Bẹ́ẹ̀ ni. Lo source = "zinn-digital/zinn" láti Terraform Registry. Lónìí, ó ń ṣàkóso àwọn àkọsílẹ̀ DNS tí ó sì ń ka àwọn ojúlé wẹ́ẹ̀bù, àwọn orúkọ àgbègbè, àwọn ètò àti àwọn agbègbè ìgbàlejò.
Ṣe Terraform le ṣẹda awọn aaye tabi awọn apoti ifiweranṣẹ?
Kò tíì sí bẹ́ẹ̀. A ń ṣàkóso àwọn ojúlé wẹ́ẹ̀bù, àwọn àpótí ìfìwéranṣẹ́ àti àwọn ètò nínú pátákó ìdarí, nípasẹ̀ API, àwọn SDK tàbí Zinnector® CLI. Olùpèsè náà ń ṣàkóso àwọn àkọsílẹ̀ DNS tí ó sì ń ka àwọn tókù.
Bawo ni mo ṣe le mu akọsilẹ DNS to wa tẹlẹ wa labẹ iṣakoso Terraform?
Ṣiṣẹ́ terraform import pẹlu domain id ati record id ti a yà sọ́tọ̀ pẹlu slash, fun apẹẹrẹ terraform import zinn_dns_record.www <domain_id>/<record_id>.
Ṣawari gbogbo ibi-opin
Ohunkohun ti olupese ko tii ṣakoso wa ninu API, eyiti a ṣe apejuwe rẹ ni aaye ipari nipasẹ aaye ipari ninu itọkasi API.