Interface CfnRuleGroup.StatementProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnRuleGroup.StatementProperty.Jsii$Proxy
Enclosing class:
CfnRuleGroup

@Stability(Stable) public static interface CfnRuleGroup.StatementProperty extends software.amazon.jsii.JsiiSerializable
The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.wafv2.*;
 Object all;
 Object allQueryArguments;
 Object asn;
 Object forwardedIp;
 Object httpMethod;
 Object ip;
 Object method;
 Object queryString;
 Object singleHeader;
 Object singleQueryArgument;
 StatementProperty statementProperty_;
 Object uriPath;
 StatementProperty statementProperty = StatementProperty.builder()
         .andStatement(AndStatementProperty.builder()
                 .statements(List.of(statementProperty_))
                 .build())
         .asnMatchStatement(AsnMatchStatementProperty.builder()
                 .asnList(List.of(123))
                 .forwardedIpConfig(ForwardedIPConfigurationProperty.builder()
                         .fallbackBehavior("fallbackBehavior")
                         .headerName("headerName")
                         .build())
                 .build())
         .byteMatchStatement(ByteMatchStatementProperty.builder()
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .positionalConstraint("positionalConstraint")
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 // the properties below are optional
                 .searchString("searchString")
                 .searchStringBase64("searchStringBase64")
                 .build())
         .geoMatchStatement(GeoMatchStatementProperty.builder()
                 .countryCodes(List.of("countryCodes"))
                 .forwardedIpConfig(ForwardedIPConfigurationProperty.builder()
                         .fallbackBehavior("fallbackBehavior")
                         .headerName("headerName")
                         .build())
                 .build())
         .ipSetReferenceStatement(Map.of(
                 "arn", "arn",
                 // the properties below are optional
                 "ipSetForwardedIpConfig", Map.of(
                         "fallbackBehavior", "fallbackBehavior",
                         "headerName", "headerName",
                         "position", "position")))
         .labelMatchStatement(LabelMatchStatementProperty.builder()
                 .key("key")
                 .scope("scope")
                 .build())
         .notStatement(NotStatementProperty.builder()
                 .statement(statementProperty_)
                 .build())
         .orStatement(OrStatementProperty.builder()
                 .statements(List.of(statementProperty_))
                 .build())
         .rateBasedStatement(RateBasedStatementProperty.builder()
                 .aggregateKeyType("aggregateKeyType")
                 .limit(123)
                 // the properties below are optional
                 .customKeys(List.of(RateBasedStatementCustomKeyProperty.builder()
                         .asn(asn)
                         .cookie(RateLimitCookieProperty.builder()
                                 .name("name")
                                 .textTransformations(List.of(TextTransformationProperty.builder()
                                         .priority(123)
                                         .type("type")
                                         .build()))
                                 .build())
                         .forwardedIp(forwardedIp)
                         .header(RateLimitHeaderProperty.builder()
                                 .name("name")
                                 .textTransformations(List.of(TextTransformationProperty.builder()
                                         .priority(123)
                                         .type("type")
                                         .build()))
                                 .build())
                         .httpMethod(httpMethod)
                         .ip(ip)
                         .ja3Fingerprint(RateLimitJA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(RateLimitJA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .labelNamespace(RateLimitLabelNamespaceProperty.builder()
                                 .namespace("namespace")
                                 .build())
                         .queryArgument(RateLimitQueryArgumentProperty.builder()
                                 .name("name")
                                 .textTransformations(List.of(TextTransformationProperty.builder()
                                         .priority(123)
                                         .type("type")
                                         .build()))
                                 .build())
                         .queryString(RateLimitQueryStringProperty.builder()
                                 .textTransformations(List.of(TextTransformationProperty.builder()
                                         .priority(123)
                                         .type("type")
                                         .build()))
                                 .build())
                         .uriPath(RateLimitUriPathProperty.builder()
                                 .textTransformations(List.of(TextTransformationProperty.builder()
                                         .priority(123)
                                         .type("type")
                                         .build()))
                                 .build())
                         .build()))
                 .evaluationWindowSec(123)
                 .forwardedIpConfig(ForwardedIPConfigurationProperty.builder()
                         .fallbackBehavior("fallbackBehavior")
                         .headerName("headerName")
                         .build())
                 .scopeDownStatement(statementProperty_)
                 .build())
         .regexMatchStatement(RegexMatchStatementProperty.builder()
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .regexString("regexString")
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 .build())
         .regexPatternSetReferenceStatement(RegexPatternSetReferenceStatementProperty.builder()
                 .arn("arn")
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 .build())
         .sizeConstraintStatement(SizeConstraintStatementProperty.builder()
                 .comparisonOperator("comparisonOperator")
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .size(123)
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 .build())
         .sqliMatchStatement(SqliMatchStatementProperty.builder()
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 // the properties below are optional
                 .sensitivityLevel("sensitivityLevel")
                 .build())
         .xssMatchStatement(XssMatchStatementProperty.builder()
                 .fieldToMatch(FieldToMatchProperty.builder()
                         .allQueryArguments(allQueryArguments)
                         .body(BodyProperty.builder()
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .cookies(CookiesProperty.builder()
                                 .matchPattern(CookieMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedCookies(List.of("excludedCookies"))
                                         .includedCookies(List.of("includedCookies"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .headers(HeadersProperty.builder()
                                 .matchPattern(HeaderMatchPatternProperty.builder()
                                         .all(all)
                                         .excludedHeaders(List.of("excludedHeaders"))
                                         .includedHeaders(List.of("includedHeaders"))
                                         .build())
                                 .matchScope("matchScope")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .ja3Fingerprint(JA3FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .ja4Fingerprint(JA4FingerprintProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .jsonBody(JsonBodyProperty.builder()
                                 .matchPattern(JsonMatchPatternProperty.builder()
                                         .all(all)
                                         .includedPaths(List.of("includedPaths"))
                                         .build())
                                 .matchScope("matchScope")
                                 // the properties below are optional
                                 .invalidFallbackBehavior("invalidFallbackBehavior")
                                 .oversizeHandling("oversizeHandling")
                                 .build())
                         .method(method)
                         .queryString(queryString)
                         .singleHeader(singleHeader)
                         .singleQueryArgument(singleQueryArgument)
                         .uriFragment(UriFragmentProperty.builder()
                                 .fallbackBehavior("fallbackBehavior")
                                 .build())
                         .uriPath(uriPath)
                         .build())
                 .textTransformations(List.of(TextTransformationProperty.builder()
                         .priority(123)
                         .type("type")
                         .build()))
                 .build())
         .build();
 

See Also: