### Is there an existing issue for this?

- [X] I have searched the existing issues

### Enhancement description

AWS Lambda recently added support for Java 17 as managed runtime:
https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambda-java-17/



### 🧑‍💻 Implementation

_No response_

### Anything else?

_No response_
handler_file=TEST_LAMBDA_PYTHON_ECHO,
            func_name=function_name,
            runtime=Runtime.python3_9,
            role=lambda_su_role,
        )
        
        create_response = aws_client.awslambda.create_event_source_mapping(
            FunctionName=function_name,
            EventSourceArn=stream_arn,
            DestinationConfig={"OnFailure": {"Destination": destination_queue_arn}},
            BatchSize=1,
            StartingPosition="TRIM_HORIZON",
            MaximumBatchingWindowInSeconds=1,
            MaximumRetryAttempts=1,
        )
        uuid = create_response["UUID"]
        cleanups.append(lambda: aws_client.awslambda.delete_event_source_mapping(UUID=uuid))
        snapshot.match("create_response", create_response)
        
        def check_esm_active():
            return aws_client.awslambda.get_event_source_mapping(UUID=uuid)["State"] != "Creating"
        assert wait_until(check_esm_active)
        get_response = aws_client.awslambda.get_event_source_mapping(UUID=uuid)
        snapshot.match("get_response", get_response)
        #
        delete_response = aws_client.awslambda.delete_event_source_mapping(UUID=uuid)
        snapshot.match("delete_response", delete_response)