Files
app-autotest/DOCS/sonnet-review-round3.md
T

40 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Sonnet 4.6 — Round 3: missing required params in CREATE
Дата: 2026-07-29
Версия: v1.1.18
## Проблема
PostgreSQL create падает с ошибкой Nubes: «Не передан параметр: serviceInstanceUid».
Redis работает, Болванка работает, PG — нет.
## Что нашли
Terraform-провайдер делает дополнительный шаг после отправки пользовательских параметров:
отправляет ВСЕ required-параметры с их defaultValue, даже если юзер их не заполнял.
Наш код (api_test.py /api/test, CREATE-ветка, примерно строка 230):
```python
for pid, pval in params.items():
client.post("/instanceOperationCfsParams",
{"instanceOperationUid": op_uid, "svcOperationCfsParamId": int(pid), "paramValue": str(pval)})
```
Шлёт ТОЛЬКО то, что пользователь заполнил в форме.
## PG имеет 8 map-fixed параметров, все required:
- startupConfiguration (id=789)
- clusterConfiguration (id=788)
- accessConfiguration (id=790)
- postgresConfiguration (id=791)
- postgresConf (id=792) — array-map-fixed
- backupConfiguration (id=793)
- autoscaleConfiguration (id=794)
- mtlsConfiguration (id=1094)
Если пользователь заполнил только первые 3 — остальные 5 НЕ отправляются → Nubes ругается.
## Вопросы
1. Как лучше реализовать досылку required-параметров с defaultValue?
- Вариант А: до отправки params сделать GET /instanceOperations/default/{svcOpId}, взять все required с их defaultValue, смержить с пользовательскими
- Вариант Б: после отправки пользовательских params, дослать оставшиеся required с defaultValue
2. Terraform делает GET /instanceOperations/{opUid}?fields=cfsParams ПОСЛЕ создания операции. Нужно ли нам тоже?
3. Не сломает ли это существующие сервисы (Redis, Болванка) где параметров мало и все заполняются?