The following example `serverless.yml` fails to deploy on localstack:

```yaml
service: "localtest"

provider:
  name: "aws"
  runtime: "nodejs10.x"

functions:
  hello:
    handler: "handler.hello"
    
resources:
  Resources:
    ApiGatewayRestApi:
      Type: "AWS::ApiGateway::RestApi"
      Properties:
        Name: "${self:provider.stage}-${self:service}"
    GatewayResponseDefault400:
      Type: "AWS::ApiGateway::GatewayResponse"
      Properties:
        RestApiId:
          Ref: "ApiGatewayRestApi"
        ResponseType: "DEFAULT_4XX"
        ResponseTemplates:
          application/json: '{"errors":[{"message":"Custom text."}]}'
    GatewayResponseUnauthorized:
      Type: "AWS::ApiGateway::GatewayResponse"
      Properties:
        RestApiId:
          Ref: "ApiGatewayRestApi"
        ResponseType: "UNAUTHORIZED"
        ResponseTemplates:
          application/json: '{"errors":[{"message":"Custom text!", "extra":"Some extra info"}]}'
    GatewayResponseDefault500:
      Type: "AWS::ApiGateway::GatewayResponse"
      Properties:
        RestApiId:
          Ref: "ApiGatewayRestApi"
        ResponseType: "DEFAULT_5XX"
        ResponseTemplates:
          application/json: '{"errors":[{"message":$context.error.messageString}]}'
    GatewayResponseIntegrationTimeout:
      Type: "AWS::ApiGateway::GatewayResponse"
      Properties:
        RestApiId:
          Ref: "ApiGatewayRestApi"
        ResponseType: "INTEGRATION_TIMEOUT"
        ResponseTemplates:
          application/json: '{"errors":[{"message":$context.error.messageString}]}'

plugins:
- "serverless-localstack"

custom:
  localstack:
    stages:
      - "local"
```

The error on the localstack end is `Exception: CloudFormation deployment for resource type ApiGateway::GatewayResponse not yet implemented`.
""" Find ID of the given resource. """
            for id_attr in ('Id', 'id', 'ResourceId', 'RestApiId', 'DeploymentId'):
                if id_attr in resource:
                    return resource[id_attr]
        
        if hasattr(resource, 'id') or (isinstance(resource, dict) and resource.get('id')):
            existing_id = resource.id if hasattr(resource, 'id') else resource['id']
            new_res_id = find_id(result)
            LOG.debug('Updating resource id: %s - %s, %s - %s' % (existing_id, new_res_id, resource, resource_json))
            if new_res_id:
                LOG.info('Updating resource ID from %s to %s (%s)' % (existing_id, new_res_id, region_name))
                update_resource_id(resource, new_res_id, props, region_name)
            else:
                LOG.warning('Unable to extract id for resource %s: %s' % (logical_id, result))
        
        update_physical_resource_id(resource)
        return resource
    def update_resource_name(resource, resource_json):