<!-- 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)
props["GroupName"] = props.get("GroupName") or _generate_res_name()
    elif res_type == "AWS::Redshift::Cluster":
        props["ClusterIdentifier"] = props.get("ClusterIdentifier") or _generate_res_name()
    elif res_type == "AWS::IAM::InstanceProfile":
        props["InstanceProfileName"] = props.get("InstanceProfileName") or _generate_res_name()
    elif res_type == "AWS::Logs::LogGroup":
        props["LogGroupName"] = props.get("LogGroupName") or _generate_res_name()
    elif res_type == "AWS::KMS::Key":
        tags = props["Tags"] = props.get("Tags", [])
        existing = [t for t in tags if t["Key"] == "localstack-key-id"]
        if not existing:
            
            tags.append({"Key": "localstack-key-id", "Value": short_uid()})
    
    default_attrs = (("AWS::IAM::Role", "RoleName"), ("AWS::Events::Rule", "Name"))
    for entry in default_attrs:
        if res_type == entry[0] and not props.get(entry[1]):
            if not resource_id:
                resource_id = canonical_json(json_safe(props))
                resource_id = md5(resource_id)
            props[entry[1]] = "cf-%s-%s" % (stack_name, resource_id)
def update_dynamodb_index_resource(resource):
    if resource.get("Properties").get("BillingMode") == "PAY_PER_REQUEST":
        for glob_index in resource.get("Properties", {}).get("GlobalSecondaryIndexes", []):
            if not glob_index.get("ProvisionedThroughput"):
                glob_index["ProvisionedThroughput"] = {
                    "ReadCapacityUnits": 99,
                    "WriteCapacityUnits": 99,
                }
class TemplateDeployer(object):