Komut satırı ve Terraform
HepCloud API'si hcloud API standardıyla uyumludur. Bunun pratik anlamı şu: bu ekosistem için yazılmış araçları baştan öğrenmenize gerek yok — yalnız uç adresini HepCloud'a çevirirsiniz.
Bu sayfadaki her şey için önce panelden bir API token'ı oluşturun: API token'ları.
hcloud komut satırı aracı
hcloud, tek dosyalık bir komut satırı aracıdır; Windows, macOS ve Linux
için resmî dağıtımı GitHub sürümleri
sayfasında bulunur.
Aracın hangi API'ye bağlanacağı --endpoint seçeneğiyle belirlenir:
hcloud --endpoint https://api.hepcloud.net/v1 --token <token> server list
Her komutta yazmamak için iki ortam değişkeni tanımlayın.
Windows (PowerShell):
$env:HCLOUD_ENDPOINT = "https://api.hepcloud.net/v1"
$env:HCLOUD_TOKEN = "<token>"
macOS / Linux:
export HCLOUD_ENDPOINT=https://api.hepcloud.net/v1
export HCLOUD_TOKEN=<token>
Ortam değişkeni o pencerede geçerlidir
PowerShell'de $env: ile tanımlanan değer yalnız açık olan pencerede
yaşar; yeni pencere açtığınızda yeniden tanımlamanız gerekir. Kalıcı
yapmak isterseniz Windows'un ortam değişkenleri ayarlarını kullanın.
Ayarladıktan sonra komutlar sade çalışır:
hcloud server list
hcloud server describe web-01
hcloud ssh-key list
hcloud firewall list
Sunucu oluşturmak:
hcloud server create --name web-01 --type TRX-2G --image ubuntu-24.04 --ssh-key laptop
Token'ı komut geçmişinde bırakmayın
Token'ı doğrudan komuta yazarsanız kabuk geçmişinize düşer. Ortam değişkeni kullanın ve token'ı depoya, betiğe ya da ekran görüntüsüne koymayın.
Terraform
hcloud Terraform sağlayıcısı da uç adresini kabul eder:
terraform {
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
}
}
}
provider "hcloud" {
token = var.hepcloud_token
endpoint = "https://api.hepcloud.net/v1"
}
variable "hepcloud_token" {
type = string
sensitive = true
}
Token'ı dosyaya yazmayın; TF_VAR_hepcloud_token ortam değişkeniyle verin.
Basit bir yığın — SSH anahtarı, güvenlik duvarı ve sunucu:
resource "hcloud_ssh_key" "laptop" {
name = "laptop"
public_key = file("~/.ssh/id_ed25519.pub")
}
resource "hcloud_firewall" "web" {
name = "web"
rule {
direction = "in"
protocol = "tcp"
port = "22"
source_ips = ["0.0.0.0/0"]
}
rule {
direction = "in"
protocol = "tcp"
port = "443"
source_ips = ["0.0.0.0/0"]
}
}
resource "hcloud_server" "web" {
name = "web-01"
server_type = "TRX-2G"
image = "ubuntu-24.04"
ssh_keys = [hcloud_ssh_key.laptop.id]
firewall_ids = [hcloud_firewall.web.id]
}
output "ip" {
value = hcloud_server.web.ipv4_address
}
terraform init ve terraform apply ile kurulum tamamlanır.
Sunucu tipi ve imaj adları
server_type ve image alanlarına panelde gördüğünüz adları yazın
(TRX-2G, ubuntu-24.04). Geçerli listeyi hcloud server-type list ve
hcloud image list komutlarıyla da alabilirsiniz.
Desteklenen kaynaklar
Araçlarda göreceğiniz her kaynak HepCloud'da karşılığı olan kaynaklarla sınırlıdır:
| Kaynak | Durum |
|---|---|
| Sunucular | Oluşturma, güç işlemleri, tip değiştirme, yeniden kurma, silme |
| SSH anahtarları | Tam destek |
| Güvenlik duvarları | Kural düzenleme, sunucuya uygulama ve kaldırma |
| Birincil IP'ler ve rDNS | Tam destek |
| Sunucu tipleri, imajlar, konumlar | Salt okuma |
| İşlemler (actions) | Salt okuma — uzun süren işlerin durumu |
Listede olmayan bir kaynağı çağıran araç not_found alır.
Hesap işlemleri API'ye kapalıdır
Bakiye, fatura bilgileri, oturumlar, iki adımlı doğrulama ve token yönetimi yalnız panelden yapılır. Bu bir eksiklik değil, bilinçli bir sınır: sızan bir token'ın hesabınızı ele geçirmesini, kendine yeni token üretmesini ya da 2FA'nızı kapatmasını engeller.
Kendi betiğinizi yazmak
Özel bir şeye ihtiyacınız varsa API'yi doğrudan çağırabilirsiniz:
curl -H "Authorization: Bearer $HCLOUD_TOKEN" \
https://api.hepcloud.net/v1/servers
Uçların tamamı ve istek/yanıt gövdeleri: API referansı.

