zinn-digital/zinn-ը մեր պաշտոնական Terraform մատակարարն է, որը հրապարակված է Terraform Registry-ում՝ ստորագրված թողարկումներով: Այն կառավարում է ձեր կազմակերպության դոմեյնների DNS գրառումները և որպես տվյալների աղբյուրներ կարդում է ձեր կայքերը, դոմեյնները, սակագնային պլանները և հոսթինգի տարածաշրջանները: Կայքերը, էլփոստի արկղերը և պլաններն այսօր չեն կառավարվում Terraform-ի միջոցով — դրանց համար օգտագործեք կառավարման վահանակը, API-ը, SDK-ները կամ Zinnector® CLI-ը:
Տեղադրում
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}
Գործարկեք terraform init֊ը: Terraform-ը ներբեռնում է մատակարարին ռեեստրից և ստուգում նրա ստորագրությունը:
Ստեղծել API բանալի
Բացեք ձեր կառավարման վահանակի API բանալիներ էջը (app.zinndigital.com/api-keys) և սեղմեք Ստեղծել բանալի: DNS-ը կառավարելու համար ընտրեք sites.view և domains.dns.manage տարբերակները Թույլտվություններ բաժնում: Արտահանեք այն նախքան Terraform-ը գործարկելը.
export ZINN_API_KEY=zdk_live_…
zinn_regions և zinn_plans տվյալների աղբյուրները բանալի չեն պահանջում:
Կառավարել DNS գրառումը
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-ը ստեղծում է գրառումը, value-ի կամ ttl-ի փոփոխությունը թարմացնում է այն տեղում, իսկ բլոկի հեռացումը ջնջում է այն: name-ն ընդունում է @ apex-ի համար, հարաբերական անուն, ինչպիսին է www-ն, կամ ամբողջական անուն:
Գոյություն ունեցող գրառման տեղափոխում Terraform-ի կառավարման ներքո
terraform import zinn_dns_record.www <domain_id>/<record_id>
Դոմենի id-ն գալիս է data.zinn_domains-ից. գրառման id-ն ցուցադրվում է API-ի DNS գրառումների ցանկում։
Կարդացեք ձեր գույքացուցակը
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] }
Ծառայության մատուցողի կարգավորումներ
api_key — API-ի բանալին, լռելյայն արժեքը՝ ZINN_API_KEY:
api_url — լռելյայն արժեքը՝ ZINN_API_URL, ապա՝ https://api.zinndigital.com:
org — կազմակերպությունը, որի վրա պետք է կատարվեն գործողությունները, լռելյայն արժեքը՝ ZINN_ORG: Սովորաբար պարտադիր չէ, քանի որ բանալին պատկանում է մեկ կազմակերպության:
Ինչ անել հաջորդիվ
- Ուղեցույցը մեր կայքում՝ zinndigital.com/developers/terraform
- Ծառայության մատուցողը Terraform Registry-ում՝ registry.terraform.io/providers/zinn-digital/zinn
- Սկզբնական կոդը՝ github.com/Zinn-Digital/terraform-provider-zinn