fix: skip empty optional ref-params in resolveRefSvcParamValues, bump 5.0.68

This commit is contained in:
“Naeel”
2026-07-09 09:20:26 +04:00
parent fbf2db55ab
commit 8b1176f8d8
5 changed files with 14 additions and 3 deletions
@@ -56,3 +56,11 @@ Adopt происходит на **apply**, не на plan. Plan показыва
2. **Писать debug в файл, не в stderr** — в плагинах Terraform stderr не виден.
3. **Не гадать** — сначала дебаг-лог, потом правка.
4. **Выполнять ТОЛЬКО по «делай»** — без разрешения ничего не трогать.
## 2026-07-09: фикс resolveRefSvcParamValues — пустые опциональные ref-параметры
### Баг
`resolveRefSvcParamValues()` в `client.go:1169` не проверяет пустые значения. Когда юзер не задаёт опциональный ref-параметр (например `vdcGroupUid`), `FormatString` возвращает `""`, функция пытается резолвить `""` как имя → `findInstanceUidByDisplayNameRefSvc(ctx, 29, "")` → uid="" → ошибка "не найден экземпляр".
### Фикс (v5.0.68)
Добавлена проверка `strings.TrimSpace(value) == ""` перед вызовом `findInstanceUidByDisplayNameRefSvc`. Пустые опциональные ref-параметры пропускаются без ошибки. Универсально для всех сервисов.
+1 -1
View File
@@ -2,7 +2,7 @@ terraform {
required_providers {
nubes = {
source = "terra.k8c.ru/nubes-test/nubes"
version = "5.0.67"
version = "5.0.68"
}
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ NUBES_API_ENDPOINT="https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
TOKEN_FILE="secrets/test.token"
# Version
VERSION="5.0.67"
VERSION="5.0.68"
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
DOCS_GEN_DIR="provider/docs_gen/test"
+3
View File
@@ -1167,6 +1167,9 @@ func (c *UniversalClient) resolveRefSvcParamValues(ctx context.Context, opParams
// но сам всегда возвращает нижний регистр. Регистр пользователя будет
// восстановлен в state после RefreshResourceState (generated resource).
newValue = strings.ToLower(value)
} else if strings.TrimSpace(value) == "" {
// Опциональный ref-параметр не задан — оставляем пустым
newValue = ""
} else if !isUUIDLike(value) {
uid, err := c.findInstanceUidByDisplayNameRefSvc(ctx, refSvcId, value)
if err != nil {
+1 -1
View File
@@ -17,7 +17,7 @@ import (
)
var (
version string = "5.0.67"
version string = "5.0.68"
)
func main() {