From 0cab7be239a49aef619c0bbb28a0981a8b6dcd97 Mon Sep 17 00:00:00 2001 From: James Bardin Date: Fri, 6 Mar 2026 20:58:21 -0500 Subject: [PATCH] fix internal validate --- internal/configs/configschema/internal_validate.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/configs/configschema/internal_validate.go b/internal/configs/configschema/internal_validate.go index cbbf06a488..083494c668 100644 --- a/internal/configs/configschema/internal_validate.go +++ b/internal/configs/configschema/internal_validate.go @@ -72,6 +72,9 @@ func (b *Block) internalValidate(prefix string) error { if blockS.MinItems != 0 || blockS.MaxItems != 0 { multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: MinItems and MaxItems cannot be used in NestingGroup mode", prefix, name)) } + if blockS.Computed { + multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: NestingGroup blocks cannot be computed", prefix, name)) + } case NestingList, NestingSet: if blockS.MinItems > blockS.MaxItems && blockS.MaxItems != 0 { multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: MinItems must be less than or equal to MaxItems in %s mode", prefix, name, blockS.Nesting)) @@ -91,10 +94,16 @@ func (b *Block) internalValidate(prefix string) error { multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: NestingSet blocks may not contain WriteOnly attributes", prefix, name)) } } + if blockS.MinItems > 0 && blockS.Computed { + multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: Computed cannot be used when MinItems > 0", prefix, name)) + } case NestingMap: if blockS.MinItems != 0 || blockS.MaxItems != 0 { multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: MinItems and MaxItems must both be 0 in NestingMap mode", prefix, name)) } + if blockS.MinItems > 0 && blockS.Computed { + multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: Computed cannot be used when MinItems > 0", prefix, name)) + } default: multiErr = errors.Join(multiErr, fmt.Errorf("%s%s: invalid nesting mode %s", prefix, name, blockS.Nesting)) }