fix: map-fixed fallback builds JSON from DataDescriptor sub-param defaults

This commit is contained in:
“Naeel”
2026-07-19 09:34:26 +04:00
parent 35792091bd
commit 0a027c2ebf
8 changed files with 56 additions and 16 deletions
+4
View File
@@ -122,6 +122,10 @@ Each operation has a kind:
в пользовательском `.tf`, подставлять zero-value по `dataType`:
- `integer``"0"`, `boolean``"false"`, `map-fixed``"{}"`, `array``"[]"`, `string``""`
- Это предотвращает NullPointerException на стороне API при добавлении новых полей.
- **map-fixed default из DataDescriptor** (`buildMapFixedDefault`): если API возвращает
`dataDescriptor` для `map-fixed`-параметра, а значение отсутствует или равно `"{}"`,
строится JSON из дефолтов sub-параметров (`{"type":"off","durationCA":"175200",...}`).
Это гарантирует что API получит все обязательные sub-поля с их значениями по умолчанию.
- **modify всегда через WithDefaults** (`RunInstanceOperationUniversalWithDefaults`):
modify-операции запрашивают `cfsParams` у API и отправляют все параметры,
включая новые, с дефолтами из API.