Docs API başvurusu Private networks Private networks Gyro Bulut İstanbul (tr-ist-1) sunucuları için özel ağlar (VPC): subnetler, özel ağ kartları, sunucunun public IPv4'ünü kapatma ve VPC kapısı (NAT ile internet çıkışı, port yönlendirme, subnetler arası kural). VPC, subnet ve özel trafik ücretsiz; kapı açıkken ön ödemeli bakiyeden saatlik ücretlenir (ayda en çok 4,99 €).
# GET /cloud/vpcs Özel ağları listele Kapsam: cloud_read listVpcs Bu işlemin OpenAPI parçası
Yalnız tr-ist-1. Sınırlar (GET /cloud/vpcs limits, destek talebiyle artırılır): hesap başına 3 VPC, VPC başına 4 subnet, sunucu başına 3 özel kart, VPC başına 20 port yönlendirme; bir sunucu aynı anda tek VPC'ye (o VPC'nin birden çok subnetine) bağlanır. Başka hesabın nesnesi 404 döner. limits ve pricing de döner.
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/vpcs", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs", {
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/vpcs Özel ağ oluştur Kapsam: cloud_write createVpc Bu işlemin OpenAPI parçası
Yalnız tr-ist-1. Sınırlar (GET /cloud/vpcs limits, destek talebiyle artırılır): hesap başına 3 VPC, VPC başına 4 subnet, sunucu başına 3 özel kart, VPC başına 20 port yönlendirme; bir sunucu aynı anda tek VPC'ye (o VPC'nin birden çok subnetine) bağlanır. Başka hesabın nesnesi 404 döner. 10.0.0.0/8, 172.16.0.0/12 ya da 192.168.0.0/16 içinde /16 - /24 özel aralık; ağ adresi yazılır (10.10.0.0/16, 10.10.0.5/16 değil). Platforma ayrılmış: 10.42.0.0/16, 10.43.0.0/16, 10.200.0.0/16, 10.250.0.0/16, 10.255.0.0/16. İlk subnet birlikte açılır: subnet.cidr ya da verilmezse aralığın ilk /24'ü (ad default). Ücretsiz.
İstek gövdesi Alan Tür Açıklama name zorunlu string cidr zorunlu string project_idinteger subnetobject subnet.namestring subnet.cidrstring
Yanıtlar 201 OK — data: Vpc 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "string", "cidr": "10.10.0.0/16", "project_id": 1, "subnet": {"name": "string", "cidr": "10.10.1.0/24"}}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/vpcs", headers=h, json={"name": "string", "cidr": "10.10.0.0/16", "project_id": 1, "subnet": {"name": "string", "cidr": "10.10.1.0/24"}}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "string", "cidr": "10.10.0.0/16", "project_id": 1, "subnet": {"name": "string", "cidr": "10.10.1.0/24"}}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# GET /cloud/vpcs/{vpc_id} Özel ağı getir Kapsam: cloud_read getVpc Bu işlemin OpenAPI parçası
Subnetler, bağlı sunucular ve kapı.
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
Yanıtlar 200 OK — data: Vpc 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/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}`);# PATCH /cloud/vpcs/{vpc_id} Özel ağın adını değiştir Kapsam: cloud_write updateVpc Bu işlemin OpenAPI parçası
Yalnız ad değişir (aralık değişmez).
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
İstek gövdesi Alan Tür Açıklama name zorunlu string
Yanıtlar 200 OK — data: Vpc 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X PATCH 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "string"}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.patch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1", headers=h, json={"name": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1", {
method: "PATCH",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/vpcs/{vpc_id} Özel ağı sil Kapsam: cloud_write deleteVpc Bu işlemin OpenAPI parçası
Kalıcıdır. Önce sunucu kartlarını çıkarın ve port yönlendirmelerini silin (409 vpc_in_use); açık kapı kapatılır. "confirm": true gerekir (gövde ya da sorgu).
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs) confirmquery boolean
İstek gövdesi Alan Tür Açıklama confirmboolean
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"confirm": true}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1", headers=h, json={"confirm": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/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}`);# GET /cloud/vpcs/{vpc_id}/subnets Subnetleri listele Kapsam: cloud_read listVpcSubnets Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets", {
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/vpcs/{vpc_id}/subnets Subnet ekle Kapsam: cloud_write createVpcSubnet Bu işlemin OpenAPI parçası
VPC aralığı içinde /20 - /28, başka subnetle çakışmadan. cidr verin ya da sıradaki boş aralık için prefix (varsayılan 24). Her subnette .1 kapıdır; .0-.4 ve son adres ayrılmıştır.
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
İstek gövdesi Alan Tür Açıklama name zorunlu string cidrstring prefixinteger
Yanıtlar 201 OK — data: VpcSubnet 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "string", "cidr": "string", "prefix": 1}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets", headers=h, json={"name": "string", "cidr": "string", "prefix": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"name": "string", "cidr": "string", "prefix": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/vpcs/{vpc_id}/subnets/{subnet_id} Subneti sil Kapsam: cloud_write deleteVpcSubnet Bu işlemin OpenAPI parçası
Bağlı kart ya da ona yönlenen port yönlendirme varken reddedilir (409 subnet_in_use); son subnet silinmez (VPC'yi silin).
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs) subnet_id zorunlu path string Subnet id
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets/1' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/subnets/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/vpcs/{vpc_id}/gateway VPC kapısını getir Kapsam: cloud_read getVpcGateway Bu işlemin OpenAPI parçası
Kapı; public IP'si kapalı sunucuların internete çıkışını (NAT), port yönlendirmeyi ve subnetler arası kuralı sağlar. Açıkken ön ödemeli bakiyeden saatlik ücretlenir (monthly_eur / 672, en az 1 saat, ayda en çok monthly_eur) ve hesapta en az bir ön ödemeli tr-ist-1 sunucusu gerekir (409 no_billing_server). Kapatınca public IP bırakılır; port yönlendirme varken ya da public IP'si kapalı sunucular kullanırken reddedilir (409 gateway_in_use, allow_no_egress: true ile tekrarlayın). Dışarı çıkan bağlantılar 5651 sayılı Kanun gereği kaydedilir (2 yıl).
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
Yanıtlar 200 OK — data: VpcGateway 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway", {
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/vpcs/{vpc_id}/gateway VPC kapısını aç/kapat, ayarla Kapsam: cloud_write setVpcGateway Bu işlemin OpenAPI parçası
Kapı; public IP'si kapalı sunucuların internete çıkışını (NAT), port yönlendirmeyi ve subnetler arası kuralı sağlar. Açıkken ön ödemeli bakiyeden saatlik ücretlenir (monthly_eur / 672, en az 1 saat, ayda en çok monthly_eur) ve hesapta en az bir ön ödemeli tr-ist-1 sunucusu gerekir (409 no_billing_server). Kapatınca public IP bırakılır; port yönlendirme varken ya da public IP'si kapalı sunucular kullanırken reddedilir (409 gateway_in_use, allow_no_egress: true ile tekrarlayın). Dışarı çıkan bağlantılar 5651 sayılı Kanun gereği kaydedilir (2 yıl). Yalnız verilen alanlar değişir.
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
İstek gövdesi Alan Tür Açıklama enabledboolean natboolean inter_subnetstring (allow, deny) allow_no_egressboolean
Yanıtlar 200 OK — data: VpcGateway 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X PUT 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": true, "nat": true, "inter_subnet": "allow", "allow_no_egress": true}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.put("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway", headers=h, json={"enabled": True, "nat": True, "inter_subnet": "allow", "allow_no_egress": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/gateway", {
method: "PUT",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"enabled": true, "nat": true, "inter_subnet": "allow", "allow_no_egress": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# GET /cloud/vpcs/{vpc_id}/port-forwards Port yönlendirmeleri listele Kapsam: cloud_read listVpcPortForwards Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards", {
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/vpcs/{vpc_id}/port-forwards Kapının dış portunu yönlendir Kapsam: cloud_write createVpcPortForward Bu işlemin OpenAPI parçası
Kapının public_ip:public_port adresi -> VPC içinde target_ip:target_port. Kapı açık olmalı (409 gateway_disabled); protokol + dış port başına bir yönlendirme; en çok 20.
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs)
İstek gövdesi Alan Tür Açıklama protocol zorunlu string (tcp, udp) public_port zorunlu integer target_ip zorunlu string target_port zorunlu integer
Yanıtlar 201 OK — data: VpcPortForward 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"protocol": "tcp", "public_port": 1, "target_ip": "string", "target_port": 1}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards", headers=h, json={"protocol": "tcp", "public_port": 1, "target_ip": "string", "target_port": 1}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"protocol": "tcp", "public_port": 1, "target_ip": "string", "target_port": 1}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/vpcs/{vpc_id}/port-forwards/{pf_id} Port yönlendirmeyi sil Kapsam: cloud_write deleteVpcPortForward Bu işlemin OpenAPI parçası
Parametreler Alan in Tür Açıklama vpc_id zorunlu path string VPC id (from GET /cloud/vpcs) pf_id zorunlu path string Port forward id
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards/1' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/vpcs/1/port-forwards/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/servers/{id}/nics Sunucunun özel ağ kartları Kapsam: cloud_read listServerNics Bu işlemin OpenAPI parçası
tr-ist-1 sunucusunun özel ağ kartları. Takma sıcak yapılır (yeniden başlatma yok): açık sunucuda yaklaşık 10-60 sn'de hazır (state attaching -> ready); kapalı sunucuda ayarlar açılışta uygulanır. Bir sunucu aynı anda tek VPC'ye bağlanır (409 other_vpc), en çok 3 kart. ip boş = otomatik.
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1)
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics", {
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/servers/{id}/nics Sunucuyu subnete bağla Kapsam: cloud_write attachServerNic Bu işlemin OpenAPI parçası
tr-ist-1 sunucusunun özel ağ kartları. Takma sıcak yapılır (yeniden başlatma yok): açık sunucuda yaklaşık 10-60 sn'de hazır (state attaching -> ready); kapalı sunucuda ayarlar açılışta uygulanır. Bir sunucu aynı anda tek VPC'ye bağlanır (409 other_vpc), en çok 3 kart. ip boş = otomatik.
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1)
İstek gövdesi Alan Tür Açıklama subnet_id zorunlu string ipstring
Yanıtlar 202 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"subnet_id": "string", "ip": "string"}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics", headers=h, json={"subnet_id": "string", "ip": "string"}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"subnet_id": "string", "ip": "string"}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);# DELETE /cloud/servers/{id}/nics/{nic_id} Özel ağ kartını çıkar Kapsam: cloud_write detachServerNic Bu işlemin OpenAPI parçası
Adres 10 dakika başka sunucuya verilmez. Public IP kapalıyken son kart çıkarılamaz (409 last_network).
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1) nic_id zorunlu path string Network card id (from GET /cloud/servers/{id}/nics)
Yanıtlar 202 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics/1' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics/1", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/nics/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/servers/{id}/public-ip Public IPv4 durumu Kapsam: cloud_read getServerPublicIp Bu işlemin OpenAPI parçası
Public IPv4 kapanınca sunucuya yalnız VPC'den, kapı port yönlendirmesinden ya da web konsoldan (her zaman çalışır) erişilir. Onay için sunucunun mevcut IP'si (confirm_ip) yazılır. Hazır bir özel kart (409 no_private_network) gerekir ve ek IPv4 olmamalı (409 extra_ips). VPC kapısı (NAT) kapalıysa sunucu internete çıkamaz: allow_no_egress: true verilmezse 409 no_egress. Adres sunucuya ayrılmış kalır; açınca aynı IP gelir.
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1)
Yanıtlar 200 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.get("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", {
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/servers/{id}/public-ip Public IPv4'ü aç Kapsam: cloud_write enableServerPublicIp Bu işlemin OpenAPI parçası
Aynı adres geri gelir.
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1)
Yanıtlar 202 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X POST 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip' \
-H "Authorization: Bearer $GYRO_TOKEN"Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.post("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", headers=h, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", {
method: "POST",
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/servers/{id}/public-ip Public IPv4'ü kapat Kapsam: cloud_write disableServerPublicIp Bu işlemin OpenAPI parçası
Public IPv4 kapanınca sunucuya yalnız VPC'den, kapı port yönlendirmesinden ya da web konsoldan (her zaman çalışır) erişilir. Onay için sunucunun mevcut IP'si (confirm_ip) yazılır. Hazır bir özel kart (409 no_private_network) gerekir ve ek IPv4 olmamalı (409 extra_ips). VPC kapısı (NAT) kapalıysa sunucu internete çıkamaz: allow_no_egress: true verilmezse 409 no_egress. Adres sunucuya ayrılmış kalır; açınca aynı IP gelir.
Parametreler Alan in Tür Açıklama id zorunlu path integer Server id (tr-ist-1)
İstek gövdesi Alan Tür Açıklama confirm_ip zorunlu string allow_no_egressboolean
Yanıtlar 202 OK — data: object 403 not_available (private networks are not enabled for this account yet) / forbidden (key limited to some servers) 404 Not found — also returned for objects owned by someone else 409 conflict: limit_exceeded, vpc_in_use, subnet_in_use, last_subnet, gateway_disabled, gateway_in_use, port_in_use, already_attached, other_vpc, extra_ips, no_private_network, no_egress, already_off, already_on, last_network, no_billing_server, suspended, busy 422 Validation or business rule failure (confirm_required, invalid_image, tool_action_failed ...) 503 capacity / pool_exhausted (try again later)
Örnekler curl Python JavaScript
Kopyala curl -s -X DELETE 'https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip' \
-H "Authorization: Bearer $GYRO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"confirm_ip": "string", "allow_no_egress": true}'Kopyala import os, uuid, requests
h = {"Authorization": "Bearer " + os.environ["GYRO_TOKEN"]}
r = requests.delete("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", headers=h, json={"confirm_ip": "string", "allow_no_egress": True}, timeout=60)
r.raise_for_status()
print(r.json()["data"])Kopyala const res = await fetch("https://www.gyrohosting.com/api/v1/client/cloud/servers/12345/public-ip", {
method: "DELETE",
headers: {
"Authorization": `Bearer ${process.env.GYRO_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({"confirm_ip": "string", "allow_no_egress": true}),
});
const { data, error } = await res.json();
if (!res.ok) throw new Error(`${error.code}: ${error.message}`);