ഒപ്പിട്ട റിലീസുകളോടെ Terraform Registry-ൽ പ്രസിദ്ധീകരിച്ചിട്ടുള്ള ഞങ്ങളുടെ ഔദ്യോഗിക Terraform പ്രൊവൈഡറാണ് zinn-digital/zinn. ഇത് നിങ്ങളുടെ സ്ഥാപനത്തിലെ ഡൊമെയ്നുകളിലെ 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