Клиент обобщён, снята привязка к видеокартам
GPU это лишь один из тарифов, а клиент общего назначения. Примеры переписаны на обычные серверы, добавлен пример с масштабированием под нагрузку. Claude-Session: https://claude.ai/code/session_01Loz5stgQZH6ofBdMqTxiJu
Этот коммит содержится в:
@@ -10,14 +10,13 @@ API устроено как у DigitalOcean, сервер там называе
|
||||
print(s["id"], s["name"], s["status"])
|
||||
|
||||
Зачем обёртка, если API простое. Затем, что у него есть неочевидные места,
|
||||
на которые мы уже наступили и которые тут обойдены.
|
||||
собранные на живых серверах и обойдённые тут.
|
||||
|
||||
Адрес машины лежит в поле ip, а не в networks, оно всегда пустое.
|
||||
Снимок нельзя снять с остановленной машины, API сам её останавливает по offline.
|
||||
Сразу после снимка машина сидит в locked и удаляться отказывается примерно полминуты,
|
||||
поэтому удаление тут настойчивое, иначе забытая машина будет тикать по деньгам.
|
||||
Тарифы с видеокартами метод sizes не показывает вовсе, хотя создание с ними работает,
|
||||
их список лежит в docs_slugs.md.
|
||||
Адрес сервера лежит в поле ip, а не в networks, оно всегда пустое.
|
||||
Снимок снимается только с работающего сервера, останавливает его платформа сама по offline.
|
||||
Сразу после снимка сервер сидит в locked и удаляться отказывается примерно полминуты,
|
||||
поэтому удаление настойчивое, иначе забытый сервер продолжит тарифицироваться.
|
||||
Метод sizes возвращает не все линейки тарифов, полный список смотрите в панели управления.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -50,7 +49,8 @@ class RegCloud:
|
||||
return r.json().get("sizes", [])
|
||||
|
||||
def gpu_sizes(self) -> list[dict]:
|
||||
"""Тарифы с видеокартой. У них в описании или в названии есть упоминание gpu."""
|
||||
"""Отбор тарифов с видеокартой, если они вам нужны.
|
||||
Учтите, что sizes() возвращает не все линейки, полный список в панели управления."""
|
||||
out = []
|
||||
for s in self.sizes():
|
||||
blob = json.dumps(s, ensure_ascii=False).lower()
|
||||
|
||||
Ссылка в новой задаче
Block a user