Dostawca Terraform
Zarządzaj swoim DNS jako kodem
Nasz dostawca Terraform, zinn-digital/zinn, zarządza rekordami DNS w domenach Twojej organizacji oraz odczytuje Twoje witryny, domeny, plany i regiony hostingu jako źródła danych. Jest on opublikowany w Terraform Registry i zbudowany na tym samym publicznym API, co cała reszta.
Zainstaluj
Zadeklaruj dostawcę i uruchom terraform init. Wydania są podpisane, a Terraform weryfikuje podpis podczas pobierania dostawcy.
terraform {
required_providers {
zinn = {
source = "zinn-digital/zinn"
}
}
}
# api_key falls back to ZINN_API_KEY.
provider "zinn" {}Szybki start
Wyszukaj domenę według nazwy i skieruj na nią prefiks www, a następnie wyświetl listę regionów hostingu.
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] }Uwierzytelnianie
Dostawca odczytuje klucz API dla organizacji z argumentu api_key lub ze zmiennej środowiskowej ZINN_API_KEY. Źródła danych regions i plans nie wymagają klucza. Należy nadać kluczowi tylko te uprawnienia, których wymaga Państwa konfiguracja, na przykład przeglądanie witryn i zarządzanie DNS.
Czym zarządza obecnie
Zasób: zinn_dns_record
Twórz, aktualizuj, usuwaj i importuj rekordy DNS w swoich domenach: A, AAAA, CNAME, MX, TXT, SRV oraz inne typy obsługiwane przez Twoją strefę.
Źródła danych
zinn_sites i zinn_domains odczytują Twoją organizację. zinn_regions i zinn_plans odczytują publiczny katalog i nie wymagają klucza.
Wygenerowano ze specyfikacji
Modele żądań i odpowiedzi dostawcy są generowane na podstawie naszej specyfikacji OpenAPI, a nowe wersje są automatycznie publikowane w Terraform Registry.
Odczytaj swój spis zasobów
Źródła danych nie wymagają żadnych zasobów, więc mogą Państwo zacząć od przeczytania tego, co już Państwo mają.
# A read-only inventory of your organisation and the catalogue.
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] }Pytania
Czy posiadają Państwo dostawcę Terraform?
Tak. Użyj source = "zinn-digital/zinn" z Terraform Registry. Obecnie zarządza rekordami DNS oraz odczytuje witryny, domeny, plany i regiony hostingu.
Czy Terraform może tworzyć witryny lub skrzynki pocztowe?
Jeszcze nie. Witryny, skrzynki pocztowe i plany są zarządzane w panelu kontrolnym, za pośrednictwem API, zestawów SDK lub Zinnector® CLI. Dostawca zarządza rekordami DNS i odczytuje pozostałe dane.
Jak przenieść istniejący rekord DNS pod zarządzanie narzędzia Terraform?
Uruchom terraform import z identyfikatorem domeny i identyfikatorem rekordu rozdzielonymi ukośnikiem, na przykład terraform import zinn_dns_record.www <domain_id>/<record_id>.
Przeglądaj każdy punkt końcowy
Wszystko, czym dostawca jeszcze nie zarządza, jest dostępne w interfejsie API, który opisano punkt końcowy po punkcie końcowym w dokumentacji API.