zinn-digital/zinn ni olupese Terraform tiwa ti o jẹ ojulowo, ti a tẹjade lori Terraform Registry pẹlu awọn idasilẹ ti o ni ifọwọsi. O n ṣakoso awọn akọsilẹ DNS lori awọn agbegbe-ayelujara (domains) ninu ajọ rẹ, o si n ka awọn aaye-ayelujara, awọn agbegbe-ayelujara, awọn eto ati awọn agbegbe igbalejo rẹ gẹgẹbi awọn orisun data. Awọn aaye-ayelujara, awọn apoti-ifiranṣẹ ati awọn eto funraawọn kii ṣe eyi ti a n ṣakoso nipasẹ Terraform lonii — lo dasibodu, API, awọn SDK tabi Zinnector® CLI fun awọn yẹn.
Fi sii
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Ṣiṣẹ terraform init. Terraform yoo ṣe igbasilẹ olupese lati inu iforukọsilẹ yoo si ṣayẹwo ifọwọsi rẹ.
Ṣẹda kọkọrọ API kan
Ṣii oju-iwe Awọn kọkọrọ API ti dasibodu rẹ (app.zinndigital.com/api-keys) ki o si tẹ Ṣẹda kọkọrọ kan. Fun ṣiṣakoso DNS, fi ami si sites.view ati domains.dns.manage labẹ Awọn igbanilaaye. Gbe e jade ṣaaju ṣiṣiṣẹ Terraform:
export ZINN_API_KEY=zdk_live_…
Àwọn orísun dátà zinn_regions àti zinn_plans kò nílò kókórọ́ kankan.
Ṣàkóso àkọsílẹ̀ DNS kan
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 n ṣẹ̀dá àkọsílẹ̀ náà; yíyí value tàbí ttl padà n ṣe àgbéga rẹ̀ lẹ́sẹ̀kẹsẹ̀; yíyọ bulọ́ọ̀kì kúrò n pa á rẹ́. name n gba @ fún apex, orúkọ tí ó bá a mu bíi www, tàbí orúkọ lẹ́kùn-únrẹ́rẹ́.
Mú àkọsílẹ̀ tó wà tẹ́lẹ̀ wá sábẹ́ Terraform
terraform import zinn_dns_record.www <domain_id>/<record_id>
Id agbegbe ti wa lati data.zinn_domains; a fihan id akosile nipa akojọ akosile DNS ti API.
Ka akojọ ohun-ini rẹ
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 ètò olùpèsè
api_key — kókó kọ́kọ́rọ́ API; àiyipada rẹ̀ jẹ́ ZINN_API_KEY.
api_url — àiyipada rẹ̀ jẹ́ ZINN_API_URL, lẹ́yìn náà https://api.zinndigital.com.
org — àjọ tí a fẹ́ ṣiṣẹ́ lórí rẹ̀; àiyipada rẹ̀ jẹ́ ZINN_ORG. Kò pọn dandan ní gbogbogbò, nítorí kókó kọ́kọ́rọ́ kan jẹ́ ti àjọ kan péré.
Ibi tí a lè lọ lẹ́yìn èyí
- Ìtọ́sọ́nà lórí ojúlé wẹ́ẹ̀bù wa: zinndigital.com/developers/terraform
- Olùpèsè náà lórí Terraform Registry: registry.terraform.io/providers/zinn-digital/zinn
- Àkójọ kóòdù orísun: github.com/Zinn-Digital/terraform-provider-zinn