diff --git a/pkg/resource/lateinit.go b/pkg/resource/lateinit.go index 1f9f4766..f3e4c2b1 100644 --- a/pkg/resource/lateinit.go +++ b/pkg/resource/lateinit.go @@ -134,8 +134,6 @@ func zeroValueJSONOmitEmptyFilter(cName string) ValueFilter { return true case (k == reflect.Slice || k == reflect.Map) && v.Len() == 0: return true - case k == reflect.Ptr && v.Elem().IsZero(): - return true default: return false } diff --git a/pkg/resource/lateinit_test.go b/pkg/resource/lateinit_test.go index f3c90004..311bee31 100644 --- a/pkg/resource/lateinit_test.go +++ b/pkg/resource/lateinit_test.go @@ -478,7 +478,7 @@ func TestLateInitialize(t *testing.T) { wantModified: false, wantCRObject: &nestedStruct4{}, }, - "TestSkipOmitemptyTaggedPtrElem": { + "TestIncludeZeroValuePtrElem": { args: args{ desiredObject: &nestedStruct4{}, observedObject: &nestedStruct4{ @@ -486,6 +486,17 @@ func TestLateInitialize(t *testing.T) { }, opts: []GenericLateInitializerOption{WithZeroValueJSONOmitEmptyFilter(CNameWildcard)}, }, + wantModified: true, + wantCRObject: &nestedStruct4{ + F1: &testStringEmpty, + }, + }, + "TestSkipNilPtrElem": { + args: args{ + desiredObject: &nestedStruct4{}, + observedObject: &nestedStruct4{}, + opts: []GenericLateInitializerOption{WithZeroValueJSONOmitEmptyFilter(CNameWildcard)}, + }, wantModified: false, wantCRObject: &nestedStruct4{}, },