<!-- 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)
from localstack.utils.cloudformation import template_preparer
from localstack.utils.common import (
    canonical_json,
    get_all_subclasses,
    json_safe,
    md5,
    prevent_stack_overflow,
    short_uid,
    start_worker_thread,
    to_bytes,
    to_str,
)
from localstack.utils.testutil import delete_all_s3_objects
ACTION_CREATE = "create"
ACTION_DELETE = "delete"
AWS_URL_SUFFIX = "localhost"  
IAM_POLICY_VERSION = "2012-10-17"
LOG = logging.getLogger(__name__)
UPDATEABLE_RESOURCES = [
    "Lambda::Function",
    "ApiGateway::Method",
    "StepFunctions::StateMachine",
    "IAM::Role",
    "EC2::Instance",
]
STATIC_REFS = ["AWS::Region", "AWS::Partition", "AWS::StackName", "AWS::AccountId"]
RESOURCE_MODELS = {
    model.cloudformation_type(): model for model in get_all_subclasses(GenericBaseModel)
}
class NoStackUpdates(Exception):