**Language / Язык:** [English](../../domains/tasks.md) | [Русский](tasks.md) # Tasks Длительные операции (power, clone, relocate, snapshot, OVF deploy, guest customize) возвращают CIS-style task id: [`app/vsphere/domain/tasks.py`](../../../app/vsphere/domain/tasks.py), [`app/vsphere/rest/tasks.py`](../../../app/vsphere/rest/tasks.py). ## Эндпоинты | Метод | Путь | Заметки | |---|---|---| | GET | `/api/cis/tasks` | Список недавних задач (до 200 последних) | | GET | `/api/cis/tasks/{task}` | Status, progress, `service`/`operation`, `result`/`error` | ## Паттерн клиента 1. Мутация `POST`/`DELETE` → прочитайте task id из `{ "task": "task-…" }` (REST) или SOAP MoRef `*_Task`. 2. Опрашивайте `GET /api/cis/tasks/{task}`, пока `status` не станет `SUCCEEDED` или `FAILED`. 3. В `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 (SOAP `CreateVM_Task`) и REST-опрос того же id видят согласованное состояние. - Длительности симуляции учитывают `SIMULATION_TIME_SCALE` (больше = быстрее завершение). См. [Поверхность API](../api-surface.md) и [Эксплуатация](../operations.md).