While a lambda is still processing (archive unpacking etc), the lambda state should be set to "Pending" (currently "Active") and invocations to that lambda should fail (currently, it can end up in a inconsistent state in this case, like lambdas being executed without layers).

Lambda state should reflect the current internal state, and invocations should fail if not active.
event,
    context=None,
    version=None,
    suppress_output=False,
    asynchronous=False,
    callback=None,
    lock_discriminator: str = None,
) -> InvocationResult:
    if context is None:
        context = {}
    
    
    if not hasattr(run_lambda, "_provider_initialized"):
        aws_stack.connect_to_service("lambda").list_functions()
        run_lambda._provider_initialized = True
    region_name = func_arn.split(":")[3]
    region = LambdaRegion.get(region_name)
    if suppress_output:
        stdout_ = sys.stdout
        stderr_ = sys.stderr
        stream = StringIO()
        sys.stdout = stream
        sys.stderr = stream
    try:
        func_arn = aws_stack.fix_arn(func_arn)
        lambda_function = region.lambdas.get(func_arn)
        if not lambda_function:
            LOG.debug("Unable to find details for Lambda %s in region %s", func_arn, region_name)
            result = not_found_error(msg="The resource specified in the request does not exist.")
            return InvocationResult(result)