# 2026-07-24 — Финальный поток создания инстанса ## Поток API (1:1 с Go-клиентом Terraform) ### Шаг 1: Создать инстанс ``` POST /instances {"serviceId": 1, "displayName": "autotest-1-xxx", "descr": "autotest"} → 201, Location: /instances/{instanceUid} → извлечь instanceUid из Location ``` ### Шаг 2: Создать операцию ``` POST /instanceOperations {"instanceUid": "...", "operation": "create"} → 201, Location: /instanceOperations/{opUid} → извлечь opUid из Location ``` ### Шаг 3: Задать параметры (по одному) ``` POST /instanceOperations/{opUid}/params {"instanceOperationUid": "{opUid}", "svcOperationCfsParamId": 200, "paramValue": "false"} ``` Повторить для каждого cfsParam (12 штук для dummy). ### Шаг 4: Валидация ``` POST /instanceOperations/{opUid}/validate (пустое тело) ``` ### Шаг 5: Запуск ``` POST /instanceOperations/{opUid}/run (пустое тело) ``` ### Шаг 6: Поллинг ``` GET /instances?pageSize=200&page=1 → искать instanceUid → ждать !operationIsInProgress && status не "creating" → если не нашли — page++ ``` ## Баг 8: `/params` без instanceOperationUid (v1.0.24-1.0.25) - **Пропущенное поле:** `instanceOperationUid` в POST /params - **Пропущенный шаг:** `/validate` перед `/run` - **Исправление:** добавлены `instanceOperationUid` + `/validate` ## Баг 9: пропущен `/run` (v1.0.20-1.0.22) - Операция создавалась но не запускалась - Исправлено: POST /instanceOperations/{opUid}/run ## Итого: 5 шагов API + поллинг Идентично Go-клиенту `CreateGenericInstanceUniversalV6`.