### 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_
"""
        Download the code archive into a given file
        :param target_file: File the code archive should be downloaded into (IO object)
        """
        s3_client: "S3Client" = aws_stack.connect_to_service("s3", region_name="us-east-1")
        extra_args = {"VersionId": self.s3_object_version} if self.s3_object_version else {}
        s3_client.download_fileobj(
            Bucket=self.s3_bucket, Key=self.s3_key, Fileobj=target_file, ExtraArgs=extra_args
        )
        target_file.flush()
    def generate_presigned_url(self, endpoint_url: str | None = None) -> str:
        """
        Generates a presigned url pointing to the code archive
        """
        s3_client: "S3Client" = aws_stack.connect_to_service(
            "s3", region_name="us-east-1", endpoint_url=endpoint_url
        )
        params = {"Bucket": self.s3_bucket, "Key": self.s3_key}
        if self.s3_object_version:
            params["VersionId"] = self.s3_object_version
        return s3_client.generate_presigned_url("get_object", Params=params)
    def is_hot_reloading(self) -> bool: