Skip to content

Commit fe3ed9d

Browse files
authored
Merge pull request #18 from muvaf/cp-postdelete
crossplane: add postDelete hook
2 parents d34b2fb + 5d5d1df commit fe3ed9d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

templates/crossplane/pkg/controller.go.tpl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ func (e *external) Delete(ctx context.Context, mg cpresource.Managed) error {
167167
if ignore {
168168
return nil
169169
}
170-
_, err = e.client.{{ .CRD.Ops.Delete.Name }}WithContext(ctx, input)
171-
return awsclient.Wrap(cpresource.Ignore(IsNotFound, err), errDelete)
170+
resp, err := e.client.{{ .CRD.Ops.Delete.Name }}WithContext(ctx, input)
171+
return e.postDelete(ctx, cr, resp, awsclient.Wrap(cpresource.Ignore(IsNotFound, err), errDelete))
172172
{{- else }}
173173
return e.delete(ctx, mg)
174174
{{ end }}
@@ -192,6 +192,7 @@ func newExternal(kube client.Client, client svcsdkapi.{{ .SDKAPIInterfaceTypeNam
192192
postCreate: nopPostCreate,
193193
{{- if .CRD.Ops.Delete }}
194194
preDelete: nopPreDelete,
195+
postDelete: nopPostDelete,
195196
{{- else }}
196197
delete: nopDelete,
197198
{{- end }}
@@ -234,6 +235,7 @@ type external struct {
234235
postCreate func(context.Context, *svcapitypes.{{ .CRD.Names.Camel }}, *svcsdk.{{ .CRD.Ops.Create.OutputRef.Shape.ShapeName }}, managed.ExternalCreation, error) (managed.ExternalCreation, error)
235236
{{- if .CRD.Ops.Delete }}
236237
preDelete func(context.Context, *svcapitypes.{{ .CRD.Names.Camel }}, *svcsdk.{{ .CRD.Ops.Delete.InputRef.Shape.ShapeName }}) (bool, error)
238+
postDelete func(context.Context, *svcapitypes.{{ .CRD.Names.Camel }}, *svcsdk.{{ .CRD.Ops.Delete.OutputRef.Shape.ShapeName }}, error) error
237239
{{- else }}
238240
delete func(context.Context, cpresource.Managed) error
239241
{{- end }}
@@ -306,6 +308,9 @@ func nopPostCreate(_ context.Context, _ *svcapitypes.{{ .CRD.Names.Camel }}, _ *
306308
func nopPreDelete(context.Context, *svcapitypes.{{ .CRD.Names.Camel }}, *svcsdk.{{ .CRD.Ops.Delete.InputRef.Shape.ShapeName }}) (bool, error) {
307309
return false, nil
308310
}
311+
func nopPostDelete(_ context.Context, _ *svcapitypes.{{ .CRD.Names.Camel }}, _ *svcsdk.{{ .CRD.Ops.Delete.OutputRef.Shape.ShapeName }}, err error) error {
312+
return err
313+
}
309314
{{- else }}
310315
func nopDelete(context.Context, cpresource.Managed) error {
311316
return nil

0 commit comments

Comments
 (0)