38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
"""
|
|
Операции с сервисами Nubes — получение списка и деталей через API.
|
|
|
|
Используется:
|
|
- main.py → список сервисов для UI
|
|
- api_test.py → операции сервиса (modify/delete/...)
|
|
- scenario.py → поиск svcOperationId для операции
|
|
"""
|
|
|
|
from api.http_client import HttpClient
|
|
|
|
|
|
def get_services(client):
|
|
"""GET /services → список ВСЕХ сервисов пользователя.
|
|
|
|
Возвращает list[dict], каждый с ключами:
|
|
svcId, svc (короткое имя), svcExtendedName (полное имя), operations[]
|
|
|
|
operations — это ДОСТУПНЫЕ операции, не путать с запущенными."""
|
|
data = client.get("/services")
|
|
return data.get("results", [])
|
|
|
|
|
|
def get_service_detail(client, svc_id):
|
|
"""GET /services/{svcId} → детали одного сервиса.
|
|
|
|
Возвращает dict с ключами:
|
|
svc, svcShort, operations[]
|
|
|
|
operations — список доступных операций:
|
|
[{svcOperationId, operation, isCreate, ...}, ...]
|
|
|
|
svcOperationId — ЧИСЛОВОЙ ID операции, нужен для:
|
|
- POST /instanceOperations (поле svcOperationId)
|
|
- GET /instanceOperations/default/{svcOperationId} (шаблон параметров)"""
|
|
data = client.get(f"/services/{svc_id}")
|
|
return data.get("svc", {})
|