Interface RateBasedStatementCustomKey.Builder
- All Superinterfaces:
Buildable
,CopyableBuilder<RateBasedStatementCustomKey.Builder,
,RateBasedStatementCustomKey> SdkBuilder<RateBasedStatementCustomKey.Builder,
,RateBasedStatementCustomKey> SdkPojo
- Enclosing class:
RateBasedStatementCustomKey
-
Method Summary
Modifier and TypeMethodDescriptioncookie
(Consumer<RateLimitCookie.Builder> cookie) Use the value of a cookie in the request as an aggregate key.cookie
(RateLimitCookie cookie) Use the value of a cookie in the request as an aggregate key.forwardedIP
(Consumer<RateLimitForwardedIP.Builder> forwardedIP) Use the first IP address in an HTTP header as an aggregate key.forwardedIP
(RateLimitForwardedIP forwardedIP) Use the first IP address in an HTTP header as an aggregate key.header
(Consumer<RateLimitHeader.Builder> header) Use the value of a header in the request as an aggregate key.header
(RateLimitHeader header) Use the value of a header in the request as an aggregate key.httpMethod
(Consumer<RateLimitHTTPMethod.Builder> httpMethod) Use the request's HTTP method as an aggregate key.httpMethod
(RateLimitHTTPMethod httpMethod) Use the request's HTTP method as an aggregate key.Use the request's originating IP address as an aggregate key.ip
(RateLimitIP ip) Use the request's originating IP address as an aggregate key.labelNamespace
(Consumer<RateLimitLabelNamespace.Builder> labelNamespace) Use the specified label namespace as an aggregate key.labelNamespace
(RateLimitLabelNamespace labelNamespace) Use the specified label namespace as an aggregate key.queryArgument
(Consumer<RateLimitQueryArgument.Builder> queryArgument) Use the specified query argument as an aggregate key.queryArgument
(RateLimitQueryArgument queryArgument) Use the specified query argument as an aggregate key.queryString
(Consumer<RateLimitQueryString.Builder> queryString) Use the request's query string as an aggregate key.queryString
(RateLimitQueryString queryString) Use the request's query string as an aggregate key.uriPath
(Consumer<RateLimitUriPath.Builder> uriPath) Use the request's URI path as an aggregate key.uriPath
(RateLimitUriPath uriPath) Use the request's URI path as an aggregate key.Methods inherited from interface software.amazon.awssdk.utils.builder.CopyableBuilder
copy
Methods inherited from interface software.amazon.awssdk.utils.builder.SdkBuilder
applyMutation, build
Methods inherited from interface software.amazon.awssdk.core.SdkPojo
equalsBySdkFields, sdkFields
-
Method Details
-
header
Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
- Parameters:
header
- Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
header
Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitHeader.Builder
avoiding the need to create one manually viaRateLimitHeader.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toheader(RateLimitHeader)
.- Parameters:
header
- a consumer that will call methods onRateLimitHeader.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
cookie
Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
- Parameters:
cookie
- Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
cookie
Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitCookie.Builder
avoiding the need to create one manually viaRateLimitCookie.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed tocookie(RateLimitCookie)
.- Parameters:
cookie
- a consumer that will call methods onRateLimitCookie.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
queryArgument
Use the specified query argument as an aggregate key. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.
- Parameters:
queryArgument
- Use the specified query argument as an aggregate key. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
queryArgument
default RateBasedStatementCustomKey.Builder queryArgument(Consumer<RateLimitQueryArgument.Builder> queryArgument) Use the specified query argument as an aggregate key. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitQueryArgument.Builder
avoiding the need to create one manually viaRateLimitQueryArgument.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toqueryArgument(RateLimitQueryArgument)
.- Parameters:
queryArgument
- a consumer that will call methods onRateLimitQueryArgument.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
queryString
Use the request's query string as an aggregate key. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.
- Parameters:
queryString
- Use the request's query string as an aggregate key. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
queryString
default RateBasedStatementCustomKey.Builder queryString(Consumer<RateLimitQueryString.Builder> queryString) Use the request's query string as an aggregate key. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitQueryString.Builder
avoiding the need to create one manually viaRateLimitQueryString.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toqueryString(RateLimitQueryString)
.- Parameters:
queryString
- a consumer that will call methods onRateLimitQueryString.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
httpMethod
Use the request's HTTP method as an aggregate key. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method as your custom key, then each method fully defines an aggregation instance.
- Parameters:
httpMethod
- Use the request's HTTP method as an aggregate key. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method as your custom key, then each method fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
httpMethod
default RateBasedStatementCustomKey.Builder httpMethod(Consumer<RateLimitHTTPMethod.Builder> httpMethod) Use the request's HTTP method as an aggregate key. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method as your custom key, then each method fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitHTTPMethod.Builder
avoiding the need to create one manually viaRateLimitHTTPMethod.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed tohttpMethod(RateLimitHTTPMethod)
.- Parameters:
httpMethod
- a consumer that will call methods onRateLimitHTTPMethod.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
forwardedIP
Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying
FORWARDED_IP
in your rate-based statement'sAggregateKeyType
.With this option, you must specify the header to use in the rate-based rule's
ForwardedIPConfig
property.- Parameters:
forwardedIP
- Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance.When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying
FORWARDED_IP
in your rate-based statement'sAggregateKeyType
.With this option, you must specify the header to use in the rate-based rule's
ForwardedIPConfig
property.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
forwardedIP
default RateBasedStatementCustomKey.Builder forwardedIP(Consumer<RateLimitForwardedIP.Builder> forwardedIP) Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying
FORWARDED_IP
in your rate-based statement'sAggregateKeyType
.With this option, you must specify the header to use in the rate-based rule's
This is a convenience method that creates an instance of theForwardedIPConfig
property.RateLimitForwardedIP.Builder
avoiding the need to create one manually viaRateLimitForwardedIP.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toforwardedIP(RateLimitForwardedIP)
.- Parameters:
forwardedIP
- a consumer that will call methods onRateLimitForwardedIP.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
ip
Use the request's originating IP address as an aggregate key. Each distinct IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying
IP
in your rate-based statement'sAggregateKeyType
.- Parameters:
ip
- Use the request's originating IP address as an aggregate key. Each distinct IP address contributes to the aggregation instance.When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying
IP
in your rate-based statement'sAggregateKeyType
.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
ip
Use the request's originating IP address as an aggregate key. Each distinct IP address contributes to the aggregation instance.
When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the IP address by specifying
This is a convenience method that creates an instance of theIP
in your rate-based statement'sAggregateKeyType
.RateLimitIP.Builder
avoiding the need to create one manually viaRateLimitIP.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toip(RateLimitIP)
.- Parameters:
ip
- a consumer that will call methods onRateLimitIP.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
labelNamespace
Use the specified label namespace as an aggregate key. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance.
This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide.
- Parameters:
labelNamespace
- Use the specified label namespace as an aggregate key. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance.This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide.
- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
labelNamespace
default RateBasedStatementCustomKey.Builder labelNamespace(Consumer<RateLimitLabelNamespace.Builder> labelNamespace) Use the specified label namespace as an aggregate key. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance.
This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL.
For information about label namespaces and names, see Label syntax and naming requirements in the WAF Developer Guide.
This is a convenience method that creates an instance of theRateLimitLabelNamespace.Builder
avoiding the need to create one manually viaRateLimitLabelNamespace.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed tolabelNamespace(RateLimitLabelNamespace)
.- Parameters:
labelNamespace
- a consumer that will call methods onRateLimitLabelNamespace.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
uriPath
Use the request's URI path as an aggregate key. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.
- Parameters:
uriPath
- Use the request's URI path as an aggregate key. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
uriPath
Use the request's URI path as an aggregate key. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.
This is a convenience method that creates an instance of theRateLimitUriPath.Builder
avoiding the need to create one manually viaRateLimitUriPath.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed touriPath(RateLimitUriPath)
.- Parameters:
uriPath
- a consumer that will call methods onRateLimitUriPath.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-