fix: s3Uid resolve by JSON key pattern (no DataDescriptor dependency)

This commit is contained in:
“Naeel”
2026-07-19 11:37:52 +04:00
parent 65b78f2a78
commit dd61b1b08d
8 changed files with 16 additions and 40 deletions
+4 -4
View File
@@ -126,10 +126,10 @@ Each operation has a kind:
`dataDescriptor` для `map-fixed`-параметра, а значение отсутствует или равно `"{}"`,
строится JSON из дефолтов sub-параметров (`{"type":"off","durationCA":"175200",...}`).
Это гарантирует что API получит все обязательные sub-поля с их значениями по умолчанию.
- **s3Uid-резолв в map-fixed** (`resolveRefSvcParamValues`): для map-fixed-параметров
с `DataDescriptor`, содержащих uuid sub-params с именем по паттерну `s3.*uid`,
значения-не-UUID резолвятся в UUID через S3 (сервис 12). Позволяет использовать
displayName вместо UUID для S3-ссылок во всех сервисах (Postgres, MariaDB, Clickhouse).
- **s3Uid-резолв в map-fixed** (`resolveS3UidInMapFixed`): для map-fixed-параметров
парсится JSON, ищутся ключи по паттерну `s3.*uid` (case-insensitive), значения-не-UUID
резолвятся в UUID через S3 (сервис 12). Не зависит от DataDescriptor API.
Соглашение об именах: любой sub-param с `s3`+`uid` в имени → S3 (12).
- **modify всегда через WithDefaults** (`RunInstanceOperationUniversalWithDefaults`):
modify-операции запрашивают `cfsParams` у API и отправляют все параметры,
включая новые, с дефолтами из API.