UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

89 lines (88 loc) 4.11 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The ``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. */ export declare class UsagePlan extends pulumi.CustomResource { /** * Get an existing UsagePlan resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): UsagePlan; /** * Returns true if the given object is an instance of UsagePlan. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is UsagePlan; /** * The associated API stages of a usage plan. */ readonly apiStages: pulumi.Output<outputs.apigateway.UsagePlanApiStage[] | undefined>; /** * The ID for the usage plan. For example: `abc123` . */ readonly awsId: pulumi.Output<string>; /** * The description of a usage plan. */ readonly description: pulumi.Output<string | undefined>; /** * The target maximum number of permitted requests per a given unit time interval. */ readonly quota: pulumi.Output<outputs.apigateway.UsagePlanQuotaSettings | undefined>; /** * The collection of tags. Each tag element is associated with a given resource. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * A map containing method level throttling information for API stage in a usage plan. */ readonly throttle: pulumi.Output<outputs.apigateway.UsagePlanThrottleSettings | undefined>; /** * The name of a usage plan. */ readonly usagePlanName: pulumi.Output<string | undefined>; /** * Create a UsagePlan resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: UsagePlanArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a UsagePlan resource. */ export interface UsagePlanArgs { /** * The associated API stages of a usage plan. */ apiStages?: pulumi.Input<pulumi.Input<inputs.apigateway.UsagePlanApiStageArgs>[]>; /** * The description of a usage plan. */ description?: pulumi.Input<string>; /** * The target maximum number of permitted requests per a given unit time interval. */ quota?: pulumi.Input<inputs.apigateway.UsagePlanQuotaSettingsArgs>; /** * The collection of tags. Each tag element is associated with a given resource. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; /** * A map containing method level throttling information for API stage in a usage plan. */ throttle?: pulumi.Input<inputs.apigateway.UsagePlanThrottleSettingsArgs>; /** * The name of a usage plan. */ usagePlanName?: pulumi.Input<string>; }