Interface CfnWebACL.OrStatementProperty

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

@Stability(Stable) public static interface CfnWebACL.OrStatementProperty extends software.amazon.jsii.JsiiSerializable
A logical rule statement used to combine other rule statements with OR logic.

You provide more than one Statement within the OrStatement .

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 method;
 Object queryString;
 Object singleHeader;
 Object singleQueryArgument;
 StatementProperty statementProperty_;
 Object uriPath;
 OrStatementProperty orStatementProperty = OrStatementProperty.builder()
         .statements(List.of(StatementProperty.builder()
                 .andStatement(AndStatementProperty.builder()
                         .statements(List.of(statementProperty_))
                         .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())
                                 .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)
                                 .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())
                 .managedRuleGroupStatement(ManagedRuleGroupStatementProperty.builder()
                         .name("name")
                         .vendorName("vendorName")
                         // the properties below are optional
                         .excludedRules(List.of(ExcludedRuleProperty.builder()
                                 .name("name")
                                 .build()))
                         .managedRuleGroupConfigs(List.of(ManagedRuleGroupConfigProperty.builder()
                                 .awsManagedRulesAtpRuleSet(AWSManagedRulesATPRuleSetProperty.builder()
                                         .loginPath("loginPath")
                                         // the properties below are optional
                                         .requestInspection(RequestInspectionProperty.builder()
                                                 .passwordField(FieldIdentifierProperty.builder()
                                                         .identifier("identifier")
                                                         .build())
                                                 .payloadType("payloadType")
                                                 .usernameField(FieldIdentifierProperty.builder()
                                                         .identifier("identifier")
                                                         .build())
                                                 .build())
                                         .responseInspection(ResponseInspectionProperty.builder()
                                                 .bodyContains(ResponseInspectionBodyContainsProperty.builder()
                                                         .failureStrings(List.of("failureStrings"))
                                                         .successStrings(List.of("successStrings"))
                                                         .build())
                                                 .header(ResponseInspectionHeaderProperty.builder()
                                                         .failureValues(List.of("failureValues"))
                                                         .name("name")
                                                         .successValues(List.of("successValues"))
                                                         .build())
                                                 .json(ResponseInspectionJsonProperty.builder()
                                                         .failureValues(List.of("failureValues"))
                                                         .identifier("identifier")
                                                         .successValues(List.of("successValues"))
                                                         .build())
                                                 .statusCode(ResponseInspectionStatusCodeProperty.builder()
                                                         .failureCodes(List.of(123))
                                                         .successCodes(List.of(123))
                                                         .build())
                                                 .build())
                                         .build())
                                 .awsManagedRulesBotControlRuleSet(AWSManagedRulesBotControlRuleSetProperty.builder()
                                         .inspectionLevel("inspectionLevel")
                                         .build())
                                 .loginPath("loginPath")
                                 .passwordField(FieldIdentifierProperty.builder()
                                         .identifier("identifier")
                                         .build())
                                 .payloadType("payloadType")
                                 .usernameField(FieldIdentifierProperty.builder()
                                         .identifier("identifier")
                                         .build())
                                 .build()))
                         .ruleActionOverrides(List.of(RuleActionOverrideProperty.builder()
                                 .actionToUse(RuleActionProperty.builder()
                                         .allow(AllowActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .block(BlockActionProperty.builder()
                                                 .customResponse(CustomResponseProperty.builder()
                                                         .responseCode(123)
                                                         // the properties below are optional
                                                         .customResponseBodyKey("customResponseBodyKey")
                                                         .responseHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .captcha(CaptchaActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .challenge(ChallengeActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .count(CountActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .build())
                                 .name("name")
                                 .build()))
                         .scopeDownStatement(statementProperty_)
                         .version("version")
                         .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
                         .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())
                                 .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)
                                 .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())
                                 .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)
                                 .uriPath(uriPath)
                                 .build())
                         .textTransformations(List.of(TextTransformationProperty.builder()
                                 .priority(123)
                                 .type("type")
                                 .build()))
                         .build())
                 .ruleGroupReferenceStatement(RuleGroupReferenceStatementProperty.builder()
                         .arn("arn")
                         // the properties below are optional
                         .excludedRules(List.of(ExcludedRuleProperty.builder()
                                 .name("name")
                                 .build()))
                         .ruleActionOverrides(List.of(RuleActionOverrideProperty.builder()
                                 .actionToUse(RuleActionProperty.builder()
                                         .allow(AllowActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .block(BlockActionProperty.builder()
                                                 .customResponse(CustomResponseProperty.builder()
                                                         .responseCode(123)
                                                         // the properties below are optional
                                                         .customResponseBodyKey("customResponseBodyKey")
                                                         .responseHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .captcha(CaptchaActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .challenge(ChallengeActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .count(CountActionProperty.builder()
                                                 .customRequestHandling(CustomRequestHandlingProperty.builder()
                                                         .insertHeaders(List.of(CustomHTTPHeaderProperty.builder()
                                                                 .name("name")
                                                                 .value("value")
                                                                 .build()))
                                                         .build())
                                                 .build())
                                         .build())
                                 .name("name")
                                 .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())
                                 .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)
                                 .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())
                                 .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)
                                 .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())
                                 .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)
                                 .uriPath(uriPath)
                                 .build())
                         .textTransformations(List.of(TextTransformationProperty.builder()
                                 .priority(123)
                                 .type("type")
                                 .build()))
                         .build())
                 .build()))
         .build();