### 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_
operand1 = resolve_refs_recursively(stack, operand1)
            operand2 = resolve_refs_recursively(stack, operand2)
            return str(operand1) == str(operand2)
        if stripped_fn_lower == "select":
            index, values = value[keys_list[0]]
            index = resolve_refs_recursively(stack, index)
            values = resolve_refs_recursively(stack, values)
            return values[index]
        if stripped_fn_lower == "split":
            delimiter, string = value[keys_list[0]]
            delimiter = resolve_refs_recursively(stack, delimiter)
            string = resolve_refs_recursively(stack, string)
            return string.split(delimiter)
        if stripped_fn_lower == "getazs":
            region = resolve_refs_recursively(stack, value["Fn::GetAZs"]) or aws_stack.get_region()
            azs = []
            for az in ("a", "b", "c", "d"):
                azs.append("%s%s" % (region, az))
            return azs
        if stripped_fn_lower == "base64":
            value_to_encode = value[keys_list[0]]
            value_to_encode = resolve_refs_recursively(stack, value_to_encode)
            return to_str(base64.b64encode(to_bytes(value_to_encode)))
        for key, val in dict(value).items():
            value[key] = resolve_refs_recursively(stack, val)
    if isinstance(value, list):
        for i in range(len(value)):
            value[i] = resolve_refs_recursively(stack, value[i])
    return value
def resolve_placeholders_in_string(result, stack):