Class CfnRateBasedRuleProps.Builder

java.lang.Object
software.amazon.awscdk.services.waf.regional.CfnRateBasedRuleProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnRateBasedRuleProps>
Enclosing interface:
CfnRateBasedRuleProps

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

    • Builder

      public Builder()
  • Method Details

    • metricName

      @Stability(Stable) public CfnRateBasedRuleProps.Builder metricName(String metricName)
      Parameters:
      metricName - A name for the metrics for a RateBasedRule . This parameter is required. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF , including "All" and "Default_Action." You can't change the name of the metric after you create the RateBasedRule .
      Returns:
      this
    • name

      @Stability(Stable) public CfnRateBasedRuleProps.Builder name(String name)
      Parameters:
      name - A friendly name or description for a RateBasedRule . This parameter is required. You can't change the name of a RateBasedRule after you create it.
      Returns:
      this
    • rateKey

      @Stability(Stable) public CfnRateBasedRuleProps.Builder rateKey(String rateKey)
      Parameters:
      rateKey - The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. This parameter is required. The only valid value for RateKey is IP . IP indicates that requests arriving from the same IP address are subject to the RateLimit that is specified in the RateBasedRule .
      Returns:
      this
    • rateLimit

      @Stability(Stable) public CfnRateBasedRuleProps.Builder rateLimit(Number rateLimit)
      Parameters:
      rateLimit - The maximum number of requests, which have an identical value in the field specified by the RateKey , allowed in a five-minute period. This parameter is required. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.
      Returns:
      this
    • matchPredicates

      @Stability(Stable) public CfnRateBasedRuleProps.Builder matchPredicates(IResolvable matchPredicates)
      Parameters:
      matchPredicates - The Predicates object contains one Predicate element for each ByteMatchSet , IPSet , or SqlInjectionMatchSet> object that you want to include in a RateBasedRule .
      Returns:
      this
    • matchPredicates

      @Stability(Stable) public CfnRateBasedRuleProps.Builder matchPredicates(List<? extends Object> matchPredicates)
      Parameters:
      matchPredicates - The Predicates object contains one Predicate element for each ByteMatchSet , IPSet , or SqlInjectionMatchSet> object that you want to include in a RateBasedRule .
      Returns:
      this
    • build

      @Stability(Stable) public CfnRateBasedRuleProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnRateBasedRuleProps>
      Returns:
      a new instance of CfnRateBasedRuleProps
      Throws:
      NullPointerException - if any required attribute was not provided