1.8 KiB
1.8 KiB
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.