### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I create a CloudFormation stack with an `AWS::ApiGateway::UsagePlan` resource, but that resource is stuck in `UPDATE_IN_PROGRESS`. 

And the resource hasn't been created:
```
> aws --endpoint-url=http://localhost:4566 apigateway get-usage-plans
{
    "items": []
}
```

### Expected Behavior

A UsagePlan is created. I need this, so I can attach an API Key to it.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

> $env:LOCALSTACK_API_KEY=''
> $env:LAMBDA_EXECUTOR='docker'
> docker-compose -f docker-compose-localstack.yaml up

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

> aws --endpoint-url=http://localhost:4566 s3api create-bucket --bucket timeseries-ingest-lambda-artifacts
> aws --endpoint-url=http://localhost:4566 s3 cp C:\AlsoEnergy\timeseriesingest\GenericIngestAPILambdaFunctions\bin\Release\netcoreapp3.1\index.zip s3://timeseries-ingest-lambda-artifacts/GenericIngestAPILambdaFunctions/index.zip
> aws --endpoint-url=http://localhost:4566 cloudformation create-stack --stack-name test-kinesis-api --template-body file://C:\AlsoEnergy\timeseriesingest\cloudformation-templates\cloudformation-kinesis-api-resources.yaml --parameters ParameterKey=KinesisStreamName,ParameterValue=unified-ingest ParameterKey=Environment,ParameterValue=test

### Environment

```markdown
- OS: Windows 
- LocalStack: 
   localstack_main | LocalStack build date: 2022-03-01
   localstack_main | LocalStack build git hash: ff0ba560
```


### Anything else?

_No response_
result = {}
        
        raw_resources = self.stack.template_original["Resources"]
        raw_resource = raw_resources[resource["LogicalResourceId"]]
        dumped = json.dumps(json_safe(raw_resource))
        for other_id, other in raw_resources.items():
            if resource != other:
                
                search1 = '{"Ref": "%s"}' % other_id
                search2 = '{"Fn::GetAtt": ["%s", ' % other_id
                if search1 in dumped or search2 in dumped:
                    result[other_id] = other
                if other_id in resource.get("DependsOn", []):
                    result[other_id] = other
        return result
    
    
    
    def add_default_resource_props(self, resources=None):
        resources = resources or self.resources
        for resource_id, resource in resources.items():
            add_default_resource_props(
                resource, self.stack_name, resource_id=resource_id, existing_resources=resources
            )
    def init_resource_status(self, resources=None, stack=None, action="CREATE"):
        resources = resources or self.resources
        stack = stack or self.stack
        for resource_id, resource in resources.items():
            stack.set_resource_status(resource_id, "%s_IN_PROGRESS" % action)
    def update_resource_details(self, resource_id, result, stack=None, action="CREATE"):