From 4b6ee94385101f9a034947e3ac7bf1daa0c8deed Mon Sep 17 00:00:00 2001 From: Rail Sharipov Date: Tue, 7 Apr 2026 10:04:39 -0600 Subject: [PATCH] Collect all unknown parameters before reporting Previously, unknown parameter validation would report or panic on the first unknown parameter found. This change collects all unknown parameters first and reports them together in a single message, making it easier to identify and fix multiple unknown parameters at once. --- internal/dc/dc.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/internal/dc/dc.go b/internal/dc/dc.go index 6d3b37bc..780ff76f 100644 --- a/internal/dc/dc.go +++ b/internal/dc/dc.go @@ -50,13 +50,17 @@ func GetParameters( if params, ok := template.Map()["Parameters"]; ok { // Check we don't have any unknown params + unknownParams := make([]string, 0) for k := range combinedParameters { if _, ok := params.(map[string]interface{})[k]; !ok { - if ignoreUnknownParams { - fmt.Println(console.Yellow(fmt.Sprintf("unknown parameter: %s", k))) - } else { - panic(fmt.Errorf("unknown parameter: %s\nif you want to proceed as is, add the --ignore-unknown-params flag", k)) - } + unknownParams = append(unknownParams, k) + } + } + if len(unknownParams) > 0 { + if ignoreUnknownParams { + fmt.Println(console.Yellow(fmt.Sprintf("unknown parameters: %v", unknownParams))) + } else { + panic(fmt.Errorf("unknown parameters: %v\nif you want to proceed as is, add the --ignore-unknown-params flag", unknownParams)) } }