aws-cdk-lib 2.186.0__py3-none-any.whl → 2.188.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.
- aws_cdk/__init__.py +303 -119
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.188.0.jsii.tgz} +0 -0
- aws_cdk/aws_amplify/__init__.py +136 -0
- aws_cdk/aws_apigateway/__init__.py +69 -17
- aws_cdk/aws_apigatewayv2/__init__.py +88 -0
- aws_cdk/aws_appconfig/__init__.py +30 -14
- aws_cdk/aws_appsync/__init__.py +14 -5
- aws_cdk/aws_arczonalshift/__init__.py +4 -4
- aws_cdk/aws_bedrock/__init__.py +637 -32
- aws_cdk/aws_budgets/__init__.py +8 -8
- aws_cdk/aws_cassandra/__init__.py +4 -2
- aws_cdk/aws_ce/__init__.py +2 -2
- aws_cdk/aws_cloudformation/__init__.py +3 -3
- aws_cdk/aws_cloudfront/__init__.py +11 -0
- aws_cdk/aws_cloudtrail/__init__.py +4 -18
- aws_cdk/aws_cloudwatch/__init__.py +50 -50
- aws_cdk/aws_codebuild/__init__.py +32 -1
- aws_cdk/aws_codepipeline/__init__.py +47 -32
- aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
- aws_cdk/aws_codestarnotifications/__init__.py +16 -16
- aws_cdk/aws_cognito/__init__.py +8 -2
- aws_cdk/aws_config/__init__.py +2 -5
- aws_cdk/aws_datazone/__init__.py +287 -226
- aws_cdk/aws_detective/__init__.py +3 -3
- aws_cdk/aws_dynamodb/__init__.py +37 -0
- aws_cdk/aws_ec2/__init__.py +2448 -442
- aws_cdk/aws_ecr/__init__.py +143 -0
- aws_cdk/aws_ecr_assets/__init__.py +115 -4
- aws_cdk/aws_ecs/__init__.py +51 -0
- aws_cdk/aws_eks/__init__.py +222 -6
- aws_cdk/aws_events/__init__.py +8 -11
- aws_cdk/aws_events_targets/__init__.py +136 -0
- aws_cdk/aws_forecast/__init__.py +1 -1
- aws_cdk/aws_fsx/__init__.py +2 -2
- aws_cdk/aws_gamelift/__init__.py +11 -11
- aws_cdk/aws_iam/__init__.py +6 -4
- aws_cdk/aws_identitystore/__init__.py +6 -4
- aws_cdk/aws_iotsitewise/__init__.py +623 -0
- aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
- aws_cdk/aws_kms/__init__.py +10 -11
- aws_cdk/aws_lakeformation/__init__.py +3 -3
- aws_cdk/aws_lambda/__init__.py +105 -4
- aws_cdk/aws_lambda_event_sources/__init__.py +87 -25
- aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
- aws_cdk/aws_lex/__init__.py +985 -5
- aws_cdk/aws_logs/__init__.py +18 -0
- aws_cdk/aws_logs_destinations/__init__.py +146 -0
- aws_cdk/aws_mediaconnect/__init__.py +714 -290
- aws_cdk/aws_mwaa/__init__.py +9 -9
- aws_cdk/aws_networkfirewall/__init__.py +44 -0
- aws_cdk/aws_notifications/__init__.py +4 -4
- aws_cdk/aws_omics/__init__.py +225 -1
- aws_cdk/aws_opensearchserverless/__init__.py +31 -23
- aws_cdk/aws_organizations/__init__.py +1 -1
- aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
- aws_cdk/aws_quicksight/__init__.py +268 -50
- aws_cdk/aws_rds/__init__.py +186 -10
- aws_cdk/aws_route53/__init__.py +5 -5
- aws_cdk/aws_route53recoverycontrol/__init__.py +41 -2
- aws_cdk/aws_rum/__init__.py +13 -10
- aws_cdk/aws_s3/__init__.py +3 -6
- aws_cdk/aws_s3_assets/__init__.py +70 -1
- aws_cdk/aws_s3_deployment/__init__.py +4 -0
- aws_cdk/aws_sagemaker/__init__.py +47 -4
- aws_cdk/aws_scheduler_targets/__init__.py +4 -16
- aws_cdk/aws_securitylake/__init__.py +2 -2
- aws_cdk/aws_servicecatalog/__init__.py +4 -0
- aws_cdk/aws_sns/__init__.py +1 -1
- aws_cdk/aws_ssmincidents/__init__.py +10 -10
- aws_cdk/aws_stepfunctions/__init__.py +23 -17
- aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
- aws_cdk/aws_synthetics/__init__.py +9 -0
- aws_cdk/aws_systemsmanagersap/__init__.py +160 -0
- aws_cdk/aws_transfer/__init__.py +19 -10
- aws_cdk/aws_wafv2/__init__.py +512 -1141
- aws_cdk/cloud_assembly_schema/__init__.py +60 -10
- aws_cdk/cx_api/__init__.py +38 -2
- aws_cdk/pipelines/__init__.py +52 -2
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/METADATA +4 -4
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/RECORD +85 -85
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/WHEEL +1 -1
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_wafv2/__init__.py
CHANGED
|
@@ -1602,7 +1602,7 @@ class CfnRegexPatternSet(
|
|
|
1602
1602
|
:param scope_: Scope in which this resource is defined.
|
|
1603
1603
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1604
1604
|
:param regular_expression_list: The regular expression patterns in the set.
|
|
1605
|
-
: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`` .
|
|
1605
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
1606
1606
|
:param description: A description of the set that helps with identification.
|
|
1607
1607
|
:param name: The name of the set. You cannot change the name after you create the set.
|
|
1608
1608
|
: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.
|
|
@@ -1770,7 +1770,7 @@ class CfnRegexPatternSetProps:
|
|
|
1770
1770
|
'''Properties for defining a ``CfnRegexPatternSet``.
|
|
1771
1771
|
|
|
1772
1772
|
:param regular_expression_list: The regular expression patterns in the set.
|
|
1773
|
-
: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`` .
|
|
1773
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
1774
1774
|
:param description: A description of the set that helps with identification.
|
|
1775
1775
|
:param name: The name of the set. You cannot change the name after you create the set.
|
|
1776
1776
|
: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.
|
|
@@ -1829,7 +1829,7 @@ class CfnRegexPatternSetProps:
|
|
|
1829
1829
|
def scope(self) -> builtins.str:
|
|
1830
1830
|
'''Specifies whether this is for an Amazon CloudFront distribution or for a regional application.
|
|
1831
1831
|
|
|
1832
|
-
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`` .
|
|
1832
|
+
For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
1833
1833
|
.. epigraph::
|
|
1834
1834
|
|
|
1835
1835
|
For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` .
|
|
@@ -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
1911
|
|
|
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
|
-
|
|
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__(
|
|
@@ -2426,7 +1931,7 @@ class CfnRuleGroup(
|
|
|
2426
1931
|
:param scope_: Scope in which this resource is defined.
|
|
2427
1932
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2428
1933
|
: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.
|
|
2429
|
-
: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`` .
|
|
1934
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
2430
1935
|
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
2431
1936
|
: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`` .
|
|
2432
1937
|
: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.
|
|
@@ -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(
|
|
@@ -3314,7 +2837,7 @@ class CfnRuleGroup(
|
|
|
3314
2837
|
|
|
3315
2838
|
This is used to indicate the web request component to inspect, in the ``FieldToMatch`` specification.
|
|
3316
2839
|
|
|
3317
|
-
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
2840
|
+
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
3318
2841
|
|
|
3319
2842
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-body.html
|
|
3320
2843
|
:exampleMetadata: fixture=_generated
|
|
@@ -3344,6 +2867,7 @@ class CfnRuleGroup(
|
|
|
3344
2867
|
|
|
3345
2868
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
3346
2869
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
2870
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
3347
2871
|
|
|
3348
2872
|
The options for oversize handling are the following:
|
|
3349
2873
|
|
|
@@ -3464,6 +2988,9 @@ class CfnRuleGroup(
|
|
|
3464
2988
|
query_string=query_string,
|
|
3465
2989
|
single_header=single_header,
|
|
3466
2990
|
single_query_argument=single_query_argument,
|
|
2991
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
2992
|
+
fallback_behavior="fallbackBehavior"
|
|
2993
|
+
),
|
|
3467
2994
|
uri_path=uri_path
|
|
3468
2995
|
),
|
|
3469
2996
|
positional_constraint="positionalConstraint",
|
|
@@ -4457,6 +3984,7 @@ class CfnRuleGroup(
|
|
|
4457
3984
|
"query_string": "queryString",
|
|
4458
3985
|
"single_header": "singleHeader",
|
|
4459
3986
|
"single_query_argument": "singleQueryArgument",
|
|
3987
|
+
"uri_fragment": "uriFragment",
|
|
4460
3988
|
"uri_path": "uriPath",
|
|
4461
3989
|
},
|
|
4462
3990
|
)
|
|
@@ -4475,6 +4003,7 @@ class CfnRuleGroup(
|
|
|
4475
4003
|
query_string: typing.Any = None,
|
|
4476
4004
|
single_header: typing.Any = None,
|
|
4477
4005
|
single_query_argument: typing.Any = None,
|
|
4006
|
+
uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.UriFragmentProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4478
4007
|
uri_path: typing.Any = None,
|
|
4479
4008
|
) -> None:
|
|
4480
4009
|
'''Specifies a web request component to be used in a rule match statement or in a logging configuration.
|
|
@@ -4495,16 +4024,17 @@ class CfnRuleGroup(
|
|
|
4495
4024
|
- If you have request sampling enabled, the redacted fields configuration for logging has no impact on sampling. You can only exclude fields from request sampling by disabling sampling in the web ACL visibility configuration or by configuring data protection for the web ACL.
|
|
4496
4025
|
|
|
4497
4026
|
:param all_query_arguments: Inspect all query arguments.
|
|
4498
|
-
:param body: Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
4027
|
+
:param body: Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
4499
4028
|
:param cookies: Inspect the request cookies. You must configure scope and pattern matching filters in the ``Cookies`` object, to define the set of cookies and the parts of the cookies that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the ``Cookies`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
4500
4029
|
:param headers: Inspect the request headers. You must configure scope and pattern matching filters in the ``Headers`` object, to define the set of headers to and the parts of the headers that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the ``Headers`` object. AWS WAF applies the pattern matching filters to the headers that it receives from the underlying host service.
|
|
4501
4030
|
:param ja3_fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. AWS WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information. .. epigraph:: You can use this choice only with a string match ``ByteMatchStatement`` with the ``PositionalConstraint`` set to ``EXACTLY`` . You can obtain the JA3 fingerprint for client requests from the web ACL logs. If AWS WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see `Log fields <https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html>`_ in the *AWS WAF Developer Guide* . Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
|
|
4502
4031
|
:param ja4_fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA4 fingerprint. The JA4 fingerprint is a 36-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. AWS WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information. .. epigraph:: You can use this choice only with a string match ``ByteMatchStatement`` with the ``PositionalConstraint`` set to ``EXACTLY`` . You can obtain the JA4 fingerprint for client requests from the web ACL logs. If AWS WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see `Log fields <https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html>`_ in the *AWS WAF Developer Guide* . Provide the JA4 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
|
|
4503
|
-
:param json_body: Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
4032
|
+
:param json_body: Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
4504
4033
|
:param method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.
|
|
4505
4034
|
:param query_string: Inspect the query string. This is the part of a URL that appears after a ``?`` character, if any.
|
|
4506
4035
|
: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
4036
|
: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" }``
|
|
4037
|
+
:param uri_fragment: Inspect fragments of the request URI. You must configure scope and pattern matching filters in the ``UriFragment`` object, to define the fragment of a URI that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's URI fragments and only the first 200 URI fragments are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the ``UriFragment`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
4508
4038
|
: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
4039
|
|
|
4510
4040
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html
|
|
@@ -4568,6 +4098,9 @@ class CfnRuleGroup(
|
|
|
4568
4098
|
query_string=query_string,
|
|
4569
4099
|
single_header=single_header,
|
|
4570
4100
|
single_query_argument=single_query_argument,
|
|
4101
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
4102
|
+
fallback_behavior="fallbackBehavior"
|
|
4103
|
+
),
|
|
4571
4104
|
uri_path=uri_path
|
|
4572
4105
|
)
|
|
4573
4106
|
'''
|
|
@@ -4584,6 +4117,7 @@ class CfnRuleGroup(
|
|
|
4584
4117
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
4585
4118
|
check_type(argname="argument single_header", value=single_header, expected_type=type_hints["single_header"])
|
|
4586
4119
|
check_type(argname="argument single_query_argument", value=single_query_argument, expected_type=type_hints["single_query_argument"])
|
|
4120
|
+
check_type(argname="argument uri_fragment", value=uri_fragment, expected_type=type_hints["uri_fragment"])
|
|
4587
4121
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
4588
4122
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4589
4123
|
if all_query_arguments is not None:
|
|
@@ -4608,6 +4142,8 @@ class CfnRuleGroup(
|
|
|
4608
4142
|
self._values["single_header"] = single_header
|
|
4609
4143
|
if single_query_argument is not None:
|
|
4610
4144
|
self._values["single_query_argument"] = single_query_argument
|
|
4145
|
+
if uri_fragment is not None:
|
|
4146
|
+
self._values["uri_fragment"] = uri_fragment
|
|
4611
4147
|
if uri_path is not None:
|
|
4612
4148
|
self._values["uri_path"] = uri_path
|
|
4613
4149
|
|
|
@@ -4632,6 +4168,7 @@ class CfnRuleGroup(
|
|
|
4632
4168
|
|
|
4633
4169
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
4634
4170
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
4171
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
4635
4172
|
|
|
4636
4173
|
For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
4637
4174
|
|
|
@@ -4722,6 +4259,7 @@ class CfnRuleGroup(
|
|
|
4722
4259
|
|
|
4723
4260
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
4724
4261
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
4262
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
4725
4263
|
|
|
4726
4264
|
For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
4727
4265
|
|
|
@@ -4780,6 +4318,21 @@ class CfnRuleGroup(
|
|
|
4780
4318
|
result = self._values.get("single_query_argument")
|
|
4781
4319
|
return typing.cast(typing.Any, result)
|
|
4782
4320
|
|
|
4321
|
+
@builtins.property
|
|
4322
|
+
def uri_fragment(
|
|
4323
|
+
self,
|
|
4324
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.UriFragmentProperty"]]:
|
|
4325
|
+
'''Inspect fragments of the request URI.
|
|
4326
|
+
|
|
4327
|
+
You must configure scope and pattern matching filters in the ``UriFragment`` object, to define the fragment of a URI that AWS WAF inspects.
|
|
4328
|
+
|
|
4329
|
+
Only the first 8 KB (8192 bytes) of a request's URI fragments and only the first 200 URI fragments are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the ``UriFragment`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
4330
|
+
|
|
4331
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-urifragment
|
|
4332
|
+
'''
|
|
4333
|
+
result = self._values.get("uri_fragment")
|
|
4334
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.UriFragmentProperty"]], result)
|
|
4335
|
+
|
|
4783
4336
|
@builtins.property
|
|
4784
4337
|
def uri_path(self) -> typing.Any:
|
|
4785
4338
|
'''Inspect the request URI path.
|
|
@@ -5646,7 +5199,7 @@ class CfnRuleGroup(
|
|
|
5646
5199
|
:param match_pattern: The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.
|
|
5647
5200
|
:param match_scope: The parts of the JSON to match against using the ``MatchPattern`` . If you specify ``ALL`` , AWS WAF matches against keys and values. ``All`` does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical ``AND`` statement to combine two match rules, one that inspects the keys and another that inspects the values.
|
|
5648
5201
|
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
5649
|
-
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
5202
|
+
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
5650
5203
|
|
|
5651
5204
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html
|
|
5652
5205
|
:exampleMetadata: fixture=_generated
|
|
@@ -5740,6 +5293,7 @@ class CfnRuleGroup(
|
|
|
5740
5293
|
|
|
5741
5294
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
5742
5295
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
5296
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
5743
5297
|
|
|
5744
5298
|
The options for oversize handling are the following:
|
|
5745
5299
|
|
|
@@ -6122,6 +5676,9 @@ class CfnRuleGroup(
|
|
|
6122
5676
|
query_string=query_string,
|
|
6123
5677
|
single_header=single_header,
|
|
6124
5678
|
single_query_argument=single_query_argument,
|
|
5679
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
5680
|
+
fallback_behavior="fallbackBehavior"
|
|
5681
|
+
),
|
|
6125
5682
|
uri_path=uri_path
|
|
6126
5683
|
),
|
|
6127
5684
|
positional_constraint="positionalConstraint",
|
|
@@ -6263,6 +5820,9 @@ class CfnRuleGroup(
|
|
|
6263
5820
|
query_string=query_string,
|
|
6264
5821
|
single_header=single_header,
|
|
6265
5822
|
single_query_argument=single_query_argument,
|
|
5823
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
5824
|
+
fallback_behavior="fallbackBehavior"
|
|
5825
|
+
),
|
|
6266
5826
|
uri_path=uri_path
|
|
6267
5827
|
),
|
|
6268
5828
|
regex_string="regexString",
|
|
@@ -6317,6 +5877,9 @@ class CfnRuleGroup(
|
|
|
6317
5877
|
query_string=query_string,
|
|
6318
5878
|
single_header=single_header,
|
|
6319
5879
|
single_query_argument=single_query_argument,
|
|
5880
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
5881
|
+
fallback_behavior="fallbackBehavior"
|
|
5882
|
+
),
|
|
6320
5883
|
uri_path=uri_path
|
|
6321
5884
|
),
|
|
6322
5885
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6370,6 +5933,9 @@ class CfnRuleGroup(
|
|
|
6370
5933
|
query_string=query_string,
|
|
6371
5934
|
single_header=single_header,
|
|
6372
5935
|
single_query_argument=single_query_argument,
|
|
5936
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
5937
|
+
fallback_behavior="fallbackBehavior"
|
|
5938
|
+
),
|
|
6373
5939
|
uri_path=uri_path
|
|
6374
5940
|
),
|
|
6375
5941
|
size=123,
|
|
@@ -6423,6 +5989,9 @@ class CfnRuleGroup(
|
|
|
6423
5989
|
query_string=query_string,
|
|
6424
5990
|
single_header=single_header,
|
|
6425
5991
|
single_query_argument=single_query_argument,
|
|
5992
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
5993
|
+
fallback_behavior="fallbackBehavior"
|
|
5994
|
+
),
|
|
6426
5995
|
uri_path=uri_path
|
|
6427
5996
|
),
|
|
6428
5997
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6478,6 +6047,9 @@ class CfnRuleGroup(
|
|
|
6478
6047
|
query_string=query_string,
|
|
6479
6048
|
single_header=single_header,
|
|
6480
6049
|
single_query_argument=single_query_argument,
|
|
6050
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6051
|
+
fallback_behavior="fallbackBehavior"
|
|
6052
|
+
),
|
|
6481
6053
|
uri_path=uri_path
|
|
6482
6054
|
),
|
|
6483
6055
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6609,6 +6181,9 @@ class CfnRuleGroup(
|
|
|
6609
6181
|
query_string=query_string,
|
|
6610
6182
|
single_header=single_header,
|
|
6611
6183
|
single_query_argument=single_query_argument,
|
|
6184
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6185
|
+
fallback_behavior="fallbackBehavior"
|
|
6186
|
+
),
|
|
6612
6187
|
uri_path=uri_path
|
|
6613
6188
|
),
|
|
6614
6189
|
positional_constraint="positionalConstraint",
|
|
@@ -6750,6 +6325,9 @@ class CfnRuleGroup(
|
|
|
6750
6325
|
query_string=query_string,
|
|
6751
6326
|
single_header=single_header,
|
|
6752
6327
|
single_query_argument=single_query_argument,
|
|
6328
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6329
|
+
fallback_behavior="fallbackBehavior"
|
|
6330
|
+
),
|
|
6753
6331
|
uri_path=uri_path
|
|
6754
6332
|
),
|
|
6755
6333
|
regex_string="regexString",
|
|
@@ -6804,6 +6382,9 @@ class CfnRuleGroup(
|
|
|
6804
6382
|
query_string=query_string,
|
|
6805
6383
|
single_header=single_header,
|
|
6806
6384
|
single_query_argument=single_query_argument,
|
|
6385
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6386
|
+
fallback_behavior="fallbackBehavior"
|
|
6387
|
+
),
|
|
6807
6388
|
uri_path=uri_path
|
|
6808
6389
|
),
|
|
6809
6390
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6857,6 +6438,9 @@ class CfnRuleGroup(
|
|
|
6857
6438
|
query_string=query_string,
|
|
6858
6439
|
single_header=single_header,
|
|
6859
6440
|
single_query_argument=single_query_argument,
|
|
6441
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6442
|
+
fallback_behavior="fallbackBehavior"
|
|
6443
|
+
),
|
|
6860
6444
|
uri_path=uri_path
|
|
6861
6445
|
),
|
|
6862
6446
|
size=123,
|
|
@@ -6910,6 +6494,9 @@ class CfnRuleGroup(
|
|
|
6910
6494
|
query_string=query_string,
|
|
6911
6495
|
single_header=single_header,
|
|
6912
6496
|
single_query_argument=single_query_argument,
|
|
6497
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6498
|
+
fallback_behavior="fallbackBehavior"
|
|
6499
|
+
),
|
|
6913
6500
|
uri_path=uri_path
|
|
6914
6501
|
),
|
|
6915
6502
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6965,6 +6552,9 @@ class CfnRuleGroup(
|
|
|
6965
6552
|
query_string=query_string,
|
|
6966
6553
|
single_header=single_header,
|
|
6967
6554
|
single_query_argument=single_query_argument,
|
|
6555
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
6556
|
+
fallback_behavior="fallbackBehavior"
|
|
6557
|
+
),
|
|
6968
6558
|
uri_path=uri_path
|
|
6969
6559
|
),
|
|
6970
6560
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -7513,6 +7103,9 @@ class CfnRuleGroup(
|
|
|
7513
7103
|
query_string=query_string,
|
|
7514
7104
|
single_header=single_header,
|
|
7515
7105
|
single_query_argument=single_query_argument,
|
|
7106
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7107
|
+
fallback_behavior="fallbackBehavior"
|
|
7108
|
+
),
|
|
7516
7109
|
uri_path=uri_path
|
|
7517
7110
|
),
|
|
7518
7111
|
positional_constraint="positionalConstraint",
|
|
@@ -7598,6 +7191,9 @@ class CfnRuleGroup(
|
|
|
7598
7191
|
query_string=query_string,
|
|
7599
7192
|
single_header=single_header,
|
|
7600
7193
|
single_query_argument=single_query_argument,
|
|
7194
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7195
|
+
fallback_behavior="fallbackBehavior"
|
|
7196
|
+
),
|
|
7601
7197
|
uri_path=uri_path
|
|
7602
7198
|
),
|
|
7603
7199
|
regex_string="regexString",
|
|
@@ -7652,6 +7248,9 @@ class CfnRuleGroup(
|
|
|
7652
7248
|
query_string=query_string,
|
|
7653
7249
|
single_header=single_header,
|
|
7654
7250
|
single_query_argument=single_query_argument,
|
|
7251
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7252
|
+
fallback_behavior="fallbackBehavior"
|
|
7253
|
+
),
|
|
7655
7254
|
uri_path=uri_path
|
|
7656
7255
|
),
|
|
7657
7256
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -7705,6 +7304,9 @@ class CfnRuleGroup(
|
|
|
7705
7304
|
query_string=query_string,
|
|
7706
7305
|
single_header=single_header,
|
|
7707
7306
|
single_query_argument=single_query_argument,
|
|
7307
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7308
|
+
fallback_behavior="fallbackBehavior"
|
|
7309
|
+
),
|
|
7708
7310
|
uri_path=uri_path
|
|
7709
7311
|
),
|
|
7710
7312
|
size=123,
|
|
@@ -7758,6 +7360,9 @@ class CfnRuleGroup(
|
|
|
7758
7360
|
query_string=query_string,
|
|
7759
7361
|
single_header=single_header,
|
|
7760
7362
|
single_query_argument=single_query_argument,
|
|
7363
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7364
|
+
fallback_behavior="fallbackBehavior"
|
|
7365
|
+
),
|
|
7761
7366
|
uri_path=uri_path
|
|
7762
7367
|
),
|
|
7763
7368
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -7813,6 +7418,9 @@ class CfnRuleGroup(
|
|
|
7813
7418
|
query_string=query_string,
|
|
7814
7419
|
single_header=single_header,
|
|
7815
7420
|
single_query_argument=single_query_argument,
|
|
7421
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
7422
|
+
fallback_behavior="fallbackBehavior"
|
|
7423
|
+
),
|
|
7816
7424
|
uri_path=uri_path
|
|
7817
7425
|
),
|
|
7818
7426
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -8594,6 +8202,9 @@ class CfnRuleGroup(
|
|
|
8594
8202
|
query_string=query_string,
|
|
8595
8203
|
single_header=single_header,
|
|
8596
8204
|
single_query_argument=single_query_argument,
|
|
8205
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8206
|
+
fallback_behavior="fallbackBehavior"
|
|
8207
|
+
),
|
|
8597
8208
|
uri_path=uri_path
|
|
8598
8209
|
),
|
|
8599
8210
|
regex_string="regexString",
|
|
@@ -8751,6 +8362,9 @@ class CfnRuleGroup(
|
|
|
8751
8362
|
query_string=query_string,
|
|
8752
8363
|
single_header=single_header,
|
|
8753
8364
|
single_query_argument=single_query_argument,
|
|
8365
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8366
|
+
fallback_behavior="fallbackBehavior"
|
|
8367
|
+
),
|
|
8754
8368
|
uri_path=uri_path
|
|
8755
8369
|
),
|
|
8756
8370
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9077,6 +8691,9 @@ class CfnRuleGroup(
|
|
|
9077
8691
|
query_string=query_string,
|
|
9078
8692
|
single_header=single_header,
|
|
9079
8693
|
single_query_argument=single_query_argument,
|
|
8694
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8695
|
+
fallback_behavior="fallbackBehavior"
|
|
8696
|
+
),
|
|
9080
8697
|
uri_path=uri_path
|
|
9081
8698
|
),
|
|
9082
8699
|
positional_constraint="positionalConstraint",
|
|
@@ -9220,6 +8837,9 @@ class CfnRuleGroup(
|
|
|
9220
8837
|
query_string=query_string,
|
|
9221
8838
|
single_header=single_header,
|
|
9222
8839
|
single_query_argument=single_query_argument,
|
|
8840
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8841
|
+
fallback_behavior="fallbackBehavior"
|
|
8842
|
+
),
|
|
9223
8843
|
uri_path=uri_path
|
|
9224
8844
|
),
|
|
9225
8845
|
regex_string="regexString",
|
|
@@ -9274,6 +8894,9 @@ class CfnRuleGroup(
|
|
|
9274
8894
|
query_string=query_string,
|
|
9275
8895
|
single_header=single_header,
|
|
9276
8896
|
single_query_argument=single_query_argument,
|
|
8897
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8898
|
+
fallback_behavior="fallbackBehavior"
|
|
8899
|
+
),
|
|
9277
8900
|
uri_path=uri_path
|
|
9278
8901
|
),
|
|
9279
8902
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9327,6 +8950,9 @@ class CfnRuleGroup(
|
|
|
9327
8950
|
query_string=query_string,
|
|
9328
8951
|
single_header=single_header,
|
|
9329
8952
|
single_query_argument=single_query_argument,
|
|
8953
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
8954
|
+
fallback_behavior="fallbackBehavior"
|
|
8955
|
+
),
|
|
9330
8956
|
uri_path=uri_path
|
|
9331
8957
|
),
|
|
9332
8958
|
size=123,
|
|
@@ -9380,6 +9006,9 @@ class CfnRuleGroup(
|
|
|
9380
9006
|
query_string=query_string,
|
|
9381
9007
|
single_header=single_header,
|
|
9382
9008
|
single_query_argument=single_query_argument,
|
|
9009
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9010
|
+
fallback_behavior="fallbackBehavior"
|
|
9011
|
+
),
|
|
9383
9012
|
uri_path=uri_path
|
|
9384
9013
|
),
|
|
9385
9014
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9435,6 +9064,9 @@ class CfnRuleGroup(
|
|
|
9435
9064
|
query_string=query_string,
|
|
9436
9065
|
single_header=single_header,
|
|
9437
9066
|
single_query_argument=single_query_argument,
|
|
9067
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9068
|
+
fallback_behavior="fallbackBehavior"
|
|
9069
|
+
),
|
|
9438
9070
|
uri_path=uri_path
|
|
9439
9071
|
),
|
|
9440
9072
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9837,6 +9469,9 @@ class CfnRuleGroup(
|
|
|
9837
9469
|
query_string=query_string,
|
|
9838
9470
|
single_header=single_header,
|
|
9839
9471
|
single_query_argument=single_query_argument,
|
|
9472
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9473
|
+
fallback_behavior="fallbackBehavior"
|
|
9474
|
+
),
|
|
9840
9475
|
uri_path=uri_path
|
|
9841
9476
|
),
|
|
9842
9477
|
size=123,
|
|
@@ -10003,6 +9638,9 @@ class CfnRuleGroup(
|
|
|
10003
9638
|
query_string=query_string,
|
|
10004
9639
|
single_header=single_header,
|
|
10005
9640
|
single_query_argument=single_query_argument,
|
|
9641
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9642
|
+
fallback_behavior="fallbackBehavior"
|
|
9643
|
+
),
|
|
10006
9644
|
uri_path=uri_path
|
|
10007
9645
|
),
|
|
10008
9646
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10201,6 +9839,9 @@ class CfnRuleGroup(
|
|
|
10201
9839
|
query_string=query_string,
|
|
10202
9840
|
single_header=single_header,
|
|
10203
9841
|
single_query_argument=single_query_argument,
|
|
9842
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9843
|
+
fallback_behavior="fallbackBehavior"
|
|
9844
|
+
),
|
|
10204
9845
|
uri_path=uri_path
|
|
10205
9846
|
),
|
|
10206
9847
|
positional_constraint="positionalConstraint",
|
|
@@ -10344,6 +9985,9 @@ class CfnRuleGroup(
|
|
|
10344
9985
|
query_string=query_string,
|
|
10345
9986
|
single_header=single_header,
|
|
10346
9987
|
single_query_argument=single_query_argument,
|
|
9988
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
9989
|
+
fallback_behavior="fallbackBehavior"
|
|
9990
|
+
),
|
|
10347
9991
|
uri_path=uri_path
|
|
10348
9992
|
),
|
|
10349
9993
|
regex_string="regexString",
|
|
@@ -10398,6 +10042,9 @@ class CfnRuleGroup(
|
|
|
10398
10042
|
query_string=query_string,
|
|
10399
10043
|
single_header=single_header,
|
|
10400
10044
|
single_query_argument=single_query_argument,
|
|
10045
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10046
|
+
fallback_behavior="fallbackBehavior"
|
|
10047
|
+
),
|
|
10401
10048
|
uri_path=uri_path
|
|
10402
10049
|
),
|
|
10403
10050
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10451,6 +10098,9 @@ class CfnRuleGroup(
|
|
|
10451
10098
|
query_string=query_string,
|
|
10452
10099
|
single_header=single_header,
|
|
10453
10100
|
single_query_argument=single_query_argument,
|
|
10101
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10102
|
+
fallback_behavior="fallbackBehavior"
|
|
10103
|
+
),
|
|
10454
10104
|
uri_path=uri_path
|
|
10455
10105
|
),
|
|
10456
10106
|
size=123,
|
|
@@ -10504,6 +10154,9 @@ class CfnRuleGroup(
|
|
|
10504
10154
|
query_string=query_string,
|
|
10505
10155
|
single_header=single_header,
|
|
10506
10156
|
single_query_argument=single_query_argument,
|
|
10157
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10158
|
+
fallback_behavior="fallbackBehavior"
|
|
10159
|
+
),
|
|
10507
10160
|
uri_path=uri_path
|
|
10508
10161
|
),
|
|
10509
10162
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10559,6 +10212,9 @@ class CfnRuleGroup(
|
|
|
10559
10212
|
query_string=query_string,
|
|
10560
10213
|
single_header=single_header,
|
|
10561
10214
|
single_query_argument=single_query_argument,
|
|
10215
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10216
|
+
fallback_behavior="fallbackBehavior"
|
|
10217
|
+
),
|
|
10562
10218
|
uri_path=uri_path
|
|
10563
10219
|
),
|
|
10564
10220
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10915,6 +10571,78 @@ class CfnRuleGroup(
|
|
|
10915
10571
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
10916
10572
|
)
|
|
10917
10573
|
|
|
10574
|
+
@jsii.data_type(
|
|
10575
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.UriFragmentProperty",
|
|
10576
|
+
jsii_struct_bases=[],
|
|
10577
|
+
name_mapping={"fallback_behavior": "fallbackBehavior"},
|
|
10578
|
+
)
|
|
10579
|
+
class UriFragmentProperty:
|
|
10580
|
+
def __init__(
|
|
10581
|
+
self,
|
|
10582
|
+
*,
|
|
10583
|
+
fallback_behavior: typing.Optional[builtins.str] = None,
|
|
10584
|
+
) -> None:
|
|
10585
|
+
'''Inspect fragments of the request URI.
|
|
10586
|
+
|
|
10587
|
+
You can specify the parts of the URI fragment to inspect and you can narrow the set of URI fragments to inspect by including or excluding specific keys.
|
|
10588
|
+
|
|
10589
|
+
This is used to indicate the web request component to inspect, in the ``FieldToMatch`` specification.
|
|
10590
|
+
|
|
10591
|
+
Example JSON: ``"UriFragment": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }``
|
|
10592
|
+
|
|
10593
|
+
:param fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. Example JSON: ``{ "UriFragment": { "FallbackBehavior": "MATCH"} }`` .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
10594
|
+
|
|
10595
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-urifragment.html
|
|
10596
|
+
:exampleMetadata: fixture=_generated
|
|
10597
|
+
|
|
10598
|
+
Example::
|
|
10599
|
+
|
|
10600
|
+
# The code below shows an example of how to instantiate this type.
|
|
10601
|
+
# The values are placeholders you should change.
|
|
10602
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
10603
|
+
|
|
10604
|
+
uri_fragment_property = wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10605
|
+
fallback_behavior="fallbackBehavior"
|
|
10606
|
+
)
|
|
10607
|
+
'''
|
|
10608
|
+
if __debug__:
|
|
10609
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fe1c476d259659923a1664b8e966720fc48cf48f725562b81ef2c02997f8998a)
|
|
10610
|
+
check_type(argname="argument fallback_behavior", value=fallback_behavior, expected_type=type_hints["fallback_behavior"])
|
|
10611
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10612
|
+
if fallback_behavior is not None:
|
|
10613
|
+
self._values["fallback_behavior"] = fallback_behavior
|
|
10614
|
+
|
|
10615
|
+
@builtins.property
|
|
10616
|
+
def fallback_behavior(self) -> typing.Optional[builtins.str]:
|
|
10617
|
+
'''What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:.
|
|
10618
|
+
|
|
10619
|
+
- ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
|
|
10620
|
+
- ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.
|
|
10621
|
+
- ``NO_MATCH`` - Treat the web request as not matching the rule statement.
|
|
10622
|
+
|
|
10623
|
+
If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.
|
|
10624
|
+
|
|
10625
|
+
Example JSON: ``{ "UriFragment": { "FallbackBehavior": "MATCH"} }``
|
|
10626
|
+
.. epigraph::
|
|
10627
|
+
|
|
10628
|
+
AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
10629
|
+
|
|
10630
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-urifragment.html#cfn-wafv2-rulegroup-urifragment-fallbackbehavior
|
|
10631
|
+
'''
|
|
10632
|
+
result = self._values.get("fallback_behavior")
|
|
10633
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
10634
|
+
|
|
10635
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10636
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10637
|
+
|
|
10638
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10639
|
+
return not (rhs == self)
|
|
10640
|
+
|
|
10641
|
+
def __repr__(self) -> str:
|
|
10642
|
+
return "UriFragmentProperty(%s)" % ", ".join(
|
|
10643
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
10644
|
+
)
|
|
10645
|
+
|
|
10918
10646
|
@jsii.data_type(
|
|
10919
10647
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.VisibilityConfigProperty",
|
|
10920
10648
|
jsii_struct_bases=[],
|
|
@@ -11077,636 +10805,144 @@ class CfnRuleGroup(
|
|
|
11077
10805
|
match_scope="matchScope",
|
|
11078
10806
|
oversize_handling="oversizeHandling"
|
|
11079
10807
|
),
|
|
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
|
|
10808
|
+
headers=wafv2.CfnRuleGroup.HeadersProperty(
|
|
10809
|
+
match_pattern=wafv2.CfnRuleGroup.HeaderMatchPatternProperty(
|
|
10810
|
+
all=all,
|
|
10811
|
+
excluded_headers=["excludedHeaders"],
|
|
10812
|
+
included_headers=["includedHeaders"]
|
|
11670
10813
|
),
|
|
11671
|
-
|
|
11672
|
-
|
|
11673
|
-
|
|
11674
|
-
|
|
11675
|
-
|
|
11676
|
-
|
|
11677
|
-
|
|
11678
|
-
|
|
11679
|
-
|
|
11680
|
-
|
|
11681
|
-
|
|
11682
|
-
|
|
11683
|
-
|
|
11684
|
-
|
|
11685
|
-
|
|
11686
|
-
|
|
11687
|
-
|
|
11688
|
-
|
|
11689
|
-
|
|
11690
|
-
|
|
11691
|
-
|
|
11692
|
-
|
|
11693
|
-
|
|
11694
|
-
|
|
11695
|
-
|
|
11696
|
-
|
|
11697
|
-
|
|
11698
|
-
|
|
11699
|
-
)
|
|
10814
|
+
match_scope="matchScope",
|
|
10815
|
+
oversize_handling="oversizeHandling"
|
|
10816
|
+
),
|
|
10817
|
+
ja3_fingerprint=wafv2.CfnRuleGroup.JA3FingerprintProperty(
|
|
10818
|
+
fallback_behavior="fallbackBehavior"
|
|
10819
|
+
),
|
|
10820
|
+
ja4_fingerprint=wafv2.CfnRuleGroup.JA4FingerprintProperty(
|
|
10821
|
+
fallback_behavior="fallbackBehavior"
|
|
10822
|
+
),
|
|
10823
|
+
json_body=wafv2.CfnRuleGroup.JsonBodyProperty(
|
|
10824
|
+
match_pattern=wafv2.CfnRuleGroup.JsonMatchPatternProperty(
|
|
10825
|
+
all=all,
|
|
10826
|
+
included_paths=["includedPaths"]
|
|
10827
|
+
),
|
|
10828
|
+
match_scope="matchScope",
|
|
10829
|
+
|
|
10830
|
+
# the properties below are optional
|
|
10831
|
+
invalid_fallback_behavior="invalidFallbackBehavior",
|
|
10832
|
+
oversize_handling="oversizeHandling"
|
|
10833
|
+
),
|
|
10834
|
+
method=method,
|
|
10835
|
+
query_string=query_string,
|
|
10836
|
+
single_header=single_header,
|
|
10837
|
+
single_query_argument=single_query_argument,
|
|
10838
|
+
uri_fragment=wafv2.CfnRuleGroup.UriFragmentProperty(
|
|
10839
|
+
fallback_behavior="fallbackBehavior"
|
|
10840
|
+
),
|
|
10841
|
+
uri_path=uri_path
|
|
11700
10842
|
),
|
|
11701
|
-
|
|
11702
|
-
|
|
10843
|
+
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
10844
|
+
priority=123,
|
|
10845
|
+
type="type"
|
|
11703
10846
|
)]
|
|
11704
|
-
)
|
|
11705
|
-
|
|
11706
|
-
|
|
11707
|
-
|
|
11708
|
-
)
|
|
10847
|
+
)
|
|
10848
|
+
'''
|
|
10849
|
+
if __debug__:
|
|
10850
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e502ec1c8bc4096eb797b55f6c0a1f9c506e23db360770a855cc273d36ce4b4a)
|
|
10851
|
+
check_type(argname="argument field_to_match", value=field_to_match, expected_type=type_hints["field_to_match"])
|
|
10852
|
+
check_type(argname="argument text_transformations", value=text_transformations, expected_type=type_hints["text_transformations"])
|
|
10853
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
10854
|
+
"field_to_match": field_to_match,
|
|
10855
|
+
"text_transformations": text_transformations,
|
|
10856
|
+
}
|
|
10857
|
+
|
|
10858
|
+
@builtins.property
|
|
10859
|
+
def field_to_match(
|
|
10860
|
+
self,
|
|
10861
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"]:
|
|
10862
|
+
'''The part of the web request that you want AWS WAF to inspect.
|
|
10863
|
+
|
|
10864
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch
|
|
10865
|
+
'''
|
|
10866
|
+
result = self._values.get("field_to_match")
|
|
10867
|
+
assert result is not None, "Required property 'field_to_match' is missing"
|
|
10868
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.FieldToMatchProperty"], result)
|
|
10869
|
+
|
|
10870
|
+
@builtins.property
|
|
10871
|
+
def text_transformations(
|
|
10872
|
+
self,
|
|
10873
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]]:
|
|
10874
|
+
'''Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
|
|
10875
|
+
|
|
10876
|
+
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.
|
|
10877
|
+
|
|
10878
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations
|
|
10879
|
+
'''
|
|
10880
|
+
result = self._values.get("text_transformations")
|
|
10881
|
+
assert result is not None, "Required property 'text_transformations' is missing"
|
|
10882
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.TextTransformationProperty"]]], result)
|
|
10883
|
+
|
|
10884
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10885
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10886
|
+
|
|
10887
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10888
|
+
return not (rhs == self)
|
|
10889
|
+
|
|
10890
|
+
def __repr__(self) -> str:
|
|
10891
|
+
return "XssMatchStatementProperty(%s)" % ", ".join(
|
|
10892
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
11709
10893
|
)
|
|
10894
|
+
|
|
10895
|
+
|
|
10896
|
+
@jsii.data_type(
|
|
10897
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroupProps",
|
|
10898
|
+
jsii_struct_bases=[],
|
|
10899
|
+
name_mapping={
|
|
10900
|
+
"capacity": "capacity",
|
|
10901
|
+
"scope": "scope",
|
|
10902
|
+
"visibility_config": "visibilityConfig",
|
|
10903
|
+
"available_labels": "availableLabels",
|
|
10904
|
+
"consumed_labels": "consumedLabels",
|
|
10905
|
+
"custom_response_bodies": "customResponseBodies",
|
|
10906
|
+
"description": "description",
|
|
10907
|
+
"name": "name",
|
|
10908
|
+
"rules": "rules",
|
|
10909
|
+
"tags": "tags",
|
|
10910
|
+
},
|
|
10911
|
+
)
|
|
10912
|
+
class CfnRuleGroupProps:
|
|
10913
|
+
def __init__(
|
|
10914
|
+
self,
|
|
10915
|
+
*,
|
|
10916
|
+
capacity: jsii.Number,
|
|
10917
|
+
scope: builtins.str,
|
|
10918
|
+
visibility_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.VisibilityConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
10919
|
+
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,
|
|
10920
|
+
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,
|
|
10921
|
+
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,
|
|
10922
|
+
description: typing.Optional[builtins.str] = None,
|
|
10923
|
+
name: typing.Optional[builtins.str] = None,
|
|
10924
|
+
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
10925
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
10926
|
+
) -> None:
|
|
10927
|
+
'''Properties for defining a ``CfnRuleGroup``.
|
|
10928
|
+
|
|
10929
|
+
: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.
|
|
10930
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
10931
|
+
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
10932
|
+
: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`` .
|
|
10933
|
+
: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.
|
|
10934
|
+
: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* .
|
|
10935
|
+
:param description: A description of the rule group that helps with identification.
|
|
10936
|
+
:param name: The name of the rule group. You cannot change the name of a rule group after you create it.
|
|
10937
|
+
: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.
|
|
10938
|
+
: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.
|
|
10939
|
+
|
|
10940
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html
|
|
10941
|
+
:exampleMetadata: fixture=_generated
|
|
10942
|
+
|
|
10943
|
+
Example::
|
|
10944
|
+
|
|
10945
|
+
|
|
11710
10946
|
'''
|
|
11711
10947
|
if __debug__:
|
|
11712
10948
|
type_hints = typing.get_type_hints(_typecheckingstub__c8dfa44d9c30297c12ad00bd34bbd4b85ea5438f4127e7e97226c16565c6ef5b)
|
|
@@ -11758,7 +10994,7 @@ class CfnRuleGroupProps:
|
|
|
11758
10994
|
def scope(self) -> builtins.str:
|
|
11759
10995
|
'''Specifies whether this is for an Amazon CloudFront distribution or for a regional application.
|
|
11760
10996
|
|
|
11761
|
-
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`` .
|
|
10997
|
+
For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
11762
10998
|
.. epigraph::
|
|
11763
10999
|
|
|
11764
11000
|
For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` .
|
|
@@ -11899,7 +11135,7 @@ class CfnWebACL(
|
|
|
11899
11135
|
|
|
11900
11136
|
The rules in a web ACL can be a combination of explicitly defined rules and rule groups that you reference from the web ACL. The rule groups can be rule groups that you manage or rule groups that are managed by others.
|
|
11901
11137
|
|
|
11902
|
-
You can associate a web ACL with one or more AWS resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer , an AWS AppSync GraphQL API , an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance.
|
|
11138
|
+
You can associate a web ACL with one or more AWS resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer , an AWS AppSync GraphQL API , an Amazon Cognito user pool, an AWS App Runner service, an AWS Amplify application, or an AWS Verified Access instance.
|
|
11903
11139
|
|
|
11904
11140
|
For more information, see `Web access control lists (web ACLs) <https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html>`_ in the *AWS WAF developer guide* .
|
|
11905
11141
|
|
|
@@ -11945,7 +11181,7 @@ class CfnWebACL(
|
|
|
11945
11181
|
:param scope_: Scope in which this resource is defined.
|
|
11946
11182
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
11947
11183
|
:param default_action: The action to perform if none of the ``Rules`` contained in the ``WebACL`` match.
|
|
11948
|
-
: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`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
11184
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
11949
11185
|
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
11950
11186
|
:param association_config: Specifies custom configurations for the associations between the web ACL and protected resources. Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes). .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
11951
11187
|
:param captcha_config: Specifies how AWS WAF should handle ``CAPTCHA`` evaluations for rules that don't have their own ``CaptchaConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``CaptchaConfig`` .
|
|
@@ -12987,7 +12223,7 @@ class CfnWebACL(
|
|
|
12987
12223
|
|
|
12988
12224
|
This is used to indicate the web request component to inspect, in the ``FieldToMatch`` specification.
|
|
12989
12225
|
|
|
12990
|
-
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
12226
|
+
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
12991
12227
|
|
|
12992
12228
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-body.html
|
|
12993
12229
|
:exampleMetadata: fixture=_generated
|
|
@@ -13017,6 +12253,7 @@ class CfnWebACL(
|
|
|
13017
12253
|
|
|
13018
12254
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
13019
12255
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
12256
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
13020
12257
|
|
|
13021
12258
|
The options for oversize handling are the following:
|
|
13022
12259
|
|
|
@@ -13137,6 +12374,9 @@ class CfnWebACL(
|
|
|
13137
12374
|
query_string=query_string,
|
|
13138
12375
|
single_header=single_header,
|
|
13139
12376
|
single_query_argument=single_query_argument,
|
|
12377
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
12378
|
+
fallback_behavior="fallbackBehavior"
|
|
12379
|
+
),
|
|
13140
12380
|
uri_path=uri_path
|
|
13141
12381
|
),
|
|
13142
12382
|
positional_constraint="positionalConstraint",
|
|
@@ -14572,6 +13812,7 @@ class CfnWebACL(
|
|
|
14572
13812
|
"query_string": "queryString",
|
|
14573
13813
|
"single_header": "singleHeader",
|
|
14574
13814
|
"single_query_argument": "singleQueryArgument",
|
|
13815
|
+
"uri_fragment": "uriFragment",
|
|
14575
13816
|
"uri_path": "uriPath",
|
|
14576
13817
|
},
|
|
14577
13818
|
)
|
|
@@ -14590,6 +13831,7 @@ class CfnWebACL(
|
|
|
14590
13831
|
query_string: typing.Any = None,
|
|
14591
13832
|
single_header: typing.Any = None,
|
|
14592
13833
|
single_query_argument: typing.Any = None,
|
|
13834
|
+
uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.UriFragmentProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
14593
13835
|
uri_path: typing.Any = None,
|
|
14594
13836
|
) -> None:
|
|
14595
13837
|
'''Specifies a web request component to be used in a rule match statement or in a logging configuration.
|
|
@@ -14610,16 +13852,17 @@ class CfnWebACL(
|
|
|
14610
13852
|
- If you have request sampling enabled, the redacted fields configuration for logging has no impact on sampling. You can only exclude fields from request sampling by disabling sampling in the web ACL visibility configuration or by configuring data protection for the web ACL.
|
|
14611
13853
|
|
|
14612
13854
|
:param all_query_arguments: Inspect all query arguments.
|
|
14613
|
-
:param body: Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
13855
|
+
:param body: Inspect the request body as plain text. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
14614
13856
|
:param cookies: Inspect the request cookies. You must configure scope and pattern matching filters in the ``Cookies`` object, to define the set of cookies and the parts of the cookies that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's cookies and only the first 200 cookies are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize cookie content in the ``Cookies`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
14615
13857
|
:param headers: Inspect the request headers. You must configure scope and pattern matching filters in the ``Headers`` object, to define the set of headers to and the parts of the headers that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's headers and only the first 200 headers are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize header content in the ``Headers`` object. AWS WAF applies the pattern matching filters to the headers that it receives from the underlying host service.
|
|
14616
13858
|
:param ja3_fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. AWS WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information. .. epigraph:: You can use this choice only with a string match ``ByteMatchStatement`` with the ``PositionalConstraint`` set to ``EXACTLY`` . You can obtain the JA3 fingerprint for client requests from the web ACL logs. If AWS WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see `Log fields <https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html>`_ in the *AWS WAF Developer Guide* . Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
|
|
14617
13859
|
:param ja4_fingerprint: Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA4 fingerprint. The JA4 fingerprint is a 36-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. AWS WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information. .. epigraph:: You can use this choice only with a string match ``ByteMatchStatement`` with the ``PositionalConstraint`` set to ``EXACTLY`` . You can obtain the JA4 fingerprint for client requests from the web ACL logs. If AWS WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see `Log fields <https://docs.aws.amazon.com/waf/latest/developerguide/logging-fields.html>`_ in the *AWS WAF Developer Guide* . Provide the JA4 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.
|
|
14618
|
-
:param json_body: Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
13860
|
+
:param json_body: Inspect the request body as JSON. The request body immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
14619
13861
|
:param method: Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.
|
|
14620
13862
|
:param query_string: Inspect the query string. This is the part of a URL that appears after a ``?`` character, if any.
|
|
14621
13863
|
: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
13864
|
: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" }``
|
|
13865
|
+
:param uri_fragment: Inspect fragments of the request URI. You must configure scope and pattern matching filters in the ``UriFragment`` object, to define the fragment of a URI that AWS WAF inspects. Only the first 8 KB (8192 bytes) of a request's URI fragments and only the first 200 URI fragments are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the ``UriFragment`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
14623
13866
|
: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
13867
|
|
|
14625
13868
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html
|
|
@@ -14683,6 +13926,9 @@ class CfnWebACL(
|
|
|
14683
13926
|
query_string=query_string,
|
|
14684
13927
|
single_header=single_header,
|
|
14685
13928
|
single_query_argument=single_query_argument,
|
|
13929
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
13930
|
+
fallback_behavior="fallbackBehavior"
|
|
13931
|
+
),
|
|
14686
13932
|
uri_path=uri_path
|
|
14687
13933
|
)
|
|
14688
13934
|
'''
|
|
@@ -14699,6 +13945,7 @@ class CfnWebACL(
|
|
|
14699
13945
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
14700
13946
|
check_type(argname="argument single_header", value=single_header, expected_type=type_hints["single_header"])
|
|
14701
13947
|
check_type(argname="argument single_query_argument", value=single_query_argument, expected_type=type_hints["single_query_argument"])
|
|
13948
|
+
check_type(argname="argument uri_fragment", value=uri_fragment, expected_type=type_hints["uri_fragment"])
|
|
14702
13949
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
14703
13950
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
14704
13951
|
if all_query_arguments is not None:
|
|
@@ -14723,6 +13970,8 @@ class CfnWebACL(
|
|
|
14723
13970
|
self._values["single_header"] = single_header
|
|
14724
13971
|
if single_query_argument is not None:
|
|
14725
13972
|
self._values["single_query_argument"] = single_query_argument
|
|
13973
|
+
if uri_fragment is not None:
|
|
13974
|
+
self._values["uri_fragment"] = uri_fragment
|
|
14726
13975
|
if uri_path is not None:
|
|
14727
13976
|
self._values["uri_path"] = uri_path
|
|
14728
13977
|
|
|
@@ -14747,6 +13996,7 @@ class CfnWebACL(
|
|
|
14747
13996
|
|
|
14748
13997
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
14749
13998
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
13999
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
14750
14000
|
|
|
14751
14001
|
For information about how to handle oversized request bodies, see the ``Body`` object configuration.
|
|
14752
14002
|
|
|
@@ -14837,6 +14087,7 @@ class CfnWebACL(
|
|
|
14837
14087
|
|
|
14838
14088
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
14839
14089
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
14090
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
14840
14091
|
|
|
14841
14092
|
For information about how to handle oversized request bodies, see the ``JsonBody`` object configuration.
|
|
14842
14093
|
|
|
@@ -14895,6 +14146,21 @@ class CfnWebACL(
|
|
|
14895
14146
|
result = self._values.get("single_query_argument")
|
|
14896
14147
|
return typing.cast(typing.Any, result)
|
|
14897
14148
|
|
|
14149
|
+
@builtins.property
|
|
14150
|
+
def uri_fragment(
|
|
14151
|
+
self,
|
|
14152
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.UriFragmentProperty"]]:
|
|
14153
|
+
'''Inspect fragments of the request URI.
|
|
14154
|
+
|
|
14155
|
+
You must configure scope and pattern matching filters in the ``UriFragment`` object, to define the fragment of a URI that AWS WAF inspects.
|
|
14156
|
+
|
|
14157
|
+
Only the first 8 KB (8192 bytes) of a request's URI fragments and only the first 200 URI fragments are forwarded to AWS WAF for inspection by the underlying host service. You must configure how to handle any oversize URI fragment content in the ``UriFragment`` object. AWS WAF applies the pattern matching filters to the cookies that it receives from the underlying host service.
|
|
14158
|
+
|
|
14159
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-urifragment
|
|
14160
|
+
'''
|
|
14161
|
+
result = self._values.get("uri_fragment")
|
|
14162
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.UriFragmentProperty"]], result)
|
|
14163
|
+
|
|
14898
14164
|
@builtins.property
|
|
14899
14165
|
def uri_path(self) -> typing.Any:
|
|
14900
14166
|
'''Inspect the request URI path.
|
|
@@ -15838,7 +15104,7 @@ class CfnWebACL(
|
|
|
15838
15104
|
:param match_pattern: The patterns to look for in the JSON body. AWS WAF inspects the results of these pattern matches against the rule inspection criteria.
|
|
15839
15105
|
:param match_scope: The parts of the JSON to match against using the ``MatchPattern`` . If you specify ``ALL`` , AWS WAF matches against keys and values. ``All`` does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical ``AND`` statement to combine two match rules, one that inspects the keys and another that inspects the values.
|
|
15840
15106
|
:param invalid_fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
15841
|
-
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
15107
|
+
:param oversize_handling: What AWS WAF should do if the body is larger than AWS WAF can inspect. AWS WAF does not support inspecting the entire contents of the web request body if the body exceeds the limit for the resource type. When a web request body is larger than the limit, the underlying host service only forwards the contents that are within the limit to AWS WAF for inspection. - For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes). - For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees. - For AWS Amplify , use the CloudFront limit. The options for oversize handling are the following: - ``CONTINUE`` - Inspect the available body contents normally, according to the rule inspection criteria. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. You can combine the ``MATCH`` or ``NO_MATCH`` settings for oversize handling with your rule and web ACL action settings, so that you block any request whose body is over the limit. Default: ``CONTINUE``
|
|
15842
15108
|
|
|
15843
15109
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-jsonbody.html
|
|
15844
15110
|
:exampleMetadata: fixture=_generated
|
|
@@ -15932,6 +15198,7 @@ class CfnWebACL(
|
|
|
15932
15198
|
|
|
15933
15199
|
- For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
15934
15200
|
- For CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified Access, the default limit is 16 KB (16,384 bytes), and you can increase the limit for each resource type in the web ACL ``AssociationConfig`` , for additional processing fees.
|
|
15201
|
+
- For AWS Amplify , use the CloudFront limit.
|
|
15935
15202
|
|
|
15936
15203
|
The options for oversize handling are the following:
|
|
15937
15204
|
|
|
@@ -17983,6 +17250,9 @@ class CfnWebACL(
|
|
|
17983
17250
|
query_string=query_string,
|
|
17984
17251
|
single_header=single_header,
|
|
17985
17252
|
single_query_argument=single_query_argument,
|
|
17253
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
17254
|
+
fallback_behavior="fallbackBehavior"
|
|
17255
|
+
),
|
|
17986
17256
|
uri_path=uri_path
|
|
17987
17257
|
),
|
|
17988
17258
|
regex_string="regexString",
|
|
@@ -18140,6 +17410,9 @@ class CfnWebACL(
|
|
|
18140
17410
|
query_string=query_string,
|
|
18141
17411
|
single_header=single_header,
|
|
18142
17412
|
single_query_argument=single_query_argument,
|
|
17413
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
17414
|
+
fallback_behavior="fallbackBehavior"
|
|
17415
|
+
),
|
|
18143
17416
|
uri_path=uri_path
|
|
18144
17417
|
),
|
|
18145
17418
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -20055,6 +19328,9 @@ class CfnWebACL(
|
|
|
20055
19328
|
query_string=query_string,
|
|
20056
19329
|
single_header=single_header,
|
|
20057
19330
|
single_query_argument=single_query_argument,
|
|
19331
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
19332
|
+
fallback_behavior="fallbackBehavior"
|
|
19333
|
+
),
|
|
20058
19334
|
uri_path=uri_path
|
|
20059
19335
|
),
|
|
20060
19336
|
size=123,
|
|
@@ -20221,6 +19497,9 @@ class CfnWebACL(
|
|
|
20221
19497
|
query_string=query_string,
|
|
20222
19498
|
single_header=single_header,
|
|
20223
19499
|
single_query_argument=single_query_argument,
|
|
19500
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
19501
|
+
fallback_behavior="fallbackBehavior"
|
|
19502
|
+
),
|
|
20224
19503
|
uri_path=uri_path
|
|
20225
19504
|
),
|
|
20226
19505
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -20748,6 +20027,78 @@ class CfnWebACL(
|
|
|
20748
20027
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
20749
20028
|
)
|
|
20750
20029
|
|
|
20030
|
+
@jsii.data_type(
|
|
20031
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.UriFragmentProperty",
|
|
20032
|
+
jsii_struct_bases=[],
|
|
20033
|
+
name_mapping={"fallback_behavior": "fallbackBehavior"},
|
|
20034
|
+
)
|
|
20035
|
+
class UriFragmentProperty:
|
|
20036
|
+
def __init__(
|
|
20037
|
+
self,
|
|
20038
|
+
*,
|
|
20039
|
+
fallback_behavior: typing.Optional[builtins.str] = None,
|
|
20040
|
+
) -> None:
|
|
20041
|
+
'''Inspect fragments of the request URI.
|
|
20042
|
+
|
|
20043
|
+
You can specify the parts of the URI fragment to inspect and you can narrow the set of URI fragments to inspect by including or excluding specific keys.
|
|
20044
|
+
|
|
20045
|
+
This is used to indicate the web request component to inspect, in the ``FieldToMatch`` specification.
|
|
20046
|
+
|
|
20047
|
+
Example JSON: ``"UriFragment": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }``
|
|
20048
|
+
|
|
20049
|
+
:param fallback_behavior: What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:. - ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string. - ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request. - ``NO_MATCH`` - Treat the web request as not matching the rule statement. If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters. Example JSON: ``{ "UriFragment": { "FallbackBehavior": "MATCH"} }`` .. epigraph:: AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
20050
|
+
|
|
20051
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-urifragment.html
|
|
20052
|
+
:exampleMetadata: fixture=_generated
|
|
20053
|
+
|
|
20054
|
+
Example::
|
|
20055
|
+
|
|
20056
|
+
# The code below shows an example of how to instantiate this type.
|
|
20057
|
+
# The values are placeholders you should change.
|
|
20058
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
20059
|
+
|
|
20060
|
+
uri_fragment_property = wafv2.CfnWebACL.UriFragmentProperty(
|
|
20061
|
+
fallback_behavior="fallbackBehavior"
|
|
20062
|
+
)
|
|
20063
|
+
'''
|
|
20064
|
+
if __debug__:
|
|
20065
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ff710cae8471ff92b17239c2eddf3d9fc58fc160b82b4603e07b06b6dc3a6dd1)
|
|
20066
|
+
check_type(argname="argument fallback_behavior", value=fallback_behavior, expected_type=type_hints["fallback_behavior"])
|
|
20067
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
20068
|
+
if fallback_behavior is not None:
|
|
20069
|
+
self._values["fallback_behavior"] = fallback_behavior
|
|
20070
|
+
|
|
20071
|
+
@builtins.property
|
|
20072
|
+
def fallback_behavior(self) -> typing.Optional[builtins.str]:
|
|
20073
|
+
'''What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:.
|
|
20074
|
+
|
|
20075
|
+
- ``EVALUATE_AS_STRING`` - Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
|
|
20076
|
+
- ``MATCH`` - Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.
|
|
20077
|
+
- ``NO_MATCH`` - Treat the web request as not matching the rule statement.
|
|
20078
|
+
|
|
20079
|
+
If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.
|
|
20080
|
+
|
|
20081
|
+
Example JSON: ``{ "UriFragment": { "FallbackBehavior": "MATCH"} }``
|
|
20082
|
+
.. epigraph::
|
|
20083
|
+
|
|
20084
|
+
AWS WAF parsing doesn't fully validate the input JSON string, so parsing can succeed even for invalid JSON. When parsing succeeds, AWS WAF doesn't apply the fallback behavior. For more information, see `JSON body <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-fields-list.html#waf-rule-statement-request-component-json-body>`_ in the *AWS WAF Developer Guide* .
|
|
20085
|
+
|
|
20086
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-urifragment.html#cfn-wafv2-webacl-urifragment-fallbackbehavior
|
|
20087
|
+
'''
|
|
20088
|
+
result = self._values.get("fallback_behavior")
|
|
20089
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
20090
|
+
|
|
20091
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
20092
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
20093
|
+
|
|
20094
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
20095
|
+
return not (rhs == self)
|
|
20096
|
+
|
|
20097
|
+
def __repr__(self) -> str:
|
|
20098
|
+
return "UriFragmentProperty(%s)" % ", ".join(
|
|
20099
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
20100
|
+
)
|
|
20101
|
+
|
|
20751
20102
|
@jsii.data_type(
|
|
20752
20103
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.VisibilityConfigProperty",
|
|
20753
20104
|
jsii_struct_bases=[],
|
|
@@ -20940,6 +20291,9 @@ class CfnWebACL(
|
|
|
20940
20291
|
query_string=query_string,
|
|
20941
20292
|
single_header=single_header,
|
|
20942
20293
|
single_query_argument=single_query_argument,
|
|
20294
|
+
uri_fragment=wafv2.CfnWebACL.UriFragmentProperty(
|
|
20295
|
+
fallback_behavior="fallbackBehavior"
|
|
20296
|
+
),
|
|
20943
20297
|
uri_path=uri_path
|
|
20944
20298
|
),
|
|
20945
20299
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -21007,7 +20361,7 @@ class CfnWebACLAssociation(
|
|
|
21007
20361
|
|
|
21008
20362
|
For information, including how to migrate your AWS WAF resources from the prior release, see the `AWS WAF developer guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
21009
20363
|
|
|
21010
|
-
Use a web ACL association to define an association between a web ACL and a regional application resource, to protect the resource. 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.
|
|
20364
|
+
Use a web ACL association to define an association between a web ACL and a regional application resource, to protect the resource. 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, an AWS Amplify application, or an AWS Verified Access instance.
|
|
21011
20365
|
|
|
21012
20366
|
For Amazon CloudFront , don't use this resource. Instead, use your CloudFront distribution configuration. To associate a web ACL with a distribution, provide the Amazon Resource Name (ARN) of the ``WebACL`` to your CloudFront distribution configuration. To disassociate a web ACL, provide an empty ARN. For information, see `AWS::CloudFront::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html>`_ .
|
|
21013
20367
|
|
|
@@ -21054,7 +20408,7 @@ class CfnWebACLAssociation(
|
|
|
21054
20408
|
'''
|
|
21055
20409
|
:param scope: Scope in which this resource is defined.
|
|
21056
20410
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
21057
|
-
:param resource_arn: The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: - For an Application Load Balancer: ``arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`` - For an Amazon API Gateway REST API: ``arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`` - For an AWS AppSync GraphQL API: ``arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`` - For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`` - For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`` - For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*``
|
|
20411
|
+
:param resource_arn: The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: - For an Application Load Balancer: ``arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`` - For an Amazon API Gateway REST API: ``arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`` - For an AWS AppSync GraphQL API: ``arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`` - For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`` - For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`` - For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*`` - For an AWS Amplify instance: ``arn: *partition* :amplify: *region* : *account-id* :apps/ *app-id*``
|
|
21058
20412
|
:param web_acl_arn: The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.
|
|
21059
20413
|
'''
|
|
21060
20414
|
if __debug__:
|
|
@@ -21143,7 +20497,7 @@ class CfnWebACLAssociationProps:
|
|
|
21143
20497
|
) -> None:
|
|
21144
20498
|
'''Properties for defining a ``CfnWebACLAssociation``.
|
|
21145
20499
|
|
|
21146
|
-
:param resource_arn: The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: - For an Application Load Balancer: ``arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`` - For an Amazon API Gateway REST API: ``arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`` - For an AWS AppSync GraphQL API: ``arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`` - For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`` - For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`` - For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*``
|
|
20500
|
+
:param resource_arn: The Amazon Resource Name (ARN) of the resource to associate with the web ACL. The ARN must be in one of the following formats: - For an Application Load Balancer: ``arn: *partition* :elasticloadbalancing: *region* : *account-id* :loadbalancer/app/ *load-balancer-name* / *load-balancer-id*`` - For an Amazon API Gateway REST API: ``arn: *partition* :apigateway: *region* ::/restapis/ *api-id* /stages/ *stage-name*`` - For an AWS AppSync GraphQL API: ``arn: *partition* :appsync: *region* : *account-id* :apis/ *GraphQLApiId*`` - For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*`` - For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*`` - For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*`` - For an AWS Amplify instance: ``arn: *partition* :amplify: *region* : *account-id* :apps/ *app-id*``
|
|
21147
20501
|
:param web_acl_arn: The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.
|
|
21148
20502
|
|
|
21149
20503
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html
|
|
@@ -21182,6 +20536,7 @@ class CfnWebACLAssociationProps:
|
|
|
21182
20536
|
- For an Amazon Cognito user pool: ``arn: *partition* :cognito-idp: *region* : *account-id* :userpool/ *user-pool-id*``
|
|
21183
20537
|
- For an AWS App Runner service: ``arn: *partition* :apprunner: *region* : *account-id* :service/ *apprunner-service-name* / *apprunner-service-id*``
|
|
21184
20538
|
- For an AWS Verified Access instance: ``arn: *partition* :ec2: *region* : *account-id* :verified-access-instance/ *instance-id*``
|
|
20539
|
+
- For an AWS Amplify instance: ``arn: *partition* :amplify: *region* : *account-id* :apps/ *app-id*``
|
|
21185
20540
|
|
|
21186
20541
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html#cfn-wafv2-webaclassociation-resourcearn
|
|
21187
20542
|
'''
|
|
@@ -21251,7 +20606,7 @@ class CfnWebACLProps:
|
|
|
21251
20606
|
'''Properties for defining a ``CfnWebACL``.
|
|
21252
20607
|
|
|
21253
20608
|
:param default_action: The action to perform if none of the ``Rules`` contained in the ``WebACL`` match.
|
|
21254
|
-
: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`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
20609
|
+
:param scope: Specifies whether this is for an Amazon CloudFront distribution or for a regional application. For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` . For information about how to define the association of the web ACL with your resource, see ``WebACLAssociation`` .
|
|
21255
20610
|
:param visibility_config: Defines and enables Amazon CloudWatch metrics and web request sample collection.
|
|
21256
20611
|
:param association_config: Specifies custom configurations for the associations between the web ACL and protected resources. Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes). .. epigraph:: You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ . For Application Load Balancer and AWS AppSync , the limit is fixed at 8 KB (8,192 bytes).
|
|
21257
20612
|
:param captcha_config: Specifies how AWS WAF should handle ``CAPTCHA`` evaluations for rules that don't have their own ``CaptchaConfig`` settings. If you don't specify this, AWS WAF uses its default settings for ``CaptchaConfig`` .
|
|
@@ -21328,7 +20683,7 @@ class CfnWebACLProps:
|
|
|
21328
20683
|
def scope(self) -> builtins.str:
|
|
21329
20684
|
'''Specifies whether this is for an Amazon CloudFront distribution or for a regional application.
|
|
21330
20685
|
|
|
21331
|
-
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`` .
|
|
20686
|
+
For an AWS Amplify application, use ``CLOUDFRONT`` . 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`` .
|
|
21332
20687
|
.. epigraph::
|
|
21333
20688
|
|
|
21334
20689
|
For ``CLOUDFRONT`` , you must create your WAFv2 resources in the US East (N. Virginia) Region, ``us-east-1`` .
|
|
@@ -22015,6 +21370,7 @@ def _typecheckingstub__dcb790c3130e52c64e6b7cf00db86b37d1b54427689c46b6c9e6a7122
|
|
|
22015
21370
|
query_string: typing.Any = None,
|
|
22016
21371
|
single_header: typing.Any = None,
|
|
22017
21372
|
single_query_argument: typing.Any = None,
|
|
21373
|
+
uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.UriFragmentProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22018
21374
|
uri_path: typing.Any = None,
|
|
22019
21375
|
) -> None:
|
|
22020
21376
|
"""Type checking stubs"""
|
|
@@ -22337,6 +21693,13 @@ def _typecheckingstub__cbdf04ef9e923368f792f61fdb73e804a219fcd9c66ffb20e85214a5a
|
|
|
22337
21693
|
"""Type checking stubs"""
|
|
22338
21694
|
pass
|
|
22339
21695
|
|
|
21696
|
+
def _typecheckingstub__fe1c476d259659923a1664b8e966720fc48cf48f725562b81ef2c02997f8998a(
|
|
21697
|
+
*,
|
|
21698
|
+
fallback_behavior: typing.Optional[builtins.str] = None,
|
|
21699
|
+
) -> None:
|
|
21700
|
+
"""Type checking stubs"""
|
|
21701
|
+
pass
|
|
21702
|
+
|
|
22340
21703
|
def _typecheckingstub__ffc3de9fa9cd77d11c4487ad80fc48948664b917c8642b35ca709762ce71fddf(
|
|
22341
21704
|
*,
|
|
22342
21705
|
cloud_watch_metrics_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
|
|
@@ -22693,6 +22056,7 @@ def _typecheckingstub__25d147c856e9a8fd64f4cc05856e4813e584f37ef787792ad3c4e0790
|
|
|
22693
22056
|
query_string: typing.Any = None,
|
|
22694
22057
|
single_header: typing.Any = None,
|
|
22695
22058
|
single_query_argument: typing.Any = None,
|
|
22059
|
+
uri_fragment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.UriFragmentProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22696
22060
|
uri_path: typing.Any = None,
|
|
22697
22061
|
) -> None:
|
|
22698
22062
|
"""Type checking stubs"""
|
|
@@ -23142,6 +22506,13 @@ def _typecheckingstub__a7a1f13087f44f2554ec3d9d35f967247b32fc5b6c94bf2eacd3379ce
|
|
|
23142
22506
|
"""Type checking stubs"""
|
|
23143
22507
|
pass
|
|
23144
22508
|
|
|
22509
|
+
def _typecheckingstub__ff710cae8471ff92b17239c2eddf3d9fc58fc160b82b4603e07b06b6dc3a6dd1(
|
|
22510
|
+
*,
|
|
22511
|
+
fallback_behavior: typing.Optional[builtins.str] = None,
|
|
22512
|
+
) -> None:
|
|
22513
|
+
"""Type checking stubs"""
|
|
22514
|
+
pass
|
|
22515
|
+
|
|
23145
22516
|
def _typecheckingstub__f805e71e3de782928ad1bdb95c4cddf9f28e9dbda49ae45324c0dc8316955eaa(
|
|
23146
22517
|
*,
|
|
23147
22518
|
cloud_watch_metrics_enabled: typing.Union[builtins.bool, _IResolvable_da3f097b],
|