fix: S3 refSvcId=12 — разрешить имя наравне с UUID, версия 5.1.3
This commit is contained in:
@@ -3,7 +3,7 @@ NUBES_API_ENDPOINT="https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
|
|||||||
TOKEN_FILE="secrets/test.token"
|
TOKEN_FILE="secrets/test.token"
|
||||||
|
|
||||||
# Version
|
# Version
|
||||||
VERSION="5.1.2"
|
VERSION="5.1.3"
|
||||||
|
|
||||||
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
|
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
|
||||||
DOCS_GEN_DIR="provider/docs_gen/test"
|
DOCS_GEN_DIR="provider/docs_gen/test"
|
||||||
|
|||||||
@@ -1158,16 +1158,7 @@ func (c *UniversalClient) resolveRefSvcParamValues(ctx context.Context, opParams
|
|||||||
for paramId, value := range params {
|
for paramId, value := range params {
|
||||||
newValue := value
|
newValue := value
|
||||||
if refSvcId, ok := refById[paramId]; ok {
|
if refSvcId, ok := refById[paramId]; ok {
|
||||||
if refSvcId == 12 {
|
if strings.TrimSpace(value) == "" {
|
||||||
if !isUUIDLike(value) {
|
|
||||||
return nil, fmt.Errorf("параметр %d должен быть UUID (S3 Object Storage, serviceId=12): %s", paramId, value)
|
|
||||||
}
|
|
||||||
// FIX(uuid-case): нормализуем UUID к lowercase для отправки в API.
|
|
||||||
// Пользователь мог написать "6214BA32-...", API принимает оба варианта,
|
|
||||||
// но сам всегда возвращает нижний регистр. Регистр пользователя будет
|
|
||||||
// восстановлен в state после RefreshResourceState (generated resource).
|
|
||||||
newValue = strings.ToLower(value)
|
|
||||||
} else if strings.TrimSpace(value) == "" {
|
|
||||||
// Опциональный ref-параметр не задан — оставляем пустым
|
// Опциональный ref-параметр не задан — оставляем пустым
|
||||||
newValue = ""
|
newValue = ""
|
||||||
} else if !isUUIDLike(value) {
|
} else if !isUUIDLike(value) {
|
||||||
|
|||||||
@@ -453,9 +453,6 @@ func isValidRefValue(options []core.RefServiceInstanceOption, refSvcId int, valu
|
|||||||
if strings.EqualFold(strings.TrimSpace(opt.InstanceUID), value) {
|
if strings.EqualFold(strings.TrimSpace(opt.InstanceUID), value) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if refSvcId == 12 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if strings.EqualFold(strings.TrimSpace(opt.DisplayName), value) {
|
if strings.EqualFold(strings.TrimSpace(opt.DisplayName), value) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -465,21 +462,12 @@ func isValidRefValue(options []core.RefServiceInstanceOption, refSvcId int, valu
|
|||||||
|
|
||||||
func formatRefOptions(options []core.RefServiceInstanceOption, refSvcId int, limit int) string {
|
func formatRefOptions(options []core.RefServiceInstanceOption, refSvcId int, limit int) string {
|
||||||
if len(options) == 0 {
|
if len(options) == 0 {
|
||||||
if refSvcId == 12 {
|
|
||||||
return "требуется UUID существующего инстанса"
|
|
||||||
}
|
|
||||||
return "список пуст"
|
return "список пуст"
|
||||||
}
|
}
|
||||||
formatted := make([]string, 0, len(options))
|
formatted := make([]string, 0, len(options))
|
||||||
for _, opt := range options {
|
for _, opt := range options {
|
||||||
uid := strings.TrimSpace(opt.InstanceUID)
|
uid := strings.TrimSpace(opt.InstanceUID)
|
||||||
name := strings.TrimSpace(opt.DisplayName)
|
name := strings.TrimSpace(opt.DisplayName)
|
||||||
if refSvcId == 12 {
|
|
||||||
if uid != "" {
|
|
||||||
formatted = append(formatted, uid)
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if name != "" && uid != "" {
|
if name != "" && uid != "" {
|
||||||
formatted = append(formatted, name+" ("+uid+")")
|
formatted = append(formatted, name+" ("+uid+")")
|
||||||
} else if uid != "" {
|
} else if uid != "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user