diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 38674e6..f267a74 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2025-05-13T05:08:46Z" - build_hash: 55bf57b2806c33a7fcd074be403f26ce3f8e58db - go_version: go1.24.2 - version: v0.46.2 + build_date: "2025-05-22T21:41:04Z" + build_hash: ed3e8afd0209bee26809ca6d6a72b1a8e3e05ede + go_version: go1.24.3 + version: v0.46.2-5-ged3e8af-dirty api_directory_checksum: e0465b8e0cf7076ab51e30604f13a32cdf4957ae api_version: v1alpha1 aws_sdk_go_version: v1.32.6 diff --git a/pkg/resource/function/hooks.go b/pkg/resource/function/hooks.go index ecaaa26..a2d36ec 100644 --- a/pkg/resource/function/hooks.go +++ b/pkg/resource/function/hooks.go @@ -69,36 +69,38 @@ func (rm *resourceManager) customUpdateFunction( exit := rlog.Trace("rm.customUpdateFunction") defer exit(err) - if isFunctionPending(desired) { - return nil, requeueWaitWhilePending + updatedStatusResource := rm.concreteResource(desired.DeepCopy()) + updatedStatusResource.SetStatus(latest) + if isFunctionPending(latest) { + return updatedStatusResource, requeueWaitWhilePending } if delta.DifferentAt("Spec.Tags") { err = rm.updateFunctionTags(ctx, latest, desired) if err != nil { - return nil, err + return updatedStatusResource, err } } if delta.DifferentAt("Spec.ReservedConcurrentExecutions") { err = rm.updateFunctionConcurrency(ctx, desired) if err != nil { - return nil, err + return updatedStatusResource, err } } if delta.DifferentAt("Spec.FunctionEventInvokeConfig") { err = rm.syncFunctionEventInvokeConfig(ctx, desired) if err != nil { - return nil, err + return updatedStatusResource, err } } if delta.DifferentAt("Spec.CodeSigningConfigARN") { if desired.ko.Spec.PackageType != nil && *desired.ko.Spec.PackageType == "Image" && desired.ko.Spec.CodeSigningConfigARN != nil && *desired.ko.Spec.CodeSigningConfigARN != "" { - return nil, ackerr.NewTerminalError(ErrCannotSetFunctionCSC) + return updatedStatusResource, ackerr.NewTerminalError(ErrCannotSetFunctionCSC) } else { err = rm.updateFunctionCodeSigningConfig(ctx, desired) if err != nil { - return nil, err + return updatedStatusResource, err } } } @@ -112,9 +114,9 @@ func (rm *resourceManager) customUpdateFunction( err = rm.updateFunctionCode(ctx, desired, delta, latest) if err != nil { if strings.Contains(err.Error(), "Provide a valid source image.") { - return nil, requeueWaitWhileSourceImageDoesNotExist + return updatedStatusResource, requeueWaitWhileSourceImageDoesNotExist } else { - return nil, err + return updatedStatusResource, err } } case delta.DifferentExcept( @@ -125,13 +127,13 @@ func (rm *resourceManager) customUpdateFunction( "Spec.CodeSigningConfigARN"): err = rm.updateFunctionConfiguration(ctx, desired, delta) if err != nil { - return nil, err + return updatedStatusResource, err } } readOneLatest, err := rm.ReadOne(ctx, desired) if err != nil { - return nil, err + return updatedStatusResource, err } return rm.concreteResource(readOneLatest), nil } diff --git a/pkg/resource/function/manager.go b/pkg/resource/function/manager.go index 87cf994..7aeb0ff 100644 --- a/pkg/resource/function/manager.go +++ b/pkg/resource/function/manager.go @@ -273,7 +273,7 @@ func (rm *resourceManager) IsSynced(ctx context.Context, res acktypes.AWSResourc } stateCandidates := []string{"Active", "Inactive"} if !ackutil.InStrings(*r.ko.Status.State, stateCandidates) { - return false, nil + return false, ackrequeue.Needed(fmt.Errorf("requeing until resource status is [Active Inactive]")) } return true, nil diff --git a/pkg/resource/function/sdk.go b/pkg/resource/function/sdk.go index 941de3b..e20f609 100644 --- a/pkg/resource/function/sdk.go +++ b/pkg/resource/function/sdk.go @@ -398,8 +398,9 @@ func (rm *resourceManager) sdkFind( ko.Spec.Tags = expectedOutput } if err := rm.setResourceAdditionalFields(ctx, ko); err != nil { - return nil, err + return &resource{ko}, err } + return &resource{ko}, nil } diff --git a/templates/hooks/function/sdk_read_one_post_set_output.go.tpl b/templates/hooks/function/sdk_read_one_post_set_output.go.tpl index 28d1890..6230c3f 100644 --- a/templates/hooks/function/sdk_read_one_post_set_output.go.tpl +++ b/templates/hooks/function/sdk_read_one_post_set_output.go.tpl @@ -51,5 +51,5 @@ ko.Spec.Tags = expectedOutput } if err := rm.setResourceAdditionalFields(ctx, ko); err != nil { - return nil, err - } \ No newline at end of file + return &resource{ko}, err + }