# 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, Болванка) где параметров мало и все заполняются?