### 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_
bucket_name = resource_props.get("BucketName")
            bucket_name = resolve_refs_recursively(stack, bucket_name)
            if attribute == "Arn":
                return aws_stack.s3_bucket_arn(bucket_name)
            return bucket_name
    elif resource_type == "Elasticsearch::Domain":
        if attribute == "DomainEndpoint":
            domain_status = resource_state.get("DomainStatus", {})
            result = domain_status.get("Endpoint")
            if result:
                return result
        if attribute in ["Arn", "DomainArn"]:
            domain_name = resource_props.get("DomainName") or resource_state.get("DomainName")
            return aws_stack.es_domain_arn(domain_name)
    elif resource_type == "StepFunctions::StateMachine":
        if is_ref_attr_or_arn:
            return resource_state["stateMachineArn"]
    elif resource_type == "SNS::Topic":
        if is_ref_attribute and resource_state.get("TopicArn"):
            topic_arn = resource_state.get("TopicArn")
            return resolve_refs_recursively(stack, topic_arn)
    elif resource_type == "SQS::Queue":
        if is_ref_attr_or_arn:
            if attribute == "Arn" and resource_state.get("QueueArn"):
                return resolve_refs_recursively(stack, resource_state.get("QueueArn"))
            return aws_stack.get_sqs_queue_url(resource_props.get("QueueName"))
    attribute_lower = first_char_to_lower(attribute)
    result = resource_state.get(attribute) or resource_state.get(attribute_lower)
    if result is None and isinstance(resource, dict):
        result = resource_props.get(attribute) or resource_props.get(attribute_lower)