Class RateLimitedApiKey.Builder

java.lang.Object
software.amazon.awscdk.services.apigateway.RateLimitedApiKey.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<RateLimitedApiKey>
Enclosing class:
RateLimitedApiKey

@Stability(Stable) public static final class RateLimitedApiKey.Builder extends Object implements software.amazon.jsii.Builder<RateLimitedApiKey>
A fluent builder for RateLimitedApiKey.
  • Method Details

    • create

      @Stability(Stable) public static RateLimitedApiKey.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of RateLimitedApiKey.Builder.
    • defaultCorsPreflightOptions

      @Stability(Stable) public RateLimitedApiKey.Builder defaultCorsPreflightOptions(CorsOptions defaultCorsPreflightOptions)
      Adds a CORS preflight OPTIONS method to this resource and all child resources.

      You can add CORS at the resource-level using addCorsPreflight.

      Default: - CORS is disabled

      Parameters:
      defaultCorsPreflightOptions - Adds a CORS preflight OPTIONS method to this resource and all child resources. This parameter is required.
      Returns:
      this
    • defaultIntegration

      @Stability(Stable) public RateLimitedApiKey.Builder defaultIntegration(Integration defaultIntegration)
      An integration to use as a default for all methods created within this API unless an integration is specified.

      Default: - Inherited from parent.

      Parameters:
      defaultIntegration - An integration to use as a default for all methods created within this API unless an integration is specified. This parameter is required.
      Returns:
      this
    • defaultMethodOptions

      @Stability(Stable) public RateLimitedApiKey.Builder defaultMethodOptions(MethodOptions defaultMethodOptions)
      Method options to use as a default for all methods created within this API unless custom options are specified.

      Default: - Inherited from parent.

      Parameters:
      defaultMethodOptions - Method options to use as a default for all methods created within this API unless custom options are specified. This parameter is required.
      Returns:
      this
    • apiKeyName

      @Stability(Stable) public RateLimitedApiKey.Builder apiKeyName(String apiKeyName)
      A name for the API key.

      If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name.

      Default: automically generated name

      Parameters:
      apiKeyName - A name for the API key. This parameter is required.
      Returns:
      this
    • description

      @Stability(Stable) public RateLimitedApiKey.Builder description(String description)
      A description of the purpose of the API key.

      Default: none

      Parameters:
      description - A description of the purpose of the API key. This parameter is required.
      Returns:
      this
    • value

      @Stability(Stable) public RateLimitedApiKey.Builder value(String value)
      The value of the API key.

      Must be at least 20 characters long.

      Default: none

      Parameters:
      value - The value of the API key. This parameter is required.
      Returns:
      this
    • customerId

      @Stability(Stable) public RateLimitedApiKey.Builder customerId(String customerId)
      An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace.

      Default: none

      Parameters:
      customerId - An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace. This parameter is required.
      Returns:
      this
    • enabled

      @Stability(Stable) public RateLimitedApiKey.Builder enabled(Boolean enabled)
      Indicates whether the API key can be used by clients.

      Default: true

      Parameters:
      enabled - Indicates whether the API key can be used by clients. This parameter is required.
      Returns:
      this
    • generateDistinctId

      @Stability(Stable) public RateLimitedApiKey.Builder generateDistinctId(Boolean generateDistinctId)
      Specifies whether the key identifier is distinct from the created API key value.

      Default: false

      Parameters:
      generateDistinctId - Specifies whether the key identifier is distinct from the created API key value. This parameter is required.
      Returns:
      this
    • resources

      @Stability(Stable) public RateLimitedApiKey.Builder resources(List<? extends IRestApi> resources)
      A list of resources this api key is associated with.

      Default: none

      Parameters:
      resources - A list of resources this api key is associated with. This parameter is required.
      Returns:
      this
    • apiStages

      @Stability(Stable) public RateLimitedApiKey.Builder apiStages(List<? extends UsagePlanPerApiStage> apiStages)
      API Stages to be associated with the RateLimitedApiKey.

      Default: none

      Parameters:
      apiStages - API Stages to be associated with the RateLimitedApiKey. This parameter is required.
      Returns:
      this
    • quota

      @Stability(Stable) public RateLimitedApiKey.Builder quota(QuotaSettings quota)
      Number of requests clients can make in a given time period.

      Default: none

      Parameters:
      quota - Number of requests clients can make in a given time period. This parameter is required.
      Returns:
      this
    • throttle

      @Stability(Stable) public RateLimitedApiKey.Builder throttle(ThrottleSettings throttle)
      Overall throttle settings for the API.

      Default: none

      Parameters:
      throttle - Overall throttle settings for the API. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public RateLimitedApiKey build()
      Specified by:
      build in interface software.amazon.jsii.Builder<RateLimitedApiKey>
      Returns:
      a newly built instance of RateLimitedApiKey.