<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...

[ ] bug report
[x] feature request

# Detailed description
* Define a lambda function in a CDK stack (e.g. "TestStack"), giving it a descriptive ID value (e.g. "DescriptiveName")
* Deploy the CDK template (`cdklocal deploy`)
* Check the function's name in the dashboard

## Expected behavior
Function's name includes its CDK stack ID. For example, deploying the template to AWS will produce a function name of the form `<StackName>-<FunctionID><mishmash>` (e.g. TestStack-DescriptiveName8C62FF46-hXye7CyPgrc7)

## Actual behavior
Function's name has the form `<StackName>-lambda-<mishmash>` (e.g. TestStack-lambda-cb0e840d), making it more difficult to use in the localstack dashboard when there are several lambdas.

# Steps to reproduce
See detailed description

## Command used to start LocalStack
`LOCALSTACK_API_KEY=... localstack start`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
(none)
if resource_type == "ApiGateway::Model":
        resource["PhysicalResourceId"] = details["id"]
    if resource_type == "EC2::VPC":
        resource["PhysicalResourceId"] = details["Vpc"]["VpcId"]
    if resource_type == "EC2::Subnet":
        resource["PhysicalResourceId"] = details["Subnet"]["SubnetId"]
    if resource_type == "EC2::RouteTable":
        resource["PhysicalResourceId"] = details["RouteTable"]["RouteTableId"]
    if resource_type == "EC2::Route":
        resource["PhysicalResourceId"] = generate_route_id(
            resource_props["RouteTableId"],
            resource_props.get("DestinationCidrBlock", ""),
            resource_props.get("DestinationIpv6CidrBlock"),
        )
    if isinstance(details, MotoCloudFormationModel):
        
        stack.moto_resource_statuses[resource_id] = details
def add_default_resource_props(
    resource,
    stack_name,
    resource_name=None,
    resource_id=None,
    update=False,
    existing_resources=None,
):
    """Apply some fixes to resource props which otherwise cause deployments to fail"""
    res_type = resource["Type"]
    props = resource["Properties"] = resource.get("Properties", {})
    existing_resources = existing_resources or {}
    def _generate_res_name():