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>
ডোমেন আইডিটি data.zinn_domains থেকে আসে; রেকর্ড আইডিটি 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] }
Provider সেটিংস
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