diff --git a/DOCS/sonnet-response-serviceInstanceUid.md b/DOCS/sonnet-response-serviceInstanceUid.md new file mode 100644 index 0000000..a91e9de --- /dev/null +++ b/DOCS/sonnet-response-serviceInstanceUid.md @@ -0,0 +1,26 @@ +# Sonnet 4.6 — Root Cause: serviceInstanceUid + +Дата: 2026-07-29 + +## Найдена корневая причина + +**Разница в источнике данных для шага 6 (required+default params):** + +| | Terraform | Autotest | +|---|---|---| +| Источник | `GET /instanceOperations/{opUid}?fields=cfsParams` — **реальная операция** | `GET /instanceOperations/default/{svc_op_id}` — **шаблон** | +| Данные | `paramValue` (автоматически заполнен Nubes) + `defaultValue` | Только `defaultValue` | + +`serviceInstanceUid` — параметр, который Nubes **автоматически добавляет** в реальную операцию (шаг 3 Terraform). В шаблоне его НЕТ. Поэтому наш код его не видит → не отправляет → validate-cfs падает. + +## Исправление + +В `api_test.py` CREATE-ветка (строка ~210): заменить +```python +tmpl = client.get(f"/instanceOperations/default/{svc_op_id}") +``` +на +```python +op_details = client.get(f"/instanceOperations/{op_uid}?fields=cfsParams") +``` +И брать `paramValue` первым, `defaultValue` как fallback — как Terraform.