Skip to main content

usage_plans

Creates, updates, deletes or gets an usage_plan resource or lists usage_plans in a region

Overview

Nameusage_plans
TypeResource
DescriptionThe AWS::ApiGateway::UsagePlan resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide*.
In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
Idaws.apigateway.usage_plans

Fields

NameDatatypeDescription
idstring
api_stagesarray
descriptionstring
quotaobjectQuotaSettings is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies a target for the maximum number of requests users can make to your REST APIs.
In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
tagsarray
throttleobjectThrottleSettings is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies the overall request rate (average requests per second) and burst capacity when users call your REST APIs.
usage_plan_namestring
regionstringAWS region.

For more information, see AWS::ApiGateway::UsagePlan.

Methods

NameAccessible byRequired Params
create_resourceINSERTregion
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all usage_plans in a region.

SELECT
region,
id,
api_stages,
description,
quota,
tags,
throttle,
usage_plan_name
FROM aws.apigateway.usage_plans
WHERE region = 'us-east-1';

Gets all properties from an individual usage_plan.

SELECT
region,
id,
api_stages,
description,
quota,
tags,
throttle,
usage_plan_name
FROM aws.apigateway.usage_plans
WHERE region = 'us-east-1' AND data__Identifier = '<Id>';

INSERT example

Use the following StackQL query and manifest file to create a new usage_plan resource, using stack-deploy.

/*+ create */
INSERT INTO aws.apigateway.usage_plans (
ApiStages,
Description,
Quota,
Tags,
Throttle,
UsagePlanName,
region
)
SELECT
'{{ ApiStages }}',
'{{ Description }}',
'{{ Quota }}',
'{{ Tags }}',
'{{ Throttle }}',
'{{ UsagePlanName }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.apigateway.usage_plans
WHERE data__Identifier = '<Id>'
AND region = 'us-east-1';

Permissions

To operate on the usage_plans resource, the following permissions are required:

Create

apigateway:POST,
apigateway:GET,
apigateway:PUT

Read

apigateway:GET

Update

apigateway:GET,
apigateway:DELETE,
apigateway:PATCH,
apigateway:PUT

Delete

apigateway:DELETE,
apigateway:GET,
apigateway:PATCH

List

apigateway:GET