aws-cdk-lib 2.186.0__py3-none-any.whl → 2.187.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (62) hide show
  1. aws_cdk/__init__.py +281 -116
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.187.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +124 -0
  5. aws_cdk/aws_apigateway/__init__.py +48 -2
  6. aws_cdk/aws_appsync/__init__.py +14 -5
  7. aws_cdk/aws_bedrock/__init__.py +32 -22
  8. aws_cdk/aws_cassandra/__init__.py +2 -2
  9. aws_cdk/aws_cloudfront/__init__.py +11 -0
  10. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  11. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  12. aws_cdk/aws_codebuild/__init__.py +9 -0
  13. aws_cdk/aws_config/__init__.py +2 -5
  14. aws_cdk/aws_datazone/__init__.py +287 -226
  15. aws_cdk/aws_detective/__init__.py +3 -3
  16. aws_cdk/aws_dynamodb/__init__.py +37 -0
  17. aws_cdk/aws_ec2/__init__.py +154 -12
  18. aws_cdk/aws_ecr/__init__.py +143 -0
  19. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  20. aws_cdk/aws_ecs/__init__.py +51 -0
  21. aws_cdk/aws_eks/__init__.py +114 -0
  22. aws_cdk/aws_events/__init__.py +8 -11
  23. aws_cdk/aws_forecast/__init__.py +1 -1
  24. aws_cdk/aws_fsx/__init__.py +2 -2
  25. aws_cdk/aws_gamelift/__init__.py +6 -6
  26. aws_cdk/aws_identitystore/__init__.py +16 -16
  27. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  28. aws_cdk/aws_kms/__init__.py +10 -11
  29. aws_cdk/aws_lakeformation/__init__.py +3 -3
  30. aws_cdk/aws_lambda/__init__.py +105 -4
  31. aws_cdk/aws_lambda_event_sources/__init__.py +65 -3
  32. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  33. aws_cdk/aws_lex/__init__.py +981 -5
  34. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  35. aws_cdk/aws_mwaa/__init__.py +9 -9
  36. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  37. aws_cdk/aws_omics/__init__.py +216 -0
  38. aws_cdk/aws_quicksight/__init__.py +244 -39
  39. aws_cdk/aws_rds/__init__.py +102 -10
  40. aws_cdk/aws_route53/__init__.py +2 -2
  41. aws_cdk/aws_route53recoverycontrol/__init__.py +43 -2
  42. aws_cdk/aws_s3_assets/__init__.py +70 -1
  43. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  44. aws_cdk/aws_sagemaker/__init__.py +6 -4
  45. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  46. aws_cdk/aws_securitylake/__init__.py +2 -2
  47. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  48. aws_cdk/aws_sns/__init__.py +1 -1
  49. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  51. aws_cdk/aws_synthetics/__init__.py +9 -0
  52. aws_cdk/aws_systemsmanagersap/__init__.py +150 -0
  53. aws_cdk/aws_wafv2/__init__.py +464 -1138
  54. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  55. aws_cdk/cx_api/__init__.py +15 -0
  56. aws_cdk/pipelines/__init__.py +20 -2
  57. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/METADATA +4 -4
  58. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/RECORD +62 -62
  59. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/WHEEL +1 -1
  60. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/LICENSE +0 -0
  61. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/NOTICE +0 -0
  62. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/top_level.txt +0 -0
@@ -1908,502 +1908,7 @@ class CfnRuleGroup(
1908
1908
 
1909
1909
  Example::
1910
1910
 
1911
- # The code below shows an example of how to instantiate this type.
1912
- # The values are placeholders you should change.
1913
- from aws_cdk import aws_wafv2 as wafv2
1914
-
1915
- # all: Any
1916
- # allow: Any
1917
- # all_query_arguments: Any
1918
- # block: Any
1919
- # captcha: Any
1920
- # challenge: Any
1921
- # count: Any
1922
- # forwarded_ip: Any
1923
- # http_method: Any
1924
- # ip: Any
1925
- # method: Any
1926
- # query_string: Any
1927
- # single_header: Any
1928
- # single_query_argument: Any
1929
- # statement_property_: wafv2.CfnRuleGroup.StatementProperty
1930
- # uri_path: Any
1931
-
1932
- cfn_rule_group = wafv2.CfnRuleGroup(self, "MyCfnRuleGroup",
1933
- capacity=123,
1934
- scope="scope",
1935
- visibility_config=wafv2.CfnRuleGroup.VisibilityConfigProperty(
1936
- cloud_watch_metrics_enabled=False,
1937
- metric_name="metricName",
1938
- sampled_requests_enabled=False
1939
- ),
1940
-
1941
- # the properties below are optional
1942
- available_labels=[wafv2.CfnRuleGroup.LabelSummaryProperty(
1943
- name="name"
1944
- )],
1945
- consumed_labels=[wafv2.CfnRuleGroup.LabelSummaryProperty(
1946
- name="name"
1947
- )],
1948
- custom_response_bodies={
1949
- "custom_response_bodies_key": wafv2.CfnRuleGroup.CustomResponseBodyProperty(
1950
- content="content",
1951
- content_type="contentType"
1952
- )
1953
- },
1954
- description="description",
1955
- name="name",
1956
- rules=[wafv2.CfnRuleGroup.RuleProperty(
1957
- name="name",
1958
- priority=123,
1959
- statement=wafv2.CfnRuleGroup.StatementProperty(
1960
- and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
1961
- statements=[statement_property_]
1962
- ),
1963
- byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
1964
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
1965
- all_query_arguments=all_query_arguments,
1966
- body=wafv2.CfnRuleGroup.BodyProperty(
1967
- oversize_handling="oversizeHandling"
1968
- ),
1969
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
1970
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
1971
- all=all,
1972
- excluded_cookies=["excludedCookies"],
1973
- included_cookies=["includedCookies"]
1974
- ),
1975
- match_scope="matchScope",
1976
- oversize_handling="oversizeHandling"
1977
- ),
1978
- headers=wafv2.CfnRuleGroup.HeadersProperty(
1979
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
1980
- all=all,
1981
- excluded_headers=["excludedHeaders"],
1982
- included_headers=["includedHeaders"]
1983
- ),
1984
- match_scope="matchScope",
1985
- oversize_handling="oversizeHandling"
1986
- ),
1987
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
1988
- fallback_behavior="fallbackBehavior"
1989
- ),
1990
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
1991
- fallback_behavior="fallbackBehavior"
1992
- ),
1993
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
1994
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
1995
- all=all,
1996
- included_paths=["includedPaths"]
1997
- ),
1998
- match_scope="matchScope",
1999
-
2000
- # the properties below are optional
2001
- invalid_fallback_behavior="invalidFallbackBehavior",
2002
- oversize_handling="oversizeHandling"
2003
- ),
2004
- method=method,
2005
- query_string=query_string,
2006
- single_header=single_header,
2007
- single_query_argument=single_query_argument,
2008
- uri_path=uri_path
2009
- ),
2010
- positional_constraint="positionalConstraint",
2011
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2012
- priority=123,
2013
- type="type"
2014
- )],
2015
-
2016
- # the properties below are optional
2017
- search_string="searchString",
2018
- search_string_base64="searchStringBase64"
2019
- ),
2020
- geo_match_statement=wafv2.CfnRuleGroup.GeoMatchStatementProperty(
2021
- country_codes=["countryCodes"],
2022
- forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
2023
- fallback_behavior="fallbackBehavior",
2024
- header_name="headerName"
2025
- )
2026
- ),
2027
- ip_set_reference_statement={
2028
- "arn": "arn",
2029
-
2030
- # the properties below are optional
2031
- "ip_set_forwarded_ip_config": {
2032
- "fallback_behavior": "fallbackBehavior",
2033
- "header_name": "headerName",
2034
- "position": "position"
2035
- }
2036
- },
2037
- label_match_statement=wafv2.CfnRuleGroup.LabelMatchStatementProperty(
2038
- key="key",
2039
- scope="scope"
2040
- ),
2041
- not_statement=wafv2.CfnRuleGroup.NotStatementProperty(
2042
- statement=statement_property_
2043
- ),
2044
- or_statement=wafv2.CfnRuleGroup.OrStatementProperty(
2045
- statements=[statement_property_]
2046
- ),
2047
- rate_based_statement=wafv2.CfnRuleGroup.RateBasedStatementProperty(
2048
- aggregate_key_type="aggregateKeyType",
2049
- limit=123,
2050
-
2051
- # the properties below are optional
2052
- custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
2053
- cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
2054
- name="name",
2055
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2056
- priority=123,
2057
- type="type"
2058
- )]
2059
- ),
2060
- forwarded_ip=forwarded_ip,
2061
- header=wafv2.CfnRuleGroup.RateLimitHeaderProperty(
2062
- name="name",
2063
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2064
- priority=123,
2065
- type="type"
2066
- )]
2067
- ),
2068
- http_method=http_method,
2069
- ip=ip,
2070
- ja3_fingerprint=wafv2.CfnRuleGroup.RateLimitJA3FingerprintProperty(
2071
- fallback_behavior="fallbackBehavior"
2072
- ),
2073
- ja4_fingerprint=wafv2.CfnRuleGroup.RateLimitJA4FingerprintProperty(
2074
- fallback_behavior="fallbackBehavior"
2075
- ),
2076
- label_namespace=wafv2.CfnRuleGroup.RateLimitLabelNamespaceProperty(
2077
- namespace="namespace"
2078
- ),
2079
- query_argument=wafv2.CfnRuleGroup.RateLimitQueryArgumentProperty(
2080
- name="name",
2081
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2082
- priority=123,
2083
- type="type"
2084
- )]
2085
- ),
2086
- query_string=wafv2.CfnRuleGroup.RateLimitQueryStringProperty(
2087
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2088
- priority=123,
2089
- type="type"
2090
- )]
2091
- ),
2092
- uri_path=wafv2.CfnRuleGroup.RateLimitUriPathProperty(
2093
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2094
- priority=123,
2095
- type="type"
2096
- )]
2097
- )
2098
- )],
2099
- evaluation_window_sec=123,
2100
- forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
2101
- fallback_behavior="fallbackBehavior",
2102
- header_name="headerName"
2103
- ),
2104
- scope_down_statement=statement_property_
2105
- ),
2106
- regex_match_statement=wafv2.CfnRuleGroup.RegexMatchStatementProperty(
2107
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
2108
- all_query_arguments=all_query_arguments,
2109
- body=wafv2.CfnRuleGroup.BodyProperty(
2110
- oversize_handling="oversizeHandling"
2111
- ),
2112
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
2113
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
2114
- all=all,
2115
- excluded_cookies=["excludedCookies"],
2116
- included_cookies=["includedCookies"]
2117
- ),
2118
- match_scope="matchScope",
2119
- oversize_handling="oversizeHandling"
2120
- ),
2121
- headers=wafv2.CfnRuleGroup.HeadersProperty(
2122
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
2123
- all=all,
2124
- excluded_headers=["excludedHeaders"],
2125
- included_headers=["includedHeaders"]
2126
- ),
2127
- match_scope="matchScope",
2128
- oversize_handling="oversizeHandling"
2129
- ),
2130
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
2131
- fallback_behavior="fallbackBehavior"
2132
- ),
2133
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
2134
- fallback_behavior="fallbackBehavior"
2135
- ),
2136
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
2137
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
2138
- all=all,
2139
- included_paths=["includedPaths"]
2140
- ),
2141
- match_scope="matchScope",
2142
-
2143
- # the properties below are optional
2144
- invalid_fallback_behavior="invalidFallbackBehavior",
2145
- oversize_handling="oversizeHandling"
2146
- ),
2147
- method=method,
2148
- query_string=query_string,
2149
- single_header=single_header,
2150
- single_query_argument=single_query_argument,
2151
- uri_path=uri_path
2152
- ),
2153
- regex_string="regexString",
2154
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2155
- priority=123,
2156
- type="type"
2157
- )]
2158
- ),
2159
- regex_pattern_set_reference_statement=wafv2.CfnRuleGroup.RegexPatternSetReferenceStatementProperty(
2160
- arn="arn",
2161
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
2162
- all_query_arguments=all_query_arguments,
2163
- body=wafv2.CfnRuleGroup.BodyProperty(
2164
- oversize_handling="oversizeHandling"
2165
- ),
2166
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
2167
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
2168
- all=all,
2169
- excluded_cookies=["excludedCookies"],
2170
- included_cookies=["includedCookies"]
2171
- ),
2172
- match_scope="matchScope",
2173
- oversize_handling="oversizeHandling"
2174
- ),
2175
- headers=wafv2.CfnRuleGroup.HeadersProperty(
2176
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
2177
- all=all,
2178
- excluded_headers=["excludedHeaders"],
2179
- included_headers=["includedHeaders"]
2180
- ),
2181
- match_scope="matchScope",
2182
- oversize_handling="oversizeHandling"
2183
- ),
2184
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
2185
- fallback_behavior="fallbackBehavior"
2186
- ),
2187
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
2188
- fallback_behavior="fallbackBehavior"
2189
- ),
2190
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
2191
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
2192
- all=all,
2193
- included_paths=["includedPaths"]
2194
- ),
2195
- match_scope="matchScope",
2196
1911
 
2197
- # the properties below are optional
2198
- invalid_fallback_behavior="invalidFallbackBehavior",
2199
- oversize_handling="oversizeHandling"
2200
- ),
2201
- method=method,
2202
- query_string=query_string,
2203
- single_header=single_header,
2204
- single_query_argument=single_query_argument,
2205
- uri_path=uri_path
2206
- ),
2207
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2208
- priority=123,
2209
- type="type"
2210
- )]
2211
- ),
2212
- size_constraint_statement=wafv2.CfnRuleGroup.SizeConstraintStatementProperty(
2213
- comparison_operator="comparisonOperator",
2214
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
2215
- all_query_arguments=all_query_arguments,
2216
- body=wafv2.CfnRuleGroup.BodyProperty(
2217
- oversize_handling="oversizeHandling"
2218
- ),
2219
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
2220
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
2221
- all=all,
2222
- excluded_cookies=["excludedCookies"],
2223
- included_cookies=["includedCookies"]
2224
- ),
2225
- match_scope="matchScope",
2226
- oversize_handling="oversizeHandling"
2227
- ),
2228
- headers=wafv2.CfnRuleGroup.HeadersProperty(
2229
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
2230
- all=all,
2231
- excluded_headers=["excludedHeaders"],
2232
- included_headers=["includedHeaders"]
2233
- ),
2234
- match_scope="matchScope",
2235
- oversize_handling="oversizeHandling"
2236
- ),
2237
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
2238
- fallback_behavior="fallbackBehavior"
2239
- ),
2240
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
2241
- fallback_behavior="fallbackBehavior"
2242
- ),
2243
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
2244
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
2245
- all=all,
2246
- included_paths=["includedPaths"]
2247
- ),
2248
- match_scope="matchScope",
2249
-
2250
- # the properties below are optional
2251
- invalid_fallback_behavior="invalidFallbackBehavior",
2252
- oversize_handling="oversizeHandling"
2253
- ),
2254
- method=method,
2255
- query_string=query_string,
2256
- single_header=single_header,
2257
- single_query_argument=single_query_argument,
2258
- uri_path=uri_path
2259
- ),
2260
- size=123,
2261
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2262
- priority=123,
2263
- type="type"
2264
- )]
2265
- ),
2266
- sqli_match_statement=wafv2.CfnRuleGroup.SqliMatchStatementProperty(
2267
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
2268
- all_query_arguments=all_query_arguments,
2269
- body=wafv2.CfnRuleGroup.BodyProperty(
2270
- oversize_handling="oversizeHandling"
2271
- ),
2272
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
2273
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
2274
- all=all,
2275
- excluded_cookies=["excludedCookies"],
2276
- included_cookies=["includedCookies"]
2277
- ),
2278
- match_scope="matchScope",
2279
- oversize_handling="oversizeHandling"
2280
- ),
2281
- headers=wafv2.CfnRuleGroup.HeadersProperty(
2282
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
2283
- all=all,
2284
- excluded_headers=["excludedHeaders"],
2285
- included_headers=["includedHeaders"]
2286
- ),
2287
- match_scope="matchScope",
2288
- oversize_handling="oversizeHandling"
2289
- ),
2290
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
2291
- fallback_behavior="fallbackBehavior"
2292
- ),
2293
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
2294
- fallback_behavior="fallbackBehavior"
2295
- ),
2296
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
2297
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
2298
- all=all,
2299
- included_paths=["includedPaths"]
2300
- ),
2301
- match_scope="matchScope",
2302
-
2303
- # the properties below are optional
2304
- invalid_fallback_behavior="invalidFallbackBehavior",
2305
- oversize_handling="oversizeHandling"
2306
- ),
2307
- method=method,
2308
- query_string=query_string,
2309
- single_header=single_header,
2310
- single_query_argument=single_query_argument,
2311
- uri_path=uri_path
2312
- ),
2313
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2314
- priority=123,
2315
- type="type"
2316
- )],
2317
-
2318
- # the properties below are optional
2319
- sensitivity_level="sensitivityLevel"
2320
- ),
2321
- xss_match_statement=wafv2.CfnRuleGroup.XssMatchStatementProperty(
2322
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
2323
- all_query_arguments=all_query_arguments,
2324
- body=wafv2.CfnRuleGroup.BodyProperty(
2325
- oversize_handling="oversizeHandling"
2326
- ),
2327
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
2328
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
2329
- all=all,
2330
- excluded_cookies=["excludedCookies"],
2331
- included_cookies=["includedCookies"]
2332
- ),
2333
- match_scope="matchScope",
2334
- oversize_handling="oversizeHandling"
2335
- ),
2336
- headers=wafv2.CfnRuleGroup.HeadersProperty(
2337
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
2338
- all=all,
2339
- excluded_headers=["excludedHeaders"],
2340
- included_headers=["includedHeaders"]
2341
- ),
2342
- match_scope="matchScope",
2343
- oversize_handling="oversizeHandling"
2344
- ),
2345
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
2346
- fallback_behavior="fallbackBehavior"
2347
- ),
2348
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
2349
- fallback_behavior="fallbackBehavior"
2350
- ),
2351
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
2352
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
2353
- all=all,
2354
- included_paths=["includedPaths"]
2355
- ),
2356
- match_scope="matchScope",
2357
-
2358
- # the properties below are optional
2359
- invalid_fallback_behavior="invalidFallbackBehavior",
2360
- oversize_handling="oversizeHandling"
2361
- ),
2362
- method=method,
2363
- query_string=query_string,
2364
- single_header=single_header,
2365
- single_query_argument=single_query_argument,
2366
- uri_path=uri_path
2367
- ),
2368
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
2369
- priority=123,
2370
- type="type"
2371
- )]
2372
- )
2373
- ),
2374
- visibility_config=wafv2.CfnRuleGroup.VisibilityConfigProperty(
2375
- cloud_watch_metrics_enabled=False,
2376
- metric_name="metricName",
2377
- sampled_requests_enabled=False
2378
- ),
2379
-
2380
- # the properties below are optional
2381
- action=wafv2.CfnRuleGroup.RuleActionProperty(
2382
- allow=allow,
2383
- block=block,
2384
- captcha=captcha,
2385
- challenge=challenge,
2386
- count=count
2387
- ),
2388
- captcha_config=wafv2.CfnRuleGroup.CaptchaConfigProperty(
2389
- immunity_time_property=wafv2.CfnRuleGroup.ImmunityTimePropertyProperty(
2390
- immunity_time=123
2391
- )
2392
- ),
2393
- challenge_config=wafv2.CfnRuleGroup.ChallengeConfigProperty(
2394
- immunity_time_property=wafv2.CfnRuleGroup.ImmunityTimePropertyProperty(
2395
- immunity_time=123
2396
- )
2397
- ),
2398
- rule_labels=[wafv2.CfnRuleGroup.LabelProperty(
2399
- name="name"
2400
- )]
2401
- )],
2402
- tags=[CfnTag(
2403
- key="key",
2404
- value="value"
2405
- )]
2406
- )
2407
1912
  '''
2408
1913
 
2409
1914
  def __init__(
@@ -2833,6 +2338,9 @@ class CfnRuleGroup(
2833
2338
  query_string=query_string,
2834
2339
  single_header=single_header,
2835
2340
  single_query_argument=single_query_argument,
2341
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2342
+ fallback_behavior="fallbackBehavior"
2343
+ ),
2836
2344
  uri_path=uri_path
2837
2345
  ),
2838
2346
  positional_constraint="positionalConstraint",
@@ -2976,6 +2484,9 @@ class CfnRuleGroup(
2976
2484
  query_string=query_string,
2977
2485
  single_header=single_header,
2978
2486
  single_query_argument=single_query_argument,
2487
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2488
+ fallback_behavior="fallbackBehavior"
2489
+ ),
2979
2490
  uri_path=uri_path
2980
2491
  ),
2981
2492
  regex_string="regexString",
@@ -3030,6 +2541,9 @@ class CfnRuleGroup(
3030
2541
  query_string=query_string,
3031
2542
  single_header=single_header,
3032
2543
  single_query_argument=single_query_argument,
2544
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2545
+ fallback_behavior="fallbackBehavior"
2546
+ ),
3033
2547
  uri_path=uri_path
3034
2548
  ),
3035
2549
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -3083,6 +2597,9 @@ class CfnRuleGroup(
3083
2597
  query_string=query_string,
3084
2598
  single_header=single_header,
3085
2599
  single_query_argument=single_query_argument,
2600
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2601
+ fallback_behavior="fallbackBehavior"
2602
+ ),
3086
2603
  uri_path=uri_path
3087
2604
  ),
3088
2605
  size=123,
@@ -3136,6 +2653,9 @@ class CfnRuleGroup(
3136
2653
  query_string=query_string,
3137
2654
  single_header=single_header,
3138
2655
  single_query_argument=single_query_argument,
2656
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2657
+ fallback_behavior="fallbackBehavior"
2658
+ ),
3139
2659
  uri_path=uri_path
3140
2660
  ),
3141
2661
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -3191,6 +2711,9 @@ class CfnRuleGroup(
3191
2711
  query_string=query_string,
3192
2712
  single_header=single_header,
3193
2713
  single_query_argument=single_query_argument,
2714
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2715
+ fallback_behavior="fallbackBehavior"
2716
+ ),
3194
2717
  uri_path=uri_path
3195
2718
  ),
3196
2719
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -3464,6 +2987,9 @@ class CfnRuleGroup(
3464
2987
  query_string=query_string,
3465
2988
  single_header=single_header,
3466
2989
  single_query_argument=single_query_argument,
2990
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
2991
+ fallback_behavior="fallbackBehavior"
2992
+ ),
3467
2993
  uri_path=uri_path
3468
2994
  ),
3469
2995
  positional_constraint="positionalConstraint",
@@ -4457,6 +3983,7 @@ class CfnRuleGroup(
4457
3983
  "query_string": "queryString",
4458
3984
  "single_header": "singleHeader",
4459
3985
  "single_query_argument": "singleQueryArgument",
3986
+ "uri_fragment": "uriFragment",
4460
3987
  "uri_path": "uriPath",
4461
3988
  },
4462
3989
  )
@@ -4475,6 +4002,7 @@ class CfnRuleGroup(
4475
4002
  query_string: typing.Any = None,
4476
4003
  single_header: typing.Any = None,
4477
4004
  single_query_argument: typing.Any = None,
4005
+ uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.UriFragmentProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4478
4006
  uri_path: typing.Any = None,
4479
4007
  ) -> None:
4480
4008
  '''Specifies a web request component to be used in a rule match statement or in a logging configuration.
@@ -4505,6 +4033,7 @@ class CfnRuleGroup(
4505
4033
  :param query_string: Inspect the query string. This is the part of a URL that appears after a ``?`` character, if any.
4506
4034
  :param single_header: Inspect a single header. Provide the name of the header to inspect, for example, ``User-Agent`` or ``Referer`` . This setting isn't case sensitive. Example JSON: ``"SingleHeader": { "Name": "haystack" }`` Alternately, you can filter and inspect all headers with the ``Headers`` ``FieldToMatch`` setting.
4507
4035
  :param single_query_argument: Inspect a single query argument. Provide the name of the query argument to inspect, such as *UserName* or *SalesRegion* . The name can be up to 30 characters long and isn't case sensitive. Example JSON: ``"SingleQueryArgument": { "Name": "myArgument" }``
4036
+ :param uri_fragment: The path component of the URI Fragment. This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
4508
4037
  :param uri_path: Inspect the request URI path. This is the part of the web request that identifies a resource, for example, ``/images/daily-ad.jpg`` .
4509
4038
 
4510
4039
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html
@@ -4568,6 +4097,9 @@ class CfnRuleGroup(
4568
4097
  query_string=query_string,
4569
4098
  single_header=single_header,
4570
4099
  single_query_argument=single_query_argument,
4100
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
4101
+ fallback_behavior="fallbackBehavior"
4102
+ ),
4571
4103
  uri_path=uri_path
4572
4104
  )
4573
4105
  '''
@@ -4584,6 +4116,7 @@ class CfnRuleGroup(
4584
4116
  check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
4585
4117
  check_type(argname="argument single_header", value=single_header, expected_type=type_hints["single_header"])
4586
4118
  check_type(argname="argument single_query_argument", value=single_query_argument, expected_type=type_hints["single_query_argument"])
4119
+ check_type(argname="argument uri_fragment", value=uri_fragment, expected_type=type_hints["uri_fragment"])
4587
4120
  check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
4588
4121
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4589
4122
  if all_query_arguments is not None:
@@ -4608,6 +4141,8 @@ class CfnRuleGroup(
4608
4141
  self._values["single_header"] = single_header
4609
4142
  if single_query_argument is not None:
4610
4143
  self._values["single_query_argument"] = single_query_argument
4144
+ if uri_fragment is not None:
4145
+ self._values["uri_fragment"] = uri_fragment
4611
4146
  if uri_path is not None:
4612
4147
  self._values["uri_path"] = uri_path
4613
4148
 
@@ -4780,6 +4315,19 @@ class CfnRuleGroup(
4780
4315
  result = self._values.get("single_query_argument")
4781
4316
  return typing.cast(typing.Any, result)
4782
4317
 
4318
+ @builtins.property
4319
+ def uri_fragment(
4320
+ self,
4321
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.UriFragmentProperty"]]:
4322
+ '''The path component of the URI Fragment.
4323
+
4324
+ This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
4325
+
4326
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-urifragment
4327
+ '''
4328
+ result = self._values.get("uri_fragment")
4329
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.UriFragmentProperty"]], result)
4330
+
4783
4331
  @builtins.property
4784
4332
  def uri_path(self) -> typing.Any:
4785
4333
  '''Inspect the request URI path.
@@ -6122,6 +5670,9 @@ class CfnRuleGroup(
6122
5670
  query_string=query_string,
6123
5671
  single_header=single_header,
6124
5672
  single_query_argument=single_query_argument,
5673
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
5674
+ fallback_behavior="fallbackBehavior"
5675
+ ),
6125
5676
  uri_path=uri_path
6126
5677
  ),
6127
5678
  positional_constraint="positionalConstraint",
@@ -6263,6 +5814,9 @@ class CfnRuleGroup(
6263
5814
  query_string=query_string,
6264
5815
  single_header=single_header,
6265
5816
  single_query_argument=single_query_argument,
5817
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
5818
+ fallback_behavior="fallbackBehavior"
5819
+ ),
6266
5820
  uri_path=uri_path
6267
5821
  ),
6268
5822
  regex_string="regexString",
@@ -6317,6 +5871,9 @@ class CfnRuleGroup(
6317
5871
  query_string=query_string,
6318
5872
  single_header=single_header,
6319
5873
  single_query_argument=single_query_argument,
5874
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
5875
+ fallback_behavior="fallbackBehavior"
5876
+ ),
6320
5877
  uri_path=uri_path
6321
5878
  ),
6322
5879
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -6370,6 +5927,9 @@ class CfnRuleGroup(
6370
5927
  query_string=query_string,
6371
5928
  single_header=single_header,
6372
5929
  single_query_argument=single_query_argument,
5930
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
5931
+ fallback_behavior="fallbackBehavior"
5932
+ ),
6373
5933
  uri_path=uri_path
6374
5934
  ),
6375
5935
  size=123,
@@ -6423,6 +5983,9 @@ class CfnRuleGroup(
6423
5983
  query_string=query_string,
6424
5984
  single_header=single_header,
6425
5985
  single_query_argument=single_query_argument,
5986
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
5987
+ fallback_behavior="fallbackBehavior"
5988
+ ),
6426
5989
  uri_path=uri_path
6427
5990
  ),
6428
5991
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -6478,6 +6041,9 @@ class CfnRuleGroup(
6478
6041
  query_string=query_string,
6479
6042
  single_header=single_header,
6480
6043
  single_query_argument=single_query_argument,
6044
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6045
+ fallback_behavior="fallbackBehavior"
6046
+ ),
6481
6047
  uri_path=uri_path
6482
6048
  ),
6483
6049
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -6609,6 +6175,9 @@ class CfnRuleGroup(
6609
6175
  query_string=query_string,
6610
6176
  single_header=single_header,
6611
6177
  single_query_argument=single_query_argument,
6178
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6179
+ fallback_behavior="fallbackBehavior"
6180
+ ),
6612
6181
  uri_path=uri_path
6613
6182
  ),
6614
6183
  positional_constraint="positionalConstraint",
@@ -6750,6 +6319,9 @@ class CfnRuleGroup(
6750
6319
  query_string=query_string,
6751
6320
  single_header=single_header,
6752
6321
  single_query_argument=single_query_argument,
6322
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6323
+ fallback_behavior="fallbackBehavior"
6324
+ ),
6753
6325
  uri_path=uri_path
6754
6326
  ),
6755
6327
  regex_string="regexString",
@@ -6804,6 +6376,9 @@ class CfnRuleGroup(
6804
6376
  query_string=query_string,
6805
6377
  single_header=single_header,
6806
6378
  single_query_argument=single_query_argument,
6379
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6380
+ fallback_behavior="fallbackBehavior"
6381
+ ),
6807
6382
  uri_path=uri_path
6808
6383
  ),
6809
6384
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -6857,6 +6432,9 @@ class CfnRuleGroup(
6857
6432
  query_string=query_string,
6858
6433
  single_header=single_header,
6859
6434
  single_query_argument=single_query_argument,
6435
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6436
+ fallback_behavior="fallbackBehavior"
6437
+ ),
6860
6438
  uri_path=uri_path
6861
6439
  ),
6862
6440
  size=123,
@@ -6910,6 +6488,9 @@ class CfnRuleGroup(
6910
6488
  query_string=query_string,
6911
6489
  single_header=single_header,
6912
6490
  single_query_argument=single_query_argument,
6491
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6492
+ fallback_behavior="fallbackBehavior"
6493
+ ),
6913
6494
  uri_path=uri_path
6914
6495
  ),
6915
6496
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -6965,6 +6546,9 @@ class CfnRuleGroup(
6965
6546
  query_string=query_string,
6966
6547
  single_header=single_header,
6967
6548
  single_query_argument=single_query_argument,
6549
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
6550
+ fallback_behavior="fallbackBehavior"
6551
+ ),
6968
6552
  uri_path=uri_path
6969
6553
  ),
6970
6554
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -7513,6 +7097,9 @@ class CfnRuleGroup(
7513
7097
  query_string=query_string,
7514
7098
  single_header=single_header,
7515
7099
  single_query_argument=single_query_argument,
7100
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7101
+ fallback_behavior="fallbackBehavior"
7102
+ ),
7516
7103
  uri_path=uri_path
7517
7104
  ),
7518
7105
  positional_constraint="positionalConstraint",
@@ -7598,6 +7185,9 @@ class CfnRuleGroup(
7598
7185
  query_string=query_string,
7599
7186
  single_header=single_header,
7600
7187
  single_query_argument=single_query_argument,
7188
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7189
+ fallback_behavior="fallbackBehavior"
7190
+ ),
7601
7191
  uri_path=uri_path
7602
7192
  ),
7603
7193
  regex_string="regexString",
@@ -7652,6 +7242,9 @@ class CfnRuleGroup(
7652
7242
  query_string=query_string,
7653
7243
  single_header=single_header,
7654
7244
  single_query_argument=single_query_argument,
7245
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7246
+ fallback_behavior="fallbackBehavior"
7247
+ ),
7655
7248
  uri_path=uri_path
7656
7249
  ),
7657
7250
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -7705,6 +7298,9 @@ class CfnRuleGroup(
7705
7298
  query_string=query_string,
7706
7299
  single_header=single_header,
7707
7300
  single_query_argument=single_query_argument,
7301
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7302
+ fallback_behavior="fallbackBehavior"
7303
+ ),
7708
7304
  uri_path=uri_path
7709
7305
  ),
7710
7306
  size=123,
@@ -7758,6 +7354,9 @@ class CfnRuleGroup(
7758
7354
  query_string=query_string,
7759
7355
  single_header=single_header,
7760
7356
  single_query_argument=single_query_argument,
7357
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7358
+ fallback_behavior="fallbackBehavior"
7359
+ ),
7761
7360
  uri_path=uri_path
7762
7361
  ),
7763
7362
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -7813,6 +7412,9 @@ class CfnRuleGroup(
7813
7412
  query_string=query_string,
7814
7413
  single_header=single_header,
7815
7414
  single_query_argument=single_query_argument,
7415
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
7416
+ fallback_behavior="fallbackBehavior"
7417
+ ),
7816
7418
  uri_path=uri_path
7817
7419
  ),
7818
7420
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -8594,7 +8196,10 @@ class CfnRuleGroup(
8594
8196
  query_string=query_string,
8595
8197
  single_header=single_header,
8596
8198
  single_query_argument=single_query_argument,
8597
- uri_path=uri_path
8199
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8200
+ fallback_behavior="fallbackBehavior"
8201
+ ),
8202
+ uri_path=uri_path
8598
8203
  ),
8599
8204
  regex_string="regexString",
8600
8205
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -8751,6 +8356,9 @@ class CfnRuleGroup(
8751
8356
  query_string=query_string,
8752
8357
  single_header=single_header,
8753
8358
  single_query_argument=single_query_argument,
8359
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8360
+ fallback_behavior="fallbackBehavior"
8361
+ ),
8754
8362
  uri_path=uri_path
8755
8363
  ),
8756
8364
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -9077,6 +8685,9 @@ class CfnRuleGroup(
9077
8685
  query_string=query_string,
9078
8686
  single_header=single_header,
9079
8687
  single_query_argument=single_query_argument,
8688
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8689
+ fallback_behavior="fallbackBehavior"
8690
+ ),
9080
8691
  uri_path=uri_path
9081
8692
  ),
9082
8693
  positional_constraint="positionalConstraint",
@@ -9220,6 +8831,9 @@ class CfnRuleGroup(
9220
8831
  query_string=query_string,
9221
8832
  single_header=single_header,
9222
8833
  single_query_argument=single_query_argument,
8834
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8835
+ fallback_behavior="fallbackBehavior"
8836
+ ),
9223
8837
  uri_path=uri_path
9224
8838
  ),
9225
8839
  regex_string="regexString",
@@ -9274,6 +8888,9 @@ class CfnRuleGroup(
9274
8888
  query_string=query_string,
9275
8889
  single_header=single_header,
9276
8890
  single_query_argument=single_query_argument,
8891
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8892
+ fallback_behavior="fallbackBehavior"
8893
+ ),
9277
8894
  uri_path=uri_path
9278
8895
  ),
9279
8896
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -9327,6 +8944,9 @@ class CfnRuleGroup(
9327
8944
  query_string=query_string,
9328
8945
  single_header=single_header,
9329
8946
  single_query_argument=single_query_argument,
8947
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
8948
+ fallback_behavior="fallbackBehavior"
8949
+ ),
9330
8950
  uri_path=uri_path
9331
8951
  ),
9332
8952
  size=123,
@@ -9380,6 +9000,9 @@ class CfnRuleGroup(
9380
9000
  query_string=query_string,
9381
9001
  single_header=single_header,
9382
9002
  single_query_argument=single_query_argument,
9003
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9004
+ fallback_behavior="fallbackBehavior"
9005
+ ),
9383
9006
  uri_path=uri_path
9384
9007
  ),
9385
9008
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -9435,6 +9058,9 @@ class CfnRuleGroup(
9435
9058
  query_string=query_string,
9436
9059
  single_header=single_header,
9437
9060
  single_query_argument=single_query_argument,
9061
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9062
+ fallback_behavior="fallbackBehavior"
9063
+ ),
9438
9064
  uri_path=uri_path
9439
9065
  ),
9440
9066
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -9837,6 +9463,9 @@ class CfnRuleGroup(
9837
9463
  query_string=query_string,
9838
9464
  single_header=single_header,
9839
9465
  single_query_argument=single_query_argument,
9466
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9467
+ fallback_behavior="fallbackBehavior"
9468
+ ),
9840
9469
  uri_path=uri_path
9841
9470
  ),
9842
9471
  size=123,
@@ -10003,6 +9632,9 @@ class CfnRuleGroup(
10003
9632
  query_string=query_string,
10004
9633
  single_header=single_header,
10005
9634
  single_query_argument=single_query_argument,
9635
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9636
+ fallback_behavior="fallbackBehavior"
9637
+ ),
10006
9638
  uri_path=uri_path
10007
9639
  ),
10008
9640
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -10201,6 +9833,9 @@ class CfnRuleGroup(
10201
9833
  query_string=query_string,
10202
9834
  single_header=single_header,
10203
9835
  single_query_argument=single_query_argument,
9836
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9837
+ fallback_behavior="fallbackBehavior"
9838
+ ),
10204
9839
  uri_path=uri_path
10205
9840
  ),
10206
9841
  positional_constraint="positionalConstraint",
@@ -10344,6 +9979,9 @@ class CfnRuleGroup(
10344
9979
  query_string=query_string,
10345
9980
  single_header=single_header,
10346
9981
  single_query_argument=single_query_argument,
9982
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
9983
+ fallback_behavior="fallbackBehavior"
9984
+ ),
10347
9985
  uri_path=uri_path
10348
9986
  ),
10349
9987
  regex_string="regexString",
@@ -10398,6 +10036,9 @@ class CfnRuleGroup(
10398
10036
  query_string=query_string,
10399
10037
  single_header=single_header,
10400
10038
  single_query_argument=single_query_argument,
10039
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
10040
+ fallback_behavior="fallbackBehavior"
10041
+ ),
10401
10042
  uri_path=uri_path
10402
10043
  ),
10403
10044
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -10451,6 +10092,9 @@ class CfnRuleGroup(
10451
10092
  query_string=query_string,
10452
10093
  single_header=single_header,
10453
10094
  single_query_argument=single_query_argument,
10095
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
10096
+ fallback_behavior="fallbackBehavior"
10097
+ ),
10454
10098
  uri_path=uri_path
10455
10099
  ),
10456
10100
  size=123,
@@ -10504,6 +10148,9 @@ class CfnRuleGroup(
10504
10148
  query_string=query_string,
10505
10149
  single_header=single_header,
10506
10150
  single_query_argument=single_query_argument,
10151
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
10152
+ fallback_behavior="fallbackBehavior"
10153
+ ),
10507
10154
  uri_path=uri_path
10508
10155
  ),
10509
10156
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -10559,6 +10206,9 @@ class CfnRuleGroup(
10559
10206
  query_string=query_string,
10560
10207
  single_header=single_header,
10561
10208
  single_query_argument=single_query_argument,
10209
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
10210
+ fallback_behavior="fallbackBehavior"
10211
+ ),
10562
10212
  uri_path=uri_path
10563
10213
  ),
10564
10214
  text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
@@ -10915,6 +10565,62 @@ class CfnRuleGroup(
10915
10565
  k + "=" + repr(v) for k, v in self._values.items()
10916
10566
  )
10917
10567
 
10568
+ @jsii.data_type(
10569
+ jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.UriFragmentProperty",
10570
+ jsii_struct_bases=[],
10571
+ name_mapping={"fallback_behavior": "fallbackBehavior"},
10572
+ )
10573
+ class UriFragmentProperty:
10574
+ def __init__(
10575
+ self,
10576
+ *,
10577
+ fallback_behavior: typing.Optional[builtins.str] = None,
10578
+ ) -> None:
10579
+ '''The path component of the URI Fragment.
10580
+
10581
+ This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
10582
+
10583
+ :param fallback_behavior:
10584
+
10585
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-urifragment.html
10586
+ :exampleMetadata: fixture=_generated
10587
+
10588
+ Example::
10589
+
10590
+ # The code below shows an example of how to instantiate this type.
10591
+ # The values are placeholders you should change.
10592
+ from aws_cdk import aws_wafv2 as wafv2
10593
+
10594
+ uri_fragment_property = wafv2.CfnRuleGroup.UriFragmentProperty(
10595
+ fallback_behavior="fallbackBehavior"
10596
+ )
10597
+ '''
10598
+ if __debug__:
10599
+ type_hints = typing.get_type_hints(_typecheckingstub__fe1c476d259659923a1664b8e966720fc48cf48f725562b81ef2c02997f8998a)
10600
+ check_type(argname="argument fallback_behavior", value=fallback_behavior, expected_type=type_hints["fallback_behavior"])
10601
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
10602
+ if fallback_behavior is not None:
10603
+ self._values["fallback_behavior"] = fallback_behavior
10604
+
10605
+ @builtins.property
10606
+ def fallback_behavior(self) -> typing.Optional[builtins.str]:
10607
+ '''
10608
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-urifragment.html#cfn-wafv2-rulegroup-urifragment-fallbackbehavior
10609
+ '''
10610
+ result = self._values.get("fallback_behavior")
10611
+ return typing.cast(typing.Optional[builtins.str], result)
10612
+
10613
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10614
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10615
+
10616
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10617
+ return not (rhs == self)
10618
+
10619
+ def __repr__(self) -> str:
10620
+ return "UriFragmentProperty(%s)" % ", ".join(
10621
+ k + "=" + repr(v) for k, v in self._values.items()
10622
+ )
10623
+
10918
10624
  @jsii.data_type(
10919
10625
  jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.VisibilityConfigProperty",
10920
10626
  jsii_struct_bases=[],
@@ -11061,652 +10767,160 @@ class CfnRuleGroup(
11061
10767
  # single_header: Any
11062
10768
  # single_query_argument: Any
11063
10769
  # uri_path: Any
11064
-
11065
- xss_match_statement_property = wafv2.CfnRuleGroup.XssMatchStatementProperty(
11066
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11067
- all_query_arguments=all_query_arguments,
11068
- body=wafv2.CfnRuleGroup.BodyProperty(
11069
- oversize_handling="oversizeHandling"
11070
- ),
11071
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11072
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11073
- all=all,
11074
- excluded_cookies=["excludedCookies"],
11075
- included_cookies=["includedCookies"]
11076
- ),
11077
- match_scope="matchScope",
11078
- oversize_handling="oversizeHandling"
11079
- ),
11080
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11081
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11082
- all=all,
11083
- excluded_headers=["excludedHeaders"],
11084
- included_headers=["includedHeaders"]
11085
- ),
11086
- match_scope="matchScope",
11087
- oversize_handling="oversizeHandling"
11088
- ),
11089
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11090
- fallback_behavior="fallbackBehavior"
11091
- ),
11092
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11093
- fallback_behavior="fallbackBehavior"
11094
- ),
11095
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11096
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11097
- all=all,
11098
- included_paths=["includedPaths"]
11099
- ),
11100
- match_scope="matchScope",
11101
-
11102
- # the properties below are optional
11103
- invalid_fallback_behavior="invalidFallbackBehavior",
11104
- oversize_handling="oversizeHandling"
11105
- ),
11106
- method=method,
11107
- query_string=query_string,
11108
- single_header=single_header,
11109
- single_query_argument=single_query_argument,
11110
- uri_path=uri_path
11111
- ),
11112
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11113
- priority=123,
11114
- type="type"
11115
- )]
11116
- )
11117
- '''
11118
- if __debug__:
11119
- type_hints = typing.get_type_hints(_typecheckingstub__e502ec1c8bc4096eb797b55f6c0a1f9c506e23db360770a855cc273d36ce4b4a)
11120
- check_type(argname="argument field_to_match", value=field_to_match, expected_type=type_hints["field_to_match"])
11121
- check_type(argname="argument text_transformations", value=text_transformations, expected_type=type_hints["text_transformations"])
11122
- self._values: typing.Dict[builtins.str, typing.Any] = {
11123
- "field_to_match": field_to_match,
11124
- "text_transformations": text_transformations,
11125
- }
11126
-
11127
- @builtins.property
11128
- def field_to_match(
11129
- self,
11130
- ) -> typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"]:
11131
- '''The part of the web request that you want AWS WAF to inspect.
11132
-
11133
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch
11134
- '''
11135
- result = self._values.get("field_to_match")
11136
- assert result is not None, "Required property 'field_to_match' is missing"
11137
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"], result)
11138
-
11139
- @builtins.property
11140
- def text_transformations(
11141
- self,
11142
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]]:
11143
- '''Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
11144
-
11145
- If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by ``FieldToMatch`` , starting from the lowest priority setting, before inspecting the content for a match.
11146
-
11147
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations
11148
- '''
11149
- result = self._values.get("text_transformations")
11150
- assert result is not None, "Required property 'text_transformations' is missing"
11151
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]], result)
11152
-
11153
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
11154
- return isinstance(rhs, self.__class__) and rhs._values == self._values
11155
-
11156
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
11157
- return not (rhs == self)
11158
-
11159
- def __repr__(self) -> str:
11160
- return "XssMatchStatementProperty(%s)" % ", ".join(
11161
- k + "=" + repr(v) for k, v in self._values.items()
11162
- )
11163
-
11164
-
11165
- @jsii.data_type(
11166
- jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroupProps",
11167
- jsii_struct_bases=[],
11168
- name_mapping={
11169
- "capacity": "capacity",
11170
- "scope": "scope",
11171
- "visibility_config": "visibilityConfig",
11172
- "available_labels": "availableLabels",
11173
- "consumed_labels": "consumedLabels",
11174
- "custom_response_bodies": "customResponseBodies",
11175
- "description": "description",
11176
- "name": "name",
11177
- "rules": "rules",
11178
- "tags": "tags",
11179
- },
11180
- )
11181
- class CfnRuleGroupProps:
11182
- def __init__(
11183
- self,
11184
- *,
11185
- capacity: jsii.Number,
11186
- scope: builtins.str,
11187
- visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
11188
- available_labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.LabelSummaryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11189
- consumed_labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.LabelSummaryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11190
- custom_response_bodies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.CustomResponseBodyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11191
- description: typing.Optional[builtins.str] = None,
11192
- name: typing.Optional[builtins.str] = None,
11193
- rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11194
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11195
- ) -> None:
11196
- '''Properties for defining a ``CfnRuleGroup``.
11197
-
11198
- :param capacity: The web ACL capacity units (WCUs) required for this rule group. When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.
11199
- :param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are ``CLOUDFRONT`` and ``REGIONAL`` . .. epigraph:: For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` .
11200
- :param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
11201
- :param available_labels: The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the ``RuleLabels`` for a ``Rule`` .
11202
- :param consumed_labels: The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a ``LabelMatchStatement`` specification, in the ``Statement`` definition of a rule.
11203
- :param custom_response_bodies: A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group. For information about customizing web requests and responses, see `Customizing web requests and responses in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html>`_ in the *AWS WAF Developer Guide* . For information about the limits on count and size for custom request and response settings, see `AWS WAF quotas <https://docs.aws.amazon.com/waf/latest/developerguide/limits.html>`_ in the *AWS WAF Developer Guide* .
11204
- :param description: A description of the rule group that helps with identification.
11205
- :param name: The name of the rule group. You cannot change the name of a rule group after you create it.
11206
- :param rules: The rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
11207
- :param tags: Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource. .. epigraph:: To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
11208
-
11209
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html
11210
- :exampleMetadata: fixture=_generated
11211
-
11212
- Example::
11213
-
11214
- # The code below shows an example of how to instantiate this type.
11215
- # The values are placeholders you should change.
11216
- from aws_cdk import aws_wafv2 as wafv2
11217
-
11218
- # all: Any
11219
- # allow: Any
11220
- # all_query_arguments: Any
11221
- # block: Any
11222
- # captcha: Any
11223
- # challenge: Any
11224
- # count: Any
11225
- # forwarded_ip: Any
11226
- # http_method: Any
11227
- # ip: Any
11228
- # method: Any
11229
- # query_string: Any
11230
- # single_header: Any
11231
- # single_query_argument: Any
11232
- # statement_property_: wafv2.CfnRuleGroup.StatementProperty
11233
- # uri_path: Any
11234
-
11235
- cfn_rule_group_props = wafv2.CfnRuleGroupProps(
11236
- capacity=123,
11237
- scope="scope",
11238
- visibility_config=wafv2.CfnRuleGroup.VisibilityConfigProperty(
11239
- cloud_watch_metrics_enabled=False,
11240
- metric_name="metricName",
11241
- sampled_requests_enabled=False
11242
- ),
11243
-
11244
- # the properties below are optional
11245
- available_labels=[wafv2.CfnRuleGroup.LabelSummaryProperty(
11246
- name="name"
11247
- )],
11248
- consumed_labels=[wafv2.CfnRuleGroup.LabelSummaryProperty(
11249
- name="name"
11250
- )],
11251
- custom_response_bodies={
11252
- "custom_response_bodies_key": wafv2.CfnRuleGroup.CustomResponseBodyProperty(
11253
- content="content",
11254
- content_type="contentType"
11255
- )
11256
- },
11257
- description="description",
11258
- name="name",
11259
- rules=[wafv2.CfnRuleGroup.RuleProperty(
11260
- name="name",
11261
- priority=123,
11262
- statement=wafv2.CfnRuleGroup.StatementProperty(
11263
- and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
11264
- statements=[statement_property_]
11265
- ),
11266
- byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
11267
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11268
- all_query_arguments=all_query_arguments,
11269
- body=wafv2.CfnRuleGroup.BodyProperty(
11270
- oversize_handling="oversizeHandling"
11271
- ),
11272
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11273
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11274
- all=all,
11275
- excluded_cookies=["excludedCookies"],
11276
- included_cookies=["includedCookies"]
11277
- ),
11278
- match_scope="matchScope",
11279
- oversize_handling="oversizeHandling"
11280
- ),
11281
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11282
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11283
- all=all,
11284
- excluded_headers=["excludedHeaders"],
11285
- included_headers=["includedHeaders"]
11286
- ),
11287
- match_scope="matchScope",
11288
- oversize_handling="oversizeHandling"
11289
- ),
11290
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11291
- fallback_behavior="fallbackBehavior"
11292
- ),
11293
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11294
- fallback_behavior="fallbackBehavior"
11295
- ),
11296
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11297
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11298
- all=all,
11299
- included_paths=["includedPaths"]
11300
- ),
11301
- match_scope="matchScope",
11302
-
11303
- # the properties below are optional
11304
- invalid_fallback_behavior="invalidFallbackBehavior",
11305
- oversize_handling="oversizeHandling"
11306
- ),
11307
- method=method,
11308
- query_string=query_string,
11309
- single_header=single_header,
11310
- single_query_argument=single_query_argument,
11311
- uri_path=uri_path
11312
- ),
11313
- positional_constraint="positionalConstraint",
11314
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11315
- priority=123,
11316
- type="type"
11317
- )],
11318
-
11319
- # the properties below are optional
11320
- search_string="searchString",
11321
- search_string_base64="searchStringBase64"
11322
- ),
11323
- geo_match_statement=wafv2.CfnRuleGroup.GeoMatchStatementProperty(
11324
- country_codes=["countryCodes"],
11325
- forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
11326
- fallback_behavior="fallbackBehavior",
11327
- header_name="headerName"
11328
- )
11329
- ),
11330
- ip_set_reference_statement={
11331
- "arn": "arn",
11332
-
11333
- # the properties below are optional
11334
- "ip_set_forwarded_ip_config": {
11335
- "fallback_behavior": "fallbackBehavior",
11336
- "header_name": "headerName",
11337
- "position": "position"
11338
- }
11339
- },
11340
- label_match_statement=wafv2.CfnRuleGroup.LabelMatchStatementProperty(
11341
- key="key",
11342
- scope="scope"
11343
- ),
11344
- not_statement=wafv2.CfnRuleGroup.NotStatementProperty(
11345
- statement=statement_property_
11346
- ),
11347
- or_statement=wafv2.CfnRuleGroup.OrStatementProperty(
11348
- statements=[statement_property_]
11349
- ),
11350
- rate_based_statement=wafv2.CfnRuleGroup.RateBasedStatementProperty(
11351
- aggregate_key_type="aggregateKeyType",
11352
- limit=123,
11353
-
11354
- # the properties below are optional
11355
- custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
11356
- cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
11357
- name="name",
11358
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11359
- priority=123,
11360
- type="type"
11361
- )]
11362
- ),
11363
- forwarded_ip=forwarded_ip,
11364
- header=wafv2.CfnRuleGroup.RateLimitHeaderProperty(
11365
- name="name",
11366
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11367
- priority=123,
11368
- type="type"
11369
- )]
11370
- ),
11371
- http_method=http_method,
11372
- ip=ip,
11373
- ja3_fingerprint=wafv2.CfnRuleGroup.RateLimitJA3FingerprintProperty(
11374
- fallback_behavior="fallbackBehavior"
11375
- ),
11376
- ja4_fingerprint=wafv2.CfnRuleGroup.RateLimitJA4FingerprintProperty(
11377
- fallback_behavior="fallbackBehavior"
11378
- ),
11379
- label_namespace=wafv2.CfnRuleGroup.RateLimitLabelNamespaceProperty(
11380
- namespace="namespace"
11381
- ),
11382
- query_argument=wafv2.CfnRuleGroup.RateLimitQueryArgumentProperty(
11383
- name="name",
11384
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11385
- priority=123,
11386
- type="type"
11387
- )]
11388
- ),
11389
- query_string=wafv2.CfnRuleGroup.RateLimitQueryStringProperty(
11390
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11391
- priority=123,
11392
- type="type"
11393
- )]
11394
- ),
11395
- uri_path=wafv2.CfnRuleGroup.RateLimitUriPathProperty(
11396
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11397
- priority=123,
11398
- type="type"
11399
- )]
11400
- )
11401
- )],
11402
- evaluation_window_sec=123,
11403
- forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
11404
- fallback_behavior="fallbackBehavior",
11405
- header_name="headerName"
11406
- ),
11407
- scope_down_statement=statement_property_
11408
- ),
11409
- regex_match_statement=wafv2.CfnRuleGroup.RegexMatchStatementProperty(
11410
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11411
- all_query_arguments=all_query_arguments,
11412
- body=wafv2.CfnRuleGroup.BodyProperty(
11413
- oversize_handling="oversizeHandling"
11414
- ),
11415
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11416
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11417
- all=all,
11418
- excluded_cookies=["excludedCookies"],
11419
- included_cookies=["includedCookies"]
11420
- ),
11421
- match_scope="matchScope",
11422
- oversize_handling="oversizeHandling"
11423
- ),
11424
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11425
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11426
- all=all,
11427
- excluded_headers=["excludedHeaders"],
11428
- included_headers=["includedHeaders"]
11429
- ),
11430
- match_scope="matchScope",
11431
- oversize_handling="oversizeHandling"
11432
- ),
11433
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11434
- fallback_behavior="fallbackBehavior"
11435
- ),
11436
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11437
- fallback_behavior="fallbackBehavior"
11438
- ),
11439
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11440
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11441
- all=all,
11442
- included_paths=["includedPaths"]
11443
- ),
11444
- match_scope="matchScope",
11445
-
11446
- # the properties below are optional
11447
- invalid_fallback_behavior="invalidFallbackBehavior",
11448
- oversize_handling="oversizeHandling"
11449
- ),
11450
- method=method,
11451
- query_string=query_string,
11452
- single_header=single_header,
11453
- single_query_argument=single_query_argument,
11454
- uri_path=uri_path
11455
- ),
11456
- regex_string="regexString",
11457
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11458
- priority=123,
11459
- type="type"
11460
- )]
11461
- ),
11462
- regex_pattern_set_reference_statement=wafv2.CfnRuleGroup.RegexPatternSetReferenceStatementProperty(
11463
- arn="arn",
11464
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11465
- all_query_arguments=all_query_arguments,
11466
- body=wafv2.CfnRuleGroup.BodyProperty(
11467
- oversize_handling="oversizeHandling"
11468
- ),
11469
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11470
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11471
- all=all,
11472
- excluded_cookies=["excludedCookies"],
11473
- included_cookies=["includedCookies"]
11474
- ),
11475
- match_scope="matchScope",
11476
- oversize_handling="oversizeHandling"
11477
- ),
11478
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11479
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11480
- all=all,
11481
- excluded_headers=["excludedHeaders"],
11482
- included_headers=["includedHeaders"]
11483
- ),
11484
- match_scope="matchScope",
11485
- oversize_handling="oversizeHandling"
11486
- ),
11487
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11488
- fallback_behavior="fallbackBehavior"
11489
- ),
11490
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11491
- fallback_behavior="fallbackBehavior"
11492
- ),
11493
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11494
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11495
- all=all,
11496
- included_paths=["includedPaths"]
11497
- ),
11498
- match_scope="matchScope",
11499
-
11500
- # the properties below are optional
11501
- invalid_fallback_behavior="invalidFallbackBehavior",
11502
- oversize_handling="oversizeHandling"
11503
- ),
11504
- method=method,
11505
- query_string=query_string,
11506
- single_header=single_header,
11507
- single_query_argument=single_query_argument,
11508
- uri_path=uri_path
11509
- ),
11510
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11511
- priority=123,
11512
- type="type"
11513
- )]
11514
- ),
11515
- size_constraint_statement=wafv2.CfnRuleGroup.SizeConstraintStatementProperty(
11516
- comparison_operator="comparisonOperator",
11517
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11518
- all_query_arguments=all_query_arguments,
11519
- body=wafv2.CfnRuleGroup.BodyProperty(
11520
- oversize_handling="oversizeHandling"
11521
- ),
11522
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11523
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11524
- all=all,
11525
- excluded_cookies=["excludedCookies"],
11526
- included_cookies=["includedCookies"]
11527
- ),
11528
- match_scope="matchScope",
11529
- oversize_handling="oversizeHandling"
11530
- ),
11531
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11532
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11533
- all=all,
11534
- excluded_headers=["excludedHeaders"],
11535
- included_headers=["includedHeaders"]
11536
- ),
11537
- match_scope="matchScope",
11538
- oversize_handling="oversizeHandling"
11539
- ),
11540
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11541
- fallback_behavior="fallbackBehavior"
11542
- ),
11543
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11544
- fallback_behavior="fallbackBehavior"
11545
- ),
11546
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11547
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11548
- all=all,
11549
- included_paths=["includedPaths"]
11550
- ),
11551
- match_scope="matchScope",
11552
-
11553
- # the properties below are optional
11554
- invalid_fallback_behavior="invalidFallbackBehavior",
11555
- oversize_handling="oversizeHandling"
11556
- ),
11557
- method=method,
11558
- query_string=query_string,
11559
- single_header=single_header,
11560
- single_query_argument=single_query_argument,
11561
- uri_path=uri_path
11562
- ),
11563
- size=123,
11564
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11565
- priority=123,
11566
- type="type"
11567
- )]
11568
- ),
11569
- sqli_match_statement=wafv2.CfnRuleGroup.SqliMatchStatementProperty(
11570
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11571
- all_query_arguments=all_query_arguments,
11572
- body=wafv2.CfnRuleGroup.BodyProperty(
11573
- oversize_handling="oversizeHandling"
11574
- ),
11575
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11576
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11577
- all=all,
11578
- excluded_cookies=["excludedCookies"],
11579
- included_cookies=["includedCookies"]
11580
- ),
11581
- match_scope="matchScope",
11582
- oversize_handling="oversizeHandling"
11583
- ),
11584
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11585
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11586
- all=all,
11587
- excluded_headers=["excludedHeaders"],
11588
- included_headers=["includedHeaders"]
11589
- ),
11590
- match_scope="matchScope",
11591
- oversize_handling="oversizeHandling"
11592
- ),
11593
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11594
- fallback_behavior="fallbackBehavior"
11595
- ),
11596
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11597
- fallback_behavior="fallbackBehavior"
11598
- ),
11599
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11600
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11601
- all=all,
11602
- included_paths=["includedPaths"]
11603
- ),
11604
- match_scope="matchScope",
11605
-
11606
- # the properties below are optional
11607
- invalid_fallback_behavior="invalidFallbackBehavior",
11608
- oversize_handling="oversizeHandling"
11609
- ),
11610
- method=method,
11611
- query_string=query_string,
11612
- single_header=single_header,
11613
- single_query_argument=single_query_argument,
11614
- uri_path=uri_path
11615
- ),
11616
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11617
- priority=123,
11618
- type="type"
11619
- )],
11620
-
11621
- # the properties below are optional
11622
- sensitivity_level="sensitivityLevel"
11623
- ),
11624
- xss_match_statement=wafv2.CfnRuleGroup.XssMatchStatementProperty(
11625
- field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
11626
- all_query_arguments=all_query_arguments,
11627
- body=wafv2.CfnRuleGroup.BodyProperty(
11628
- oversize_handling="oversizeHandling"
11629
- ),
11630
- cookies=wafv2.CfnRuleGroup.CookiesProperty(
11631
- match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
11632
- all=all,
11633
- excluded_cookies=["excludedCookies"],
11634
- included_cookies=["includedCookies"]
11635
- ),
11636
- match_scope="matchScope",
11637
- oversize_handling="oversizeHandling"
11638
- ),
11639
- headers=wafv2.CfnRuleGroup.HeadersProperty(
11640
- match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
11641
- all=all,
11642
- excluded_headers=["excludedHeaders"],
11643
- included_headers=["includedHeaders"]
11644
- ),
11645
- match_scope="matchScope",
11646
- oversize_handling="oversizeHandling"
11647
- ),
11648
- ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
11649
- fallback_behavior="fallbackBehavior"
11650
- ),
11651
- ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
11652
- fallback_behavior="fallbackBehavior"
11653
- ),
11654
- json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
11655
- match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
11656
- all=all,
11657
- included_paths=["includedPaths"]
11658
- ),
11659
- match_scope="matchScope",
11660
-
11661
- # the properties below are optional
11662
- invalid_fallback_behavior="invalidFallbackBehavior",
11663
- oversize_handling="oversizeHandling"
11664
- ),
11665
- method=method,
11666
- query_string=query_string,
11667
- single_header=single_header,
11668
- single_query_argument=single_query_argument,
11669
- uri_path=uri_path
10770
+
10771
+ xss_match_statement_property = wafv2.CfnRuleGroup.XssMatchStatementProperty(
10772
+ field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
10773
+ all_query_arguments=all_query_arguments,
10774
+ body=wafv2.CfnRuleGroup.BodyProperty(
10775
+ oversize_handling="oversizeHandling"
10776
+ ),
10777
+ cookies=wafv2.CfnRuleGroup.CookiesProperty(
10778
+ match_pattern=wafv2.CfnRuleGroup.CookieMatchPatternProperty(
10779
+ all=all,
10780
+ excluded_cookies=["excludedCookies"],
10781
+ included_cookies=["includedCookies"]
11670
10782
  ),
11671
- text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
11672
- priority=123,
11673
- type="type"
11674
- )]
11675
- )
11676
- ),
11677
- visibility_config=wafv2.CfnRuleGroup.VisibilityConfigProperty(
11678
- cloud_watch_metrics_enabled=False,
11679
- metric_name="metricName",
11680
- sampled_requests_enabled=False
11681
- ),
11682
-
11683
- # the properties below are optional
11684
- action=wafv2.CfnRuleGroup.RuleActionProperty(
11685
- allow=allow,
11686
- block=block,
11687
- captcha=captcha,
11688
- challenge=challenge,
11689
- count=count
11690
- ),
11691
- captcha_config=wafv2.CfnRuleGroup.CaptchaConfigProperty(
11692
- immunity_time_property=wafv2.CfnRuleGroup.ImmunityTimePropertyProperty(
11693
- immunity_time=123
11694
- )
11695
- ),
11696
- challenge_config=wafv2.CfnRuleGroup.ChallengeConfigProperty(
11697
- immunity_time_property=wafv2.CfnRuleGroup.ImmunityTimePropertyProperty(
11698
- immunity_time=123
11699
- )
10783
+ match_scope="matchScope",
10784
+ oversize_handling="oversizeHandling"
10785
+ ),
10786
+ headers=wafv2.CfnRuleGroup.HeadersProperty(
10787
+ match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
10788
+ all=all,
10789
+ excluded_headers=["excludedHeaders"],
10790
+ included_headers=["includedHeaders"]
10791
+ ),
10792
+ match_scope="matchScope",
10793
+ oversize_handling="oversizeHandling"
10794
+ ),
10795
+ ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
10796
+ fallback_behavior="fallbackBehavior"
10797
+ ),
10798
+ ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
10799
+ fallback_behavior="fallbackBehavior"
10800
+ ),
10801
+ json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
10802
+ match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
10803
+ all=all,
10804
+ included_paths=["includedPaths"]
10805
+ ),
10806
+ match_scope="matchScope",
10807
+
10808
+ # the properties below are optional
10809
+ invalid_fallback_behavior="invalidFallbackBehavior",
10810
+ oversize_handling="oversizeHandling"
10811
+ ),
10812
+ method=method,
10813
+ query_string=query_string,
10814
+ single_header=single_header,
10815
+ single_query_argument=single_query_argument,
10816
+ uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
10817
+ fallback_behavior="fallbackBehavior"
10818
+ ),
10819
+ uri_path=uri_path
11700
10820
  ),
11701
- rule_labels=[wafv2.CfnRuleGroup.LabelProperty(
11702
- name="name"
10821
+ text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
10822
+ priority=123,
10823
+ type="type"
11703
10824
  )]
11704
- )],
11705
- tags=[CfnTag(
11706
- key="key",
11707
- value="value"
11708
- )]
10825
+ )
10826
+ '''
10827
+ if __debug__:
10828
+ type_hints = typing.get_type_hints(_typecheckingstub__e502ec1c8bc4096eb797b55f6c0a1f9c506e23db360770a855cc273d36ce4b4a)
10829
+ check_type(argname="argument field_to_match", value=field_to_match, expected_type=type_hints["field_to_match"])
10830
+ check_type(argname="argument text_transformations", value=text_transformations, expected_type=type_hints["text_transformations"])
10831
+ self._values: typing.Dict[builtins.str, typing.Any] = {
10832
+ "field_to_match": field_to_match,
10833
+ "text_transformations": text_transformations,
10834
+ }
10835
+
10836
+ @builtins.property
10837
+ def field_to_match(
10838
+ self,
10839
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"]:
10840
+ '''The part of the web request that you want AWS WAF to inspect.
10841
+
10842
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch
10843
+ '''
10844
+ result = self._values.get("field_to_match")
10845
+ assert result is not None, "Required property 'field_to_match' is missing"
10846
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"], result)
10847
+
10848
+ @builtins.property
10849
+ def text_transformations(
10850
+ self,
10851
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]]:
10852
+ '''Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
10853
+
10854
+ If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by ``FieldToMatch`` , starting from the lowest priority setting, before inspecting the content for a match.
10855
+
10856
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations
10857
+ '''
10858
+ result = self._values.get("text_transformations")
10859
+ assert result is not None, "Required property 'text_transformations' is missing"
10860
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]], result)
10861
+
10862
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
10863
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
10864
+
10865
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
10866
+ return not (rhs == self)
10867
+
10868
+ def __repr__(self) -> str:
10869
+ return "XssMatchStatementProperty(%s)" % ", ".join(
10870
+ k + "=" + repr(v) for k, v in self._values.items()
11709
10871
  )
10872
+
10873
+
10874
+ @jsii.data_type(
10875
+ jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroupProps",
10876
+ jsii_struct_bases=[],
10877
+ name_mapping={
10878
+ "capacity": "capacity",
10879
+ "scope": "scope",
10880
+ "visibility_config": "visibilityConfig",
10881
+ "available_labels": "availableLabels",
10882
+ "consumed_labels": "consumedLabels",
10883
+ "custom_response_bodies": "customResponseBodies",
10884
+ "description": "description",
10885
+ "name": "name",
10886
+ "rules": "rules",
10887
+ "tags": "tags",
10888
+ },
10889
+ )
10890
+ class CfnRuleGroupProps:
10891
+ def __init__(
10892
+ self,
10893
+ *,
10894
+ capacity: jsii.Number,
10895
+ scope: builtins.str,
10896
+ visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
10897
+ available_labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.LabelSummaryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10898
+ consumed_labels: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.LabelSummaryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10899
+ custom_response_bodies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.CustomResponseBodyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10900
+ description: typing.Optional[builtins.str] = None,
10901
+ name: typing.Optional[builtins.str] = None,
10902
+ rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
10903
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10904
+ ) -> None:
10905
+ '''Properties for defining a ``CfnRuleGroup``.
10906
+
10907
+ :param capacity: The web ACL capacity units (WCUs) required for this rule group. When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.
10908
+ :param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are ``CLOUDFRONT`` and ``REGIONAL`` . .. epigraph:: For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` .
10909
+ :param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
10910
+ :param available_labels: The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the ``RuleLabels`` for a ``Rule`` .
10911
+ :param consumed_labels: The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a ``LabelMatchStatement`` specification, in the ``Statement`` definition of a rule.
10912
+ :param custom_response_bodies: A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group. For information about customizing web requests and responses, see `Customizing web requests and responses in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html>`_ in the *AWS WAF Developer Guide* . For information about the limits on count and size for custom request and response settings, see `AWS WAF quotas <https://docs.aws.amazon.com/waf/latest/developerguide/limits.html>`_ in the *AWS WAF Developer Guide* .
10913
+ :param description: A description of the rule group that helps with identification.
10914
+ :param name: The name of the rule group. You cannot change the name of a rule group after you create it.
10915
+ :param rules: The rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
10916
+ :param tags: Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource. .. epigraph:: To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
10917
+
10918
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html
10919
+ :exampleMetadata: fixture=_generated
10920
+
10921
+ Example::
10922
+
10923
+
11710
10924
  '''
11711
10925
  if __debug__:
11712
10926
  type_hints = typing.get_type_hints(_typecheckingstub__c8dfa44d9c30297c12ad00bd34bbd4b85ea5438f4127e7e97226c16565c6ef5b)
@@ -13137,6 +12351,9 @@ class CfnWebACL(
13137
12351
  query_string=query_string,
13138
12352
  single_header=single_header,
13139
12353
  single_query_argument=single_query_argument,
12354
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
12355
+ fallback_behavior="fallbackBehavior"
12356
+ ),
13140
12357
  uri_path=uri_path
13141
12358
  ),
13142
12359
  positional_constraint="positionalConstraint",
@@ -14572,6 +13789,7 @@ class CfnWebACL(
14572
13789
  "query_string": "queryString",
14573
13790
  "single_header": "singleHeader",
14574
13791
  "single_query_argument": "singleQueryArgument",
13792
+ "uri_fragment": "uriFragment",
14575
13793
  "uri_path": "uriPath",
14576
13794
  },
14577
13795
  )
@@ -14590,6 +13808,7 @@ class CfnWebACL(
14590
13808
  query_string: typing.Any = None,
14591
13809
  single_header: typing.Any = None,
14592
13810
  single_query_argument: typing.Any = None,
13811
+ uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.UriFragmentProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14593
13812
  uri_path: typing.Any = None,
14594
13813
  ) -> None:
14595
13814
  '''Specifies a web request component to be used in a rule match statement or in a logging configuration.
@@ -14620,6 +13839,7 @@ class CfnWebACL(
14620
13839
  :param query_string: Inspect the query string. This is the part of a URL that appears after a ``?`` character, if any.
14621
13840
  :param single_header: Inspect a single header. Provide the name of the header to inspect, for example, ``User-Agent`` or ``Referer`` . This setting isn't case sensitive. Example JSON: ``"SingleHeader": { "Name": "haystack" }`` Alternately, you can filter and inspect all headers with the ``Headers`` ``FieldToMatch`` setting.
14622
13841
  :param single_query_argument: Inspect a single query argument. Provide the name of the query argument to inspect, such as *UserName* or *SalesRegion* . The name can be up to 30 characters long and isn't case sensitive. Example JSON: ``"SingleQueryArgument": { "Name": "myArgument" }``
13842
+ :param uri_fragment: The path component of the URI Fragment. This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
14623
13843
  :param uri_path: Inspect the request URI path. This is the part of the web request that identifies a resource, for example, ``/images/daily-ad.jpg`` .
14624
13844
 
14625
13845
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html
@@ -14683,6 +13903,9 @@ class CfnWebACL(
14683
13903
  query_string=query_string,
14684
13904
  single_header=single_header,
14685
13905
  single_query_argument=single_query_argument,
13906
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
13907
+ fallback_behavior="fallbackBehavior"
13908
+ ),
14686
13909
  uri_path=uri_path
14687
13910
  )
14688
13911
  '''
@@ -14699,6 +13922,7 @@ class CfnWebACL(
14699
13922
  check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
14700
13923
  check_type(argname="argument single_header", value=single_header, expected_type=type_hints["single_header"])
14701
13924
  check_type(argname="argument single_query_argument", value=single_query_argument, expected_type=type_hints["single_query_argument"])
13925
+ check_type(argname="argument uri_fragment", value=uri_fragment, expected_type=type_hints["uri_fragment"])
14702
13926
  check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
14703
13927
  self._values: typing.Dict[builtins.str, typing.Any] = {}
14704
13928
  if all_query_arguments is not None:
@@ -14723,6 +13947,8 @@ class CfnWebACL(
14723
13947
  self._values["single_header"] = single_header
14724
13948
  if single_query_argument is not None:
14725
13949
  self._values["single_query_argument"] = single_query_argument
13950
+ if uri_fragment is not None:
13951
+ self._values["uri_fragment"] = uri_fragment
14726
13952
  if uri_path is not None:
14727
13953
  self._values["uri_path"] = uri_path
14728
13954
 
@@ -14895,6 +14121,19 @@ class CfnWebACL(
14895
14121
  result = self._values.get("single_query_argument")
14896
14122
  return typing.cast(typing.Any, result)
14897
14123
 
14124
+ @builtins.property
14125
+ def uri_fragment(
14126
+ self,
14127
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.UriFragmentProperty"]]:
14128
+ '''The path component of the URI Fragment.
14129
+
14130
+ This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
14131
+
14132
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-urifragment
14133
+ '''
14134
+ result = self._values.get("uri_fragment")
14135
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.UriFragmentProperty"]], result)
14136
+
14898
14137
  @builtins.property
14899
14138
  def uri_path(self) -> typing.Any:
14900
14139
  '''Inspect the request URI path.
@@ -17983,6 +17222,9 @@ class CfnWebACL(
17983
17222
  query_string=query_string,
17984
17223
  single_header=single_header,
17985
17224
  single_query_argument=single_query_argument,
17225
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
17226
+ fallback_behavior="fallbackBehavior"
17227
+ ),
17986
17228
  uri_path=uri_path
17987
17229
  ),
17988
17230
  regex_string="regexString",
@@ -18140,6 +17382,9 @@ class CfnWebACL(
18140
17382
  query_string=query_string,
18141
17383
  single_header=single_header,
18142
17384
  single_query_argument=single_query_argument,
17385
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
17386
+ fallback_behavior="fallbackBehavior"
17387
+ ),
18143
17388
  uri_path=uri_path
18144
17389
  ),
18145
17390
  text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
@@ -20055,6 +19300,9 @@ class CfnWebACL(
20055
19300
  query_string=query_string,
20056
19301
  single_header=single_header,
20057
19302
  single_query_argument=single_query_argument,
19303
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
19304
+ fallback_behavior="fallbackBehavior"
19305
+ ),
20058
19306
  uri_path=uri_path
20059
19307
  ),
20060
19308
  size=123,
@@ -20221,6 +19469,9 @@ class CfnWebACL(
20221
19469
  query_string=query_string,
20222
19470
  single_header=single_header,
20223
19471
  single_query_argument=single_query_argument,
19472
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
19473
+ fallback_behavior="fallbackBehavior"
19474
+ ),
20224
19475
  uri_path=uri_path
20225
19476
  ),
20226
19477
  text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
@@ -20748,6 +19999,62 @@ class CfnWebACL(
20748
19999
  k + "=" + repr(v) for k, v in self._values.items()
20749
20000
  )
20750
20001
 
20002
+ @jsii.data_type(
20003
+ jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.UriFragmentProperty",
20004
+ jsii_struct_bases=[],
20005
+ name_mapping={"fallback_behavior": "fallbackBehavior"},
20006
+ )
20007
+ class UriFragmentProperty:
20008
+ def __init__(
20009
+ self,
20010
+ *,
20011
+ fallback_behavior: typing.Optional[builtins.str] = None,
20012
+ ) -> None:
20013
+ '''The path component of the URI Fragment.
20014
+
20015
+ This is the part of a web request that identifies a fragment uri, for example, /abcd#introduction
20016
+
20017
+ :param fallback_behavior:
20018
+
20019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-urifragment.html
20020
+ :exampleMetadata: fixture=_generated
20021
+
20022
+ Example::
20023
+
20024
+ # The code below shows an example of how to instantiate this type.
20025
+ # The values are placeholders you should change.
20026
+ from aws_cdk import aws_wafv2 as wafv2
20027
+
20028
+ uri_fragment_property = wafv2.CfnWebACL.UriFragmentProperty(
20029
+ fallback_behavior="fallbackBehavior"
20030
+ )
20031
+ '''
20032
+ if __debug__:
20033
+ type_hints = typing.get_type_hints(_typecheckingstub__ff710cae8471ff92b17239c2eddf3d9fc58fc160b82b4603e07b06b6dc3a6dd1)
20034
+ check_type(argname="argument fallback_behavior", value=fallback_behavior, expected_type=type_hints["fallback_behavior"])
20035
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
20036
+ if fallback_behavior is not None:
20037
+ self._values["fallback_behavior"] = fallback_behavior
20038
+
20039
+ @builtins.property
20040
+ def fallback_behavior(self) -> typing.Optional[builtins.str]:
20041
+ '''
20042
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-urifragment.html#cfn-wafv2-webacl-urifragment-fallbackbehavior
20043
+ '''
20044
+ result = self._values.get("fallback_behavior")
20045
+ return typing.cast(typing.Optional[builtins.str], result)
20046
+
20047
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
20048
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
20049
+
20050
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
20051
+ return not (rhs == self)
20052
+
20053
+ def __repr__(self) -> str:
20054
+ return "UriFragmentProperty(%s)" % ", ".join(
20055
+ k + "=" + repr(v) for k, v in self._values.items()
20056
+ )
20057
+
20751
20058
  @jsii.data_type(
20752
20059
  jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.VisibilityConfigProperty",
20753
20060
  jsii_struct_bases=[],
@@ -20940,6 +20247,9 @@ class CfnWebACL(
20940
20247
  query_string=query_string,
20941
20248
  single_header=single_header,
20942
20249
  single_query_argument=single_query_argument,
20250
+ uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
20251
+ fallback_behavior="fallbackBehavior"
20252
+ ),
20943
20253
  uri_path=uri_path
20944
20254
  ),
20945
20255
  text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
@@ -22015,6 +21325,7 @@ def _typecheckingstub__dcb790c3130e52c64e6b7cf00db86b37d1b54427689c46b6c9e6a7122
22015
21325
  query_string: typing.Any = None,
22016
21326
  single_header: typing.Any = None,
22017
21327
  single_query_argument: typing.Any = None,
21328
+ uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.UriFragmentProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22018
21329
  uri_path: typing.Any = None,
22019
21330
  ) -> None:
22020
21331
  """Type checking stubs"""
@@ -22337,6 +21648,13 @@ def _typecheckingstub__cbdf04ef9e923368f792f61fdb73e804a219fcd9c66ffb20e85214a5a
22337
21648
  """Type checking stubs"""
22338
21649
  pass
22339
21650
 
21651
+ def _typecheckingstub__fe1c476d259659923a1664b8e966720fc48cf48f725562b81ef2c02997f8998a(
21652
+ *,
21653
+ fallback_behavior: typing.Optional[builtins.str] = None,
21654
+ ) -> None:
21655
+ """Type checking stubs"""
21656
+ pass
21657
+
22340
21658
  def _typecheckingstub__ffc3de9fa9cd77d11c4487ad80fc48948664b917c8642b35ca709762ce71fddf(
22341
21659
  *,
22342
21660
  cloud_watch_metrics_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
@@ -22693,6 +22011,7 @@ def _typecheckingstub__25d147c856e9a8fd64f4cc05856e4813e584f37ef787792ad3c4e0790
22693
22011
  query_string: typing.Any = None,
22694
22012
  single_header: typing.Any = None,
22695
22013
  single_query_argument: typing.Any = None,
22014
+ uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.UriFragmentProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22696
22015
  uri_path: typing.Any = None,
22697
22016
  ) -> None:
22698
22017
  """Type checking stubs"""
@@ -23142,6 +22461,13 @@ def _typecheckingstub__a7a1f13087f44f2554ec3d9d35f967247b32fc5b6c94bf2eacd3379ce
23142
22461
  """Type checking stubs"""
23143
22462
  pass
23144
22463
 
22464
+ def _typecheckingstub__ff710cae8471ff92b17239c2eddf3d9fc58fc160b82b4603e07b06b6dc3a6dd1(
22465
+ *,
22466
+ fallback_behavior: typing.Optional[builtins.str] = None,
22467
+ ) -> None:
22468
+ """Type checking stubs"""
22469
+ pass
22470
+
23145
22471
  def _typecheckingstub__f805e71e3de782928ad1bdb95c4cddf9f28e9dbda49ae45324c0dc8316955eaa(
23146
22472
  *,
23147
22473
  cloud_watch_metrics_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],