From 285f69a31d3c05c6d56befc22ae607e02bf7318f Mon Sep 17 00:00:00 2001 From: Mike Beaumont Date: Mon, 9 Jan 2023 11:16:19 +0100 Subject: [PATCH 1/2] build: add ability to set explicit name for policies Signed-off-by: Mike Beaumont --- pkg/core/resources/model/display_name.go | 2 +- tools/policy-gen/generator/pkg/parse/policyconfig.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/core/resources/model/display_name.go b/pkg/core/resources/model/display_name.go index f3d71ff2e79e..0cee75630c25 100644 --- a/pkg/core/resources/model/display_name.go +++ b/pkg/core/resources/model/display_name.go @@ -30,5 +30,5 @@ func PluralType(resType string) string { } func PluralDisplayName(resType string) string { - return DisplayName(PluralType(resType)) + return PluralType(DisplayName(resType)) } diff --git a/tools/policy-gen/generator/pkg/parse/policyconfig.go b/tools/policy-gen/generator/pkg/parse/policyconfig.go index 0519b09a18a2..6321bc499c98 100644 --- a/tools/policy-gen/generator/pkg/parse/policyconfig.go +++ b/tools/policy-gen/generator/pkg/parse/policyconfig.go @@ -119,7 +119,7 @@ func newPolicyConfig(pkg, name string, markers map[string]string, hasTo, hasFrom Name: name, NameLower: strings.ToLower(name), SingularDisplayName: core_model.DisplayName(name), - PluralDisplayName: core_model.PluralDisplayName(name), + PluralDisplayName: core_model.PluralType(core_model.DisplayName(name)), AlternativeNames: []string{strings.ToLower(name)}, HasTo: hasTo, HasFrom: hasFrom, @@ -132,6 +132,11 @@ func newPolicyConfig(pkg, name string, markers map[string]string, hasTo, hasFrom res.SkipGetDefault = v } + if v, ok := markers["kuma:policy:singular_display_name"]; ok { + res.SingularDisplayName = v + res.PluralDisplayName = core_model.PluralType(v) + } + if v, ok := markers["kuma:policy:plural"]; ok { res.Plural = v } else { From 0a60c3dfc224635c8772816ee6993f1a8a4ee52d Mon Sep 17 00:00:00 2001 From: Mike Beaumont Date: Mon, 9 Jan 2023 13:24:45 +0100 Subject: [PATCH 2/2] chore: remove helper func Signed-off-by: Mike Beaumont --- pkg/core/resources/model/display_name.go | 4 ---- tools/resource-gen/genutils/util.go | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/pkg/core/resources/model/display_name.go b/pkg/core/resources/model/display_name.go index 0cee75630c25..aa278b94c55c 100644 --- a/pkg/core/resources/model/display_name.go +++ b/pkg/core/resources/model/display_name.go @@ -28,7 +28,3 @@ func PluralType(resType string) string { return resType + "s" } } - -func PluralDisplayName(resType string) string { - return PluralType(DisplayName(resType)) -} diff --git a/tools/resource-gen/genutils/util.go b/tools/resource-gen/genutils/util.go index adb09fe22889..1c4ccfeb4153 100644 --- a/tools/resource-gen/genutils/util.go +++ b/tools/resource-gen/genutils/util.go @@ -102,7 +102,7 @@ func ToResourceInfo(desc protoreflect.MessageDescriptor) ResourceInfo { } } if out.PluralDisplayName == "" { - out.PluralDisplayName = core_model.PluralDisplayName(r.Type) + out.PluralDisplayName = core_model.PluralType(core_model.DisplayName(r.Type)) } // Working around the fact we don't really differentiate policies from the rest of resources: // Anything global can't be a policy as it need to be on a mesh. Anything with locked Ws config is something internal and therefore not a policy