fix: nested attrs with default → Optional (no Computed), prevents unknown values
This commit is contained in:
@@ -2,7 +2,7 @@ terraform {
|
||||
required_providers {
|
||||
nubes = {
|
||||
source = "registry.kube5s.ru/nubes-test/nubes"
|
||||
version = "5.1.4"
|
||||
version = "5.1.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +130,10 @@ Each operation has a kind:
|
||||
Если состояние создано до добавления нового `map-fixed`-параметра — он будет nil,
|
||||
и код не должен падать с nil pointer dereference. Вместо этого параметр пропускается,
|
||||
и zero-value fallback подставит `{}`.
|
||||
- **Nested-атрибуты с default — Optional без Computed** (`NestedSchemaBlock` в `helpers.go`):
|
||||
`map-fixed`-параметры с default генерируются как `Optional: true` (без `Computed`),
|
||||
потому что провайдер не вычисляет nested-значения из API. `Computed` приводил бы к
|
||||
`unknown`-значению, которое нельзя декодировать в конкретный тип `*Struct`.
|
||||
- **Merge SubParams union** (`params.go`): при совпадении `Code` параметра в разных
|
||||
операциях (create/modify) с разными наборами sub-params, `Merge()` объединяет их
|
||||
union'ом, а не отбрасывает второй. Это гарантирует что структура содержит все поля.
|
||||
|
||||
@@ -4,7 +4,7 @@ TOKEN_FILE="secrets/dev.token"
|
||||
|
||||
# Release versions
|
||||
# Version
|
||||
VERSION="3.1.3"
|
||||
VERSION="3.1.4"
|
||||
|
||||
# Registry/S3 settings
|
||||
REGISTRY_HOST="registry.kube5s.ru"
|
||||
|
||||
@@ -4,7 +4,7 @@ TOKEN_FILE="secrets/prod.token"
|
||||
|
||||
# Release versions
|
||||
# Version
|
||||
VERSION="2.1.2"
|
||||
VERSION="2.1.3"
|
||||
|
||||
# Registry/S3 settings
|
||||
REGISTRY_HOST="registry.kube5s.ru"
|
||||
|
||||
@@ -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.1.5"
|
||||
VERSION="5.1.6"
|
||||
|
||||
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
|
||||
DOCS_GEN_DIR="provider/docs_gen/test"
|
||||
|
||||
@@ -239,7 +239,7 @@ func NestedSchemaBlock(p types.Param) string {
|
||||
default:
|
||||
req := "Required: true"
|
||||
if p.Default != "" {
|
||||
req = "Optional: true, Computed: true"
|
||||
req = "Optional: true"
|
||||
}
|
||||
return fmt.Sprintf("schema.%sAttribute{%s,\n\t\t\tAttributes: map[string]schema.Attribute{", t, req)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user