Клиент дописан до всех двадцати семи эндпоинтов платформы. Добавлено: - регионы, образы с разбивкой на системы и готовые сборки, вторая версия API образов - все действия над сервером: старт, стоп, перезагрузка, переустановка, смена тарифа, клонирование, откат, консоль, бэкапы - снимки целиком, включая ожидание готовности и поиск поднятых из них серверов - ключи доступа, IP-адреса с обратными записями, приватные сети, kubeconfig - история операций, биллинг, расход в час и в сутки - сборка и проверка slug тарифа по правилам платформы - ошибки разложены по смыслу, чтобы ловить прицельно Claude-Session: https://claude.ai/code/session_01Loz5stgQZH6ofBdMqTxiJu
27 строки
883 B
Python
27 строки
883 B
Python
"""Осмотреться на аккаунте: что где размещается, что запущено, куда уходят деньги."""
|
|
from regcloud_api import RegCloud
|
|
|
|
api = RegCloud()
|
|
|
|
print("РЕГИОНЫ")
|
|
for r in api.regions():
|
|
print(f" {r['slug']:18s} {r['name']}")
|
|
|
|
print("\nСЕРВЕРЫ")
|
|
for s in api.servers():
|
|
info = api.size_info(s.get("size_slug", ""))
|
|
print(f" {s['id']} {s['name']:20s} {s['status']:8s} {RegCloud.ip_of(s):16s} "
|
|
f"{info.get('vcpus','?')} ядер, {info.get('memory_gb','?')} ГБ")
|
|
|
|
print("\nСНИМКИ")
|
|
for s in api.snapshots():
|
|
print(f" {s['id']} {s['name']:20s} {s.get('size_gigabytes')} ГБ")
|
|
|
|
print("\nКЛЮЧИ")
|
|
for k in api.ssh_keys():
|
|
print(f" {k['id']} {k['name']:15s} {k['fingerprint']}")
|
|
|
|
print("\nДЕНЬГИ")
|
|
for k, v in api.burn_rate().items():
|
|
print(f" {k}: {v}")
|