OpenAPI English gyrohosting.com ↗
Markdown olarak görClaude'da aç ↗

Gyro DNS (yönetilen DNS)

ns1.gyrodns.net (İstanbul) + ns2.gyrodns.net (Almanya) yetkili DNS: zone'lar, kayıtlar, BIND içe/dışa aktarma, tek tık DNSSEC, sağlık kontrollü failover kayıtları.

#GET/cloud/dns/acme-challenge

Doğrulama kaydı yayında mı?Kapsam: dns_acmeacmeChallengeStatusBu işlemin OpenAPI parçası

İki yetkili ad sunucusuna (ns1/ns2.gyrodns.net) doğrudan sorar. İkisi de value değerini yayınlıyorsa ready true. Ekledikten sonra birkaç saniyede bir sorun (genelde < 1 dk).

Parametreler

AlaninTürAçıklama
name zorunluquerystring_acme-challenge.<domain>
valuequerystringChallenge value (key authorization digest)

Yanıtlar

200Status — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed / action_not_allowed
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-challenge status
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/acme-challenge

ACME doğrulama TXT değeri ekleKapsam: dns_acmeacmeChallengeAddBu işlemin OpenAPI parçası

value değerini name adındaki TXT kümesine ekler (TTL 60); diğer değerler kalır, böylece bir sertifikanın kök ve joker adları birlikte doğrulanır (ad başına en çok 10 değer). Hizmet ve zone addan bulunur (adı kapsayan en uzun Gyro DNS zone'unuz; hosting/cPanel zone'ları desteklenmez). Tekrarlanabilir.

İstek gövdesi

AlanTürAçıklama
name zorunlustring_acme-challenge.<domain> (for *.example.com: _acme-challenge.example.com)
value zorunlustringChallenge value (base64url, 16-128 characters)

Yanıtlar

202Added — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "_acme-challenge.example.com", "value": "string"}'
gyro dns acme-challenge add --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", headers=h, json={"name": "_acme-challenge.example.com", "value": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "_acme-challenge.example.com", "value": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/acme-challenge

ACME doğrulama TXT değerini silKapsam: dns_acmeacmeChallengeRemoveBu işlemin OpenAPI parçası

Yalnız value değerini siler (sorgu ya da JSON gövde); küme boşalınca kayıt silinir.

Parametreler

AlaninTürAçıklama
name zorunluquerystring_acme-challenge.<domain>
valuequerystringChallenge value (key authorization digest)

Yanıtlar

202Removed — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-challenge remove
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/acme-challenge", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/acme-challenge

Doğrulama kaydı yayında mı?Kapsam: dns_acmeacmeChallengeStatusSBu işlemin OpenAPI parçası

İki yetkili ad sunucusuna (ns1/ns2.gyrodns.net) doğrudan sorar. İkisi de value değerini yayınlıyorsa ready true. Ekledikten sonra birkaç saniyede bir sorun (genelde < 1 dk).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id
name zorunluquerystring_acme-challenge.<domain>
valuequerystringChallenge value (key authorization digest)

Yanıtlar

200Status — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed / action_not_allowed
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-challenge status-in-service 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/acme-challenge

ACME doğrulama TXT değeri ekleKapsam: dns_acmeacmeChallengeAddSBu işlemin OpenAPI parçası

value değerini name adındaki TXT kümesine ekler (TTL 60); diğer değerler kalır, böylece bir sertifikanın kök ve joker adları birlikte doğrulanır (ad başına en çok 10 değer). Hizmet ve zone addan bulunur (adı kapsayan en uzun Gyro DNS zone'unuz; hosting/cPanel zone'ları desteklenmez). Tekrarlanabilir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id

İstek gövdesi

AlanTürAçıklama
name zorunlustring_acme-challenge.<domain> (for *.example.com: _acme-challenge.example.com)
value zorunlustringChallenge value (base64url, 16-128 characters)

Yanıtlar

202Added — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "_acme-challenge.example.com", "value": "string"}'
gyro dns acme-challenge add-in-service 12345 --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", headers=h, json={"name": "_acme-challenge.example.com", "value": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "_acme-challenge.example.com", "value": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/acme-challenge

ACME doğrulama TXT değerini silKapsam: dns_acmeacmeChallengeRemoveSBu işlemin OpenAPI parçası

Yalnız value değerini siler (sorgu ya da JSON gövde); küme boşalınca kayıt silinir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id
name zorunluquerystring_acme-challenge.<domain>
valuequerystringChallenge value (key authorization digest)

Yanıtlar

202Removed — data: AcmeChallenge
401Missing, invalid or revoked key
403zone_not_allowed
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-challenge remove-in-service 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-challenge", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/acme-keys

ACME anahtarlarını listeleKapsam: services_readlistAcmeKeysBu işlemin OpenAPI parçası

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id

Yanıtlar

200Keys — data: array<AcmeKey>
401Missing, invalid or revoked key
404Not found — also returned for objects owned by someone else

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-key list 12345
# kaynak gyro_dns_acme_key: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_acme_key
# ACME key for Let's Encrypt DNS-01 (wildcard certificates). It can only add/remove _acme-challenge TXT records.
resource "gyro_dns_acme_key" "k8s" {
  service_id = 12345 # Gyro DNS service
  name       = "k8s-prod"
  zones      = ["example.com"]
}

# e.g. hand it to cert-manager
resource "kubernetes_secret" "gyro_acme" {
  metadata {
    name      = "gyro-acme"
    namespace = "cert-manager"
  }
  data = { token = gyro_dns_acme_key.k8s.token }
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/acme-keys

ACME anahtarı oluşturKapsam: services_writecreateAcmeKeyBu işlemin OpenAPI parçası

Sertifika otomasyonu için yalnız _acme-challenge TXT kaydı ekleyip silebilen anahtar (kapsam dns_acme); isteğe bağlı yalnız zones içinde ve yalnız ips adreslerinden. Zone okuyamaz, başka kayıt değiştiremez, başka uca erişemez. Anahtar bir kez döner. Hizmet başına en çok 10.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id

İstek gövdesi

AlanTürAçıklama
namestringLabel (e.g. web-01)
zonesarray<string>Allowed zones (empty = all zones of the service)
ipsarray<string>Allowed client IPs (empty = any)

Yanıtlar

201Created (token shown once) — data: AcmeKey
401Missing, invalid or revoked key
403subkey_forbidden
404Not found — also returned for objects owned by someone else
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "string", "zones": ["string"], "ips": ["string"]}'
gyro dns acme-key create 12345 --help    # tüm seçenekler
# kaynak gyro_dns_acme_key: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_acme_key
# ACME key for Let's Encrypt DNS-01 (wildcard certificates). It can only add/remove _acme-challenge TXT records.
resource "gyro_dns_acme_key" "k8s" {
  service_id = 12345 # Gyro DNS service
  name       = "k8s-prod"
  zones      = ["example.com"]
}

# e.g. hand it to cert-manager
resource "kubernetes_secret" "gyro_acme" {
  metadata {
    name      = "gyro-acme"
    namespace = "cert-manager"
  }
  data = { token = gyro_dns_acme_key.k8s.token }
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys", headers=h, json={"name": "string", "zones": ["string"], "ips": ["string"]}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "string", "zones": ["string"], "ips": ["string"]}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/acme-keys/{kid}

ACME anahtarını silKapsam: services_writedeleteAcmeKeyBu işlemin OpenAPI parçası

Anahtarı hemen iptal eder.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerGyro DNS service id
kid zorunlupathintegerACME key id

Yanıtlar

200Deleted — data: object
401Missing, invalid or revoked key
404Not found — also returned for objects owned by someone else

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys/1' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns acme-key delete 12345
# kaynak gyro_dns_acme_key: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_acme_key
# ACME key for Let's Encrypt DNS-01 (wildcard certificates). It can only add/remove _acme-challenge TXT records.
resource "gyro_dns_acme_key" "k8s" {
  service_id = 12345 # Gyro DNS service
  name       = "k8s-prod"
  zones      = ["example.com"]
}

# e.g. hand it to cert-manager
resource "kubernetes_secret" "gyro_acme" {
  metadata {
    name      = "gyro-acme"
    namespace = "cert-manager"
  }
  data = { token = gyro_dns_acme_key.k8s.token }
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/acme-keys/1", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/zones

DNS zone'larını listeleKapsam: services_readtyped_get_dns__id__zonesBu işlemin OpenAPI parçası

Bu DNS hizmetinin zone'ları (items, durum active|pending ve TXT doğrulama değeri), cPanel hosting'inizden kopyalanan salt okunur zone'lar (cpanel), paket sınırları ve ad sunucularımız.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns zone list 12345
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/zones

Zone ekleKapsam: services_writetyped_post_dns__id__zonesBu işlemin OpenAPI parçası

Alan adını talep eder. Sahiplik doğrulanınca ns1/ns2.gyrodns.net'te yayınlanır: ad sunucularımıza devir (zaten devredilmişse hemen) ya da mevcut DNS'inizde _gyrodns-dogrulama.<zone> = txt_value TXT kaydı. İsteğe bağlı bind (zone dosyası) etkinleşince içe aktarılır (SOA ve kök NS yok sayılır).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

İstek gövdesi

AlanTürAçıklama
name zorunlustringZone name (IDN allowed)
bindstringOptional BIND zone file (max 2 MB)
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "string", "bind": "string", "confirm": true}'
gyro dns zone create 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones", headers=h, json={"name": "string", "bind": "string", "confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "string", "bind": "string", "confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/zones/{zone}

Zone'u kayıtlarıyla getirKapsam: services_readtyped_get_dns__id__zones__zoneBu işlemin OpenAPI parçası

Zone durumu, seri, DNSSEC (+DS) ve tüm kayıt kümeleri. Bekleyen zone'larda doğrulama bilgisi döner.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns zone get 12345
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/zones/{zone}

Zone'u silKapsam: services_writetyped_delete_dns__id__zones__zoneBu işlemin OpenAPI parçası

Zone'u ve sağlık kontrollerini ad sunucularımızdan hemen kaldırır. "confirm": true gerekir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns zone delete 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/zones/{zone}/verify

Sahipliği şimdi doğrulaKapsam: services_writetyped_post_dns__id__zones__zone__verifyBu işlemin OpenAPI parçası

Devri / TXT'yi şimdi kontrol eder (sistem 14 gün boyunca kendiliğinden de kontrol eder).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/verify' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns zone verify 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/verify", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/verify", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/zones/{zone}/import

BIND zone dosyası içe aktarKapsam: services_writetyped_post_dns__id__zones__zone__importBu işlemin OpenAPI parçası

merge dosyadaki kayıt kümelerini değiştirir, diğerlerini korur; replace dosyada olmayanları da siler. SOA ve kök NS yok sayılır; desteklenmeyen tipler skipped içinde. "confirm": true gerekir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
bind zorunlustring
modestring (merge, replace)
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/import' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"bind": "string", "mode": "merge", "confirm": true}'
gyro dns zone import 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/import", headers=h, json={"bind": "string", "mode": "merge", "confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/import", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"bind": "string", "mode": "merge", "confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/zones/{zone}/export

Zone dosyasını dışa aktarKapsam: services_readtyped_get_dns__id__zones__zone__exportBu işlemin OpenAPI parçası

Zone'u BIND biçiminde döner (bind).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/export' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns zone export 12345
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/export", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/export", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/zones/{zone}/records

Kayıt kümelerini listeleKapsam: services_readtyped_get_dns__id__zones__zone__recordsBu işlemin OpenAPI parçası

Tüm kayıt kümeleri (rrsets). source=cpanel cPanel hosting zone'unuzu okur (salt okunur).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name
sourcequerystringgyrodns (default) | cpanel

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns rrset list 12345
# kaynak gyro_dns_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_record
resource "gyro_dns_record" "www" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "www"
  type       = "A"
  ttl        = 300
  records    = [gyro_server.web.ipv4]
}

resource "gyro_dns_record" "mx" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "@"
  type       = "MX"
  records    = ["10 mx1.example.com.", "20 mx2.example.com."]
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#PUT/cloud/dns/{id}/zones/{zone}/records

Kayıt kümesi oluştur ya da değiştirKapsam: services_writetyped_put_dns__id__zones__zone__recordsBu işlemin OpenAPI parçası

Bir kayıt kümesini (ad + tip) yazar. CNAME ve ALIAS tek değer alır; kökte CNAME olmaz (ALIAS kullanın); kök NS ve SOA bizde.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
name zorunlustringRecord name relative to the zone (@ = apex, * = wildcard) or FQDN with trailing dot
type zorunlustring (A, AAAA, CNAME, MX, TXT, SRV, CAA, ALIAS, NS, PTR)
ttlinteger60-86400 s
records zorunluarray<string>Values in zone file syntax, one per item (TXT quotes optional)
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "string", "type": "A", "ttl": 1, "records": ["string"], "confirm": true}'
gyro dns rrset set 12345 --help    # tüm seçenekler
# kaynak gyro_dns_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_record
resource "gyro_dns_record" "www" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "www"
  type       = "A"
  ttl        = 300
  records    = [gyro_server.web.ipv4]
}

resource "gyro_dns_record" "mx" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "@"
  type       = "MX"
  records    = ["10 mx1.example.com.", "20 mx2.example.com."]
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", headers=h, json={"name": "string", "type": "A", "ttl": 1, "records": ["string"], "confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", {
  method: "PUT",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"name": "string", "type": "A", "ttl": 1, "records": ["string"], "confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/zones/{zone}/records

Kayıt kümesini silKapsam: services_writetyped_delete_dns__id__zones__zone__recordsBu işlemin OpenAPI parçası

name ve type (sorgu) ile verilen kayıt kümesini siler. "confirm": true gerekir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name
namequerystringRecord name
typequerystringRecord type

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns rrset delete 12345 --help    # tüm seçenekler
# kaynak gyro_dns_record: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_record
resource "gyro_dns_record" "www" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "www"
  type       = "A"
  ttl        = 300
  records    = [gyro_server.web.ipv4]
}

resource "gyro_dns_record" "mx" {
  service_id = gyro_dns_zone.example.service_id
  zone       = gyro_dns_zone.example.name
  name       = "@"
  type       = "MX"
  records    = ["10 mx1.example.com.", "20 mx2.example.com."]
}
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/records", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/zones/{zone}/dnssec

DNSSEC durumu ve DS kayıtlarıKapsam: services_readtyped_get_dns__id__zones__zone__dnssecBu işlemin OpenAPI parçası

dnssec ve ds (kayıt firmasına girilecek).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns dnssec status 12345
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/zones/{zone}/dnssec

DNSSEC açKapsam: services_writetyped_post_dns__id__zones__zone__dnssecBu işlemin OpenAPI parçası

Zone'u imzalar (ECDSA P-256), DS kayıtlarını döner. DS kayıt firmasına girilene kadar etkisizdir. ALIAS ile kullanılamaz.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns dnssec enable 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/zones/{zone}/dnssec

DNSSEC kapatKapsam: services_writetyped_delete_dns__id__zones__zone__dnssecBu işlemin OpenAPI parçası

Önce kayıt firmasındaki DS'yi silip TTL kadar bekleyin, yoksa doğrulayan çözümleyiciler hata verir. "confirm": true gerekir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
zone zorunlupathstringZone name

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns dnssec disable 12345 --help    # tüm seçenekler
# kaynak gyro_dns_zone: https://registry.terraform.io/providers/gyro-hosting/gyro/latest/docs/resources/dns_zone
resource "gyro_dns_zone" "example" {
  service_id = 789 # Gyro DNS service
  name       = "example.com"
  dnssec     = true
}

# Point the domain to the name servers (or create the TXT record) to activate the zone
output "nameservers" { value = gyro_dns_zone.example.nameservers }
output "verify_txt" { value = "${gyro_dns_zone.example.verification_txt_name} = ${gyro_dns_zone.example.verification_txt_value}" }
output "ds" { value = gyro_dns_zone.example.ds_records }
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/zones/1/dnssec", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#GET/cloud/dns/{id}/health-checks

Sağlık kontrollü kayıtları listeleKapsam: services_readtyped_get_dns__id__health_checksBu işlemin OpenAPI parçası

Ana/yedek IP, etkin olan ve son durum (3 lokasyon çoğunluğu).

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

Yanıtlar

200Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks' \
  -H "Authorization: Bearer $GYRO_TOKEN"
gyro dns health list 12345
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks", {
  method: "GET",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
  },
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#POST/cloud/dns/{id}/health-checks

Sağlık kontrollü kayıt oluşturKapsam: services_writetyped_post_dns__id__health_checksBu işlemin OpenAPI parçası

name kaydını primary'ye yönlendirir; kontrol çoğunluk lokasyondan düşerse backup'a geçer, 3 başarılı turdan sonra geri döner. Bir sağlık kontrolü ek hizmet birimi kullanır.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id

İstek gövdesi

AlanTürAçıklama
zone zorunlustring
name zorunlustring
type zorunlustring (A, AAAA)
primary zorunlustring
backup zorunlustring
check zorunlustring (http, https, tcp, ping)
portinteger
pathstring
ttlinteger30-300 s
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"zone": "string", "name": "string", "type": "A", "primary": "string", "backup": "string", "check": "http", "port": 1, "path": "string", "ttl": 1, "confirm": true}'
gyro dns health create 12345 --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks", headers=h, json={"zone": "string", "name": "string", "type": "A", "primary": "string", "backup": "string", "check": "http", "port": 1, "path": "string", "ttl": 1, "confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"zone": "string", "name": "string", "type": "A", "primary": "string", "backup": "string", "check": "http", "port": 1, "path": "string", "ttl": 1, "confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);

#DELETE/cloud/dns/{id}/health-checks/{hid}

Sağlık kontrolünü silKapsam: services_writetyped_delete_dns__id__health_checks__hidBu işlemin OpenAPI parçası

Kontrol durur; kayıt mevcut değerinde kalır. "confirm": true gerekir.

Parametreler

AlaninTürAçıklama
id zorunlupathintegerService id
hid zorunlupathstringHealth check id

İstek gövdesi

AlanTürAçıklama
confirmboolean

Yanıtlar

202Tool data / result — data: object
404Not found — also returned for objects owned by someone else
409State conflict (server_locked, not_actionable, ssh_key_exists, server_limit, idempotency_in_flight)
422Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...)

Örnekler

curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks/1' \
  -H "Authorization: Bearer $GYRO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"confirm": true}'
gyro dns health delete 12345 --help    # tüm seçenekler
import os, uuid, requests

h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks/1", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])
const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/dns/12345/health-checks/1", {
  method: "DELETE",
  headers: {
    "Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"confirm": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);