### 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_
build_dir = runtime_dir / "build"
    package_path = runtime_dir / "handler.zip"
    
    
    if os.path.exists(package_path) and os.path.isfile(package_path):
        return package_path
    
    result = subprocess.run(["make", "build"], cwd=runtime_dir)
    if result.returncode != 0:
        raise Exception(
            f"Failed to build multiruntime {scenario=} for {runtime=} with error code: {result.returncode}"
        )
    
    if os.path.exists(package_path) and os.path.isfile(package_path):
        return package_path
    
    target_empty = len(os.listdir(build_dir)) <= 0
    if target_empty:
        raise Exception(f"Failed to build multiruntime {scenario=} for {runtime=} ")
    with zipfile.ZipFile(package_path, "w", strict_timestamps=True) as zf:
        for root, dirs, files in os.walk(build_dir):
            rel_dir = os.path.relpath(root, build_dir)
            for f in files:
                zf.write(os.path.join(root, f), arcname=os.path.join(rel_dir, f))
    
    assert package_path.exists() and package_path.is_file()
    return package_path
class ParametrizedLambda:
    lambda_client: "LambdaClient"
    function_names: list[str]