docs: Sonnet round 3 — missing required params in CREATE
This commit is contained in:
@@ -0,0 +1,39 @@
|
|||||||
|
# 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, Болванка) где параметров мало и все заполняются?
|
||||||
Reference in New Issue
Block a user