fix(generator): is_modifiable=true → параметр НЕ create-only (канон: меняется в UI → меняется в Terraform)

This commit is contained in:
Repinoid
2026-09-22 19:21:42 +03:00
parent d6520138f6
commit 261809ba99
3 changed files with 10 additions and 0 deletions
@@ -111,6 +111,8 @@ func AlignParamTypes(params []types.Param, schema []types.Param) []types.Param {
}
// ComputeCreateOnly вычисляет набор полей, которые есть только в create (не в modify).
// Канон: параметр изменяемый (is_modifiable == true) → НЕ create-only,
// потому что «можно менять в UI → можно менять в Terraform».
func ComputeCreateOnly(createParams []types.Param, modifyParams []types.Param) map[string]struct{} {
modifyCodes := make(map[string]struct{}, len(modifyParams))
for _, p := range modifyParams {
@@ -127,6 +129,10 @@ func ComputeCreateOnly(createParams []types.Param, modifyParams []types.Param) m
if key == "" {
continue
}
// is_modifiable:true → параметр можно менять → не create-only.
if p.IsModifiable != nil && *p.IsModifiable {
continue
}
if _, ok := modifyCodes[key]; !ok {
createOnly[key] = struct{}{}
}