f8d3cbdd59
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
2.0 KiB
2.0 KiB
Language / Язык: English | Русский
Tasks
Длительные операции (power, clone, relocate, snapshot, OVF deploy, guest
customize) возвращают CIS-style task id:
app/vsphere/domain/tasks.py,
app/vsphere/rest/tasks.py.
Эндпоинты
| Метод | Путь | Заметки |
|---|---|---|
| GET | /api/cis/tasks |
Список недавних задач (до 200 последних) |
| GET | /api/cis/tasks/{task} |
Status, progress, service/operation, result/error |
Паттерн клиента
- Мутация
POST/DELETE→ прочитайте task id из{ "task": "task-…" }(REST) или SOAP MoRef*_Task. - Опрашивайте
GET /api/cis/tasks/{task}, покаstatusне станетSUCCEEDEDилиFAILED. - В
result— результат операции (например{"vm": "vm-104"}при create/clone/deploy).
Основные моменты
- Строки задач коммитятся в
vsphere_tasks(id,description,status,service,operation,result,error,completed_at). progressсинтезируется как50во время выполнения и100в терминальном состоянии — дробный progress этот симулятор не моделирует.- Одно и то же хранилище задач обслуживает и REST
/api/cis/tasks, и SOAP task MoRefs, поэтому Terraform apply (SOAPCreateVM_Task) и REST-опрос того же id видят согласованное состояние. - Длительности симуляции учитывают
SIMULATION_TIME_SCALE(больше = быстрее завершение).
См. Поверхность API и Эксплуатация.