Skip to content

Commit fa41741

Browse files
committed
Always use p.GetType(), not p.Type
GetType returns a default value if p.Type is empty. In upstream c/c CRD defaulting does this for us, but we can't rely on that here since our input is not a 'real' API object. Signed-off-by: Nic Cope <nicc@rk0n.org>
1 parent cf7a6f7 commit fa41741

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

patches.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func ComposedTemplates(pss []v1beta1.PatchSet, cts []v1beta1.ComposedTemplate) (
246246
pn := make(map[string][]v1beta1.ComposedPatch)
247247
for _, s := range pss {
248248
for _, p := range s.Patches {
249-
if p.Type == v1beta1.PatchTypePatchSet {
249+
if p.GetType() == v1beta1.PatchTypePatchSet {
250250
return nil, errors.New(errPatchSetType)
251251
}
252252
}
@@ -257,12 +257,12 @@ func ComposedTemplates(pss []v1beta1.PatchSet, cts []v1beta1.ComposedTemplate) (
257257
for i, r := range cts {
258258
var po []v1beta1.ComposedPatch
259259
for _, p := range r.Patches {
260-
if p.Type != v1beta1.PatchTypePatchSet {
260+
if p.GetType() != v1beta1.PatchTypePatchSet {
261261
po = append(po, p)
262262
continue
263263
}
264264
if p.PatchSetName == nil {
265-
return nil, errors.Errorf(errFmtRequiredField, "PatchSetName", p.Type)
265+
return nil, errors.Errorf(errFmtRequiredField, "PatchSetName", p.GetType())
266266
}
267267
ps, ok := pn[*p.PatchSetName]
268268
if !ok {

render.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,14 @@ func RenderFromJSON(o resource.Object, data []byte) error {
6565
func RenderEnvironmentPatches(env *unstructured.Unstructured, oxr, dxr *composite.Unstructured, ps []v1beta1.EnvironmentPatch) error {
6666
for i, p := range ps {
6767
p := p
68-
switch p.Type {
68+
switch p.GetType() {
6969
case v1beta1.PatchTypeToEnvironmentFieldPath, v1beta1.PatchTypeCombineToEnvironment:
7070
if err := ApplyToObjects(&p, env, oxr); err != nil {
71-
return errors.Wrapf(err, errFmtPatch, p.Type, i)
71+
return errors.Wrapf(err, errFmtPatch, p.GetType(), i)
7272
}
7373
case v1beta1.PatchTypeFromEnvironmentFieldPath, v1beta1.PatchTypeCombineFromEnvironment:
7474
if err := ApplyToObjects(&p, env, dxr); err != nil {
75-
return errors.Wrapf(err, errFmtPatch, p.Type, i)
75+
return errors.Wrapf(err, errFmtPatch, p.GetType(), i)
7676
}
7777
case v1beta1.PatchTypePatchSet, v1beta1.PatchTypeFromCompositeFieldPath, v1beta1.PatchTypeCombineFromComposite, v1beta1.PatchTypeToCompositeFieldPath, v1beta1.PatchTypeCombineToComposite:
7878
// nothing to do
@@ -95,7 +95,7 @@ func RenderComposedPatches( //nolint:gocyclo // just a switch
9595
) (errs []error, store bool) {
9696
for i, p := range ps {
9797
p := p
98-
switch t := p.Type; t {
98+
switch t := p.GetType(); t {
9999
case v1beta1.PatchTypeToCompositeFieldPath, v1beta1.PatchTypeCombineToComposite:
100100
// TODO(negz): Should failures to patch the XR be terminal? It could
101101
// indicate a required patch failed. A required patch means roughly

validate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func ValidateEnvironment(e *v1beta1.Environment) *field.Error {
104104
v1beta1.PatchTypeFromEnvironmentFieldPath,
105105
v1beta1.PatchTypeToEnvironmentFieldPath:
106106
default:
107-
return field.Invalid(field.NewPath("patches").Index(i).Key("type"), p.Type, "invalid environment patch type")
107+
return field.Invalid(field.NewPath("patches").Index(i).Key("type"), p.GetType(), "invalid environment patch type")
108108
}
109109

110110
if err := ValidatePatch(&p); err != nil {

0 commit comments

Comments
 (0)