Class CfnUsagePlanPropsMixin

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.apigateway.CfnUsagePlanPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:55.495Z") @Stability(Stable) public class CfnUsagePlanPropsMixin extends Mixin implements software.constructs.IMixin
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 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 AWS Budgets to monitor costs and AWS WAF to manage API requests.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.apigateway.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 CfnUsagePlanPropsMixin cfnUsagePlanPropsMixin = CfnUsagePlanPropsMixin.Builder.create(CfnUsagePlanMixinProps.builder()
         .apiStages(List.of(ApiStageProperty.builder()
                 .apiId("apiId")
                 .stage("stage")
                 .throttle(Map.of(
                         "throttleKey", ThrottleSettingsProperty.builder()
                                 .burstLimit(123)
                                 .rateLimit(123)
                                 .build()))
                 .build()))
         .description("description")
         .quota(QuotaSettingsProperty.builder()
                 .limit(123)
                 .offset(123)
                 .period("period")
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .throttle(ThrottleSettingsProperty.builder()
                 .burstLimit(123)
                 .rateLimit(123)
                 .build())
         .usagePlanName("usagePlanName")
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnUsagePlanPropsMixin

      protected CfnUsagePlanPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnUsagePlanPropsMixin

      protected CfnUsagePlanPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnUsagePlanPropsMixin

      @Stability(Stable) public CfnUsagePlanPropsMixin(@NotNull CfnUsagePlanMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::ApiGateway::UsagePlan.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnUsagePlanPropsMixin

      @Stability(Stable) public CfnUsagePlanPropsMixin(@NotNull CfnUsagePlanMixinProps props)
      Create a mixin to apply properties to AWS::ApiGateway::UsagePlan.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnUsagePlanMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()