### Is there an existing issue for this?

- [X] I have searched the existing issues

### Enhancement description

Currently, I'm using Localstack to test locally a lambda function that takes s3`ObjectRestore:Completed` notifications as inputs and it would be really great to have support for these events.

I know that right now as a workaround I can invoke the lambda function manually using a payload with the same shape that s3 uses, but it's better to have the process run as close as it would run in AWS.

Thanks for creating and maintaining localstack, it's really great!

### 🧑‍💻 Implementation

Not sure, but happy to help if you can give me some pointers.

### Anything else?

_No response_
SkipValidation,
    SSECustomerAlgorithm,
    SSECustomerKey,
    SSECustomerKeyMD5,
    StorageClass,
    Token,
)
from localstack.aws.api.s3 import Type as GranteeType
from localstack.aws.api.s3 import UploadPartOutput, UploadPartRequest, WebsiteConfiguration
from localstack.aws.forwarder import NotImplementedAvoidFallbackError
from localstack.aws.handlers import (
    modify_service_response,
    preprocess_request,
    serve_custom_service_request_handlers,
)
from localstack.services.edge import ROUTER
from localstack.services.moto import call_moto
from localstack.services.plugins import ServiceLifecycleHook
from localstack.services.s3 import constants as s3_constants
from localstack.services.s3.cors import S3CorsHandler, s3_cors_request_handler
from localstack.services.s3.models import S3Store, get_moto_s3_backend, s3_stores
from localstack.services.s3.notifications import NotificationDispatcher, S3EventNotificationContext
from localstack.services.s3.presigned_url import (
    s3_presigned_url_request_handler,
    s3_presigned_url_response_handler,
    validate_post_policy,
)
from localstack.services.s3.utils import (
    _create_invalid_argument_exc,
    capitalize_header_name_from_snake_case,