We're using an old version of `boto` (through `moto`) to detect the available regions for Lambda (and other APIs). We should switch from `boto` to the newer `boto3` library, which includes the up-to-date endpoints.

```
code/localstack/localstack/services/cloudformation/cloudformation_starter.py", line 502, in Lambda_create_from_cloudformation_json
    return Lambda_create_from_cloudformation_json_orig(resource_name, cloudformation_json, region_name)
  File "/opt/code/localstack/.venv/lib/python3.7/site-packages/moto/awslambda/models.py", line 519, in create_from_cloudformation_json
    backend = lambda_backends[region_name]
KeyError: 'eu-west-2'
```
if hasattr(entity, 'physical_resource_id'):
        return entity.physical_resource_id
    
    types_with_ref_as_id_or_name = (apigw_models.RestAPI, apigw_models.Resource)
    attr_candidates = ['function_arn', 'Arn', 'Ref', 'id', 'Id', 'name', 'Name']
    for attr in attr_candidates:
        if hasattr(entity, attr):
            if attr in ['id', 'name'] and not isinstance(entity, types_with_ref_as_id_or_name):
                LOG.warning('Unable to find ARN, using "%s" instead: %s - %s',
                            attr, resource_json, entity)
            return getattr(entity, attr)
        if hasattr(entity, 'get_cfn_attribute'):
            try:
                result = entity.get_cfn_attribute(attr)
                if result:
                    return result
            except Exception:
                pass
    
    if hasattr(entity, 'params'):
        for key, value in (entity.params or {}).items():
            if key.endswith('Name'):
                return value
def convert_objs_to_ids(resource_json):