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.

Cała dokumentacja dla programistów →

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.

Utwórz klucz API w swoim panelu

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.

Dokumentacja API