From cfefbc16dd78c45264aa3a8a00e30e5468c8b02c Mon Sep 17 00:00:00 2001 From: Amine Hilaly Date: Mon, 17 May 2021 13:55:49 +0200 Subject: [PATCH] panic if input field renames are not part of a resource spec/status fields this patch also changes code.setResourceReadMany to concider renames when checking matchFieldName configuration --- pkg/generate/code/set_resource.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/generate/code/set_resource.go b/pkg/generate/code/set_resource.go index d45c5df5..c9e6a9f5 100644 --- a/pkg/generate/code/set_resource.go +++ b/pkg/generate/code/set_resource.go @@ -469,16 +469,22 @@ func setResourceReadMany( var targetMemberShapeRef *awssdkmodel.ShapeRef targetAdaptedVarName := targetVarName // Check that the field has potentially been renamed - renamedName, _ := r.InputFieldRename( + renamedName, foundInputFieldRename := r.InputFieldRename( op.Name, memberName, ) f, found = r.SpecFields[renamedName] if found { targetAdaptedVarName += cfg.PrefixConfig.SpecField } else { - f, found = r.StatusFields[memberName] + f, found = r.StatusFields[renamedName] if !found { - // TODO(jaypipes): check generator config for exceptions? + if foundInputFieldRename { + msg := fmt.Sprintf( + "Input field rename %s for operation %s is not part of %s Spec or Status fields", + memberName, op.Name, r.Names.Camel, + ) + panic(msg) + } continue } targetAdaptedVarName += cfg.PrefixConfig.StatusField @@ -521,7 +527,7 @@ func setResourceReadMany( // continue // } // } - if util.InStrings(memberName, matchFieldNames) { + if util.InStrings(renamedName, matchFieldNames) { out += fmt.Sprintf( "%s\t\tif %s.%s != nil {\n", indent,