zinn-digital/zinn သည် လက်မှတ်ရေးထိုးထားသော ထုတ်ဝေမှုများနှင့်အတူ Terraform Registry တွင် ထုတ်ဝေထားသည့် ကျွန်ုပ်တို့၏ တရားဝင် Terraform ပံ့ပိုးပေးသူ (provider) ဖြစ်သည်။ ၎င်းသည် သင့်အဖွဲ့အစည်းရှိ ဒိုမိန်းများပေါ်ရှိ 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 မှ လာပြီး record id ကို API ၏ DNS record စာရင်းမှ ပြသထားပါသည်။
သင်၏ အရင်းအမြစ်စာရင်းကို ဖတ်ရှုပါ
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