Interface CfnRuleGroupProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnRuleGroupProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.102.0 (build e354887)", date="2024-08-23T05:56:24.913Z") @Stability(Stable) public interface CfnRuleGroupProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnRuleGroup.

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 allow;
 Object allQueryArguments;
 Object block;
 Object captcha;
 Object challenge;
 Object count;
 Object forwardedIp;
 Object httpMethod;
 Object ip;
 Object method;
 Object queryString;
 Object singleHeader;
 Object singleQueryArgument;
 StatementProperty statementProperty_;
 Object uriPath;
 CfnRuleGroupProps cfnRuleGroupProps = CfnRuleGroupProps.builder()
         .capacity(123)
         .scope("scope")
         .visibilityConfig(VisibilityConfigProperty.builder()
                 .cloudWatchMetricsEnabled(false)
                 .metricName("metricName")
                 .sampledRequestsEnabled(false)
                 .build())
         // the properties below are optional
         .availableLabels(List.of(LabelSummaryProperty.builder()
                 .name("name")
                 .build()))
         .consumedLabels(List.of(LabelSummaryProperty.builder()
                 .name("name")
                 .build()))
         .customResponseBodies(Map.of(
                 "customResponseBodiesKey", CustomResponseBodyProperty.builder()
                         .content("content")
                         .contentType("contentType")
                         .build()))
         .description("description")
         .name("name")
         .rules(List.of(RuleProperty.builder()
                 .name("name")
                 .priority(123)
                 .statement(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())
                                         .ja3Fingerprint(JA3FingerprintProperty.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)
                                         .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()
                                         .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)
                                         .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())
                                         .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())
                                         .ja3Fingerprint(JA3FingerprintProperty.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)
                                         .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())
                                         .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())
                                         .ja3Fingerprint(JA3FingerprintProperty.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)
                                         .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())
                                         .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())
                 .visibilityConfig(VisibilityConfigProperty.builder()
                         .cloudWatchMetricsEnabled(false)
                         .metricName("metricName")
                         .sampledRequestsEnabled(false)
                         .build())
                 // the properties below are optional
                 .action(RuleActionProperty.builder()
                         .allow(allow)
                         .block(block)
                         .captcha(captcha)
                         .challenge(challenge)
                         .count(count)
                         .build())
                 .captchaConfig(CaptchaConfigProperty.builder()
                         .immunityTimeProperty(ImmunityTimePropertyProperty.builder()
                                 .immunityTime(123)
                                 .build())
                         .build())
                 .challengeConfig(ChallengeConfigProperty.builder()
                         .immunityTimeProperty(ImmunityTimePropertyProperty.builder()
                                 .immunityTime(123)
                                 .build())
                         .build())
                 .ruleLabels(List.of(LabelProperty.builder()
                         .name("name")
                         .build()))
                 .build()))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 

See Also: