aws-cdk-lib 2.201.0__py3-none-any.whl → 2.202.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 +24 -24
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.201.0.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
- aws_cdk/aws_athena/__init__.py +12 -11
- aws_cdk/aws_cloudfront/__init__.py +31 -39
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
- aws_cdk/aws_customerprofiles/__init__.py +10 -10
- aws_cdk/aws_ec2/__init__.py +165 -15
- aws_cdk/aws_efs/__init__.py +17 -6
- aws_cdk/aws_eks/__init__.py +180 -158
- aws_cdk/aws_glue/__init__.py +58 -24
- aws_cdk/aws_iam/__init__.py +3 -3
- aws_cdk/aws_kms/__init__.py +10 -4
- aws_cdk/aws_lambda/__init__.py +747 -12
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_msk/__init__.py +21 -2
- aws_cdk/aws_mwaa/__init__.py +45 -2
- aws_cdk/aws_rds/__init__.py +4 -1
- aws_cdk/aws_s3/__init__.py +16 -0
- aws_cdk/aws_sagemaker/__init__.py +8 -8
- aws_cdk/aws_wafv2/__init__.py +734 -8
- aws_cdk/cx_api/__init__.py +14 -0
- aws_cdk/pipelines/__init__.py +147 -38
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +29 -29
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.201.0.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_wafv2/__init__.py
CHANGED
|
@@ -2280,6 +2280,7 @@ class CfnRuleGroup(
|
|
|
2280
2280
|
# all: Any
|
|
2281
2281
|
# all_query_arguments: Any
|
|
2282
2282
|
# and_statement_property_: wafv2.CfnRuleGroup.AndStatementProperty
|
|
2283
|
+
# asn: Any
|
|
2283
2284
|
# forwarded_ip: Any
|
|
2284
2285
|
# http_method: Any
|
|
2285
2286
|
# ip: Any
|
|
@@ -2293,6 +2294,13 @@ class CfnRuleGroup(
|
|
|
2293
2294
|
and_statement_property = wafv2.CfnRuleGroup.AndStatementProperty(
|
|
2294
2295
|
statements=[wafv2.CfnRuleGroup.StatementProperty(
|
|
2295
2296
|
and_statement=and_statement_property_,
|
|
2297
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
2298
|
+
asn_list=[123],
|
|
2299
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
2300
|
+
fallback_behavior="fallbackBehavior",
|
|
2301
|
+
header_name="headerName"
|
|
2302
|
+
)
|
|
2303
|
+
),
|
|
2296
2304
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
2297
2305
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
2298
2306
|
all_query_arguments=all_query_arguments,
|
|
@@ -2386,6 +2394,7 @@ class CfnRuleGroup(
|
|
|
2386
2394
|
|
|
2387
2395
|
# the properties below are optional
|
|
2388
2396
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
2397
|
+
asn=asn,
|
|
2389
2398
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
2390
2399
|
name="name",
|
|
2391
2400
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -2756,6 +2765,83 @@ class CfnRuleGroup(
|
|
|
2756
2765
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
2757
2766
|
)
|
|
2758
2767
|
|
|
2768
|
+
@jsii.data_type(
|
|
2769
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.AsnMatchStatementProperty",
|
|
2770
|
+
jsii_struct_bases=[],
|
|
2771
|
+
name_mapping={
|
|
2772
|
+
"asn_list": "asnList",
|
|
2773
|
+
"forwarded_ip_config": "forwardedIpConfig",
|
|
2774
|
+
},
|
|
2775
|
+
)
|
|
2776
|
+
class AsnMatchStatementProperty:
|
|
2777
|
+
def __init__(
|
|
2778
|
+
self,
|
|
2779
|
+
*,
|
|
2780
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
2781
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2782
|
+
) -> None:
|
|
2783
|
+
'''
|
|
2784
|
+
:param asn_list:
|
|
2785
|
+
:param forwarded_ip_config:
|
|
2786
|
+
|
|
2787
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html
|
|
2788
|
+
:exampleMetadata: fixture=_generated
|
|
2789
|
+
|
|
2790
|
+
Example::
|
|
2791
|
+
|
|
2792
|
+
# The code below shows an example of how to instantiate this type.
|
|
2793
|
+
# The values are placeholders you should change.
|
|
2794
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
2795
|
+
|
|
2796
|
+
asn_match_statement_property = wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
2797
|
+
asn_list=[123],
|
|
2798
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
2799
|
+
fallback_behavior="fallbackBehavior",
|
|
2800
|
+
header_name="headerName"
|
|
2801
|
+
)
|
|
2802
|
+
)
|
|
2803
|
+
'''
|
|
2804
|
+
if __debug__:
|
|
2805
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1b7bfd70c769fabe423acc42aa4ce7a934b8907c56a69421327294c209c8da78)
|
|
2806
|
+
check_type(argname="argument asn_list", value=asn_list, expected_type=type_hints["asn_list"])
|
|
2807
|
+
check_type(argname="argument forwarded_ip_config", value=forwarded_ip_config, expected_type=type_hints["forwarded_ip_config"])
|
|
2808
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2809
|
+
if asn_list is not None:
|
|
2810
|
+
self._values["asn_list"] = asn_list
|
|
2811
|
+
if forwarded_ip_config is not None:
|
|
2812
|
+
self._values["forwarded_ip_config"] = forwarded_ip_config
|
|
2813
|
+
|
|
2814
|
+
@builtins.property
|
|
2815
|
+
def asn_list(
|
|
2816
|
+
self,
|
|
2817
|
+
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
2818
|
+
'''
|
|
2819
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-asnlist
|
|
2820
|
+
'''
|
|
2821
|
+
result = self._values.get("asn_list")
|
|
2822
|
+
return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
|
|
2823
|
+
|
|
2824
|
+
@builtins.property
|
|
2825
|
+
def forwarded_ip_config(
|
|
2826
|
+
self,
|
|
2827
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.ForwardedIPConfigurationProperty"]]:
|
|
2828
|
+
'''
|
|
2829
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-forwardedipconfig
|
|
2830
|
+
'''
|
|
2831
|
+
result = self._values.get("forwarded_ip_config")
|
|
2832
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.ForwardedIPConfigurationProperty"]], result)
|
|
2833
|
+
|
|
2834
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2835
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2836
|
+
|
|
2837
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2838
|
+
return not (rhs == self)
|
|
2839
|
+
|
|
2840
|
+
def __repr__(self) -> str:
|
|
2841
|
+
return "AsnMatchStatementProperty(%s)" % ", ".join(
|
|
2842
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2843
|
+
)
|
|
2844
|
+
|
|
2759
2845
|
@jsii.data_type(
|
|
2760
2846
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.BlockProperty",
|
|
2761
2847
|
jsii_struct_bases=[],
|
|
@@ -5615,6 +5701,7 @@ class CfnRuleGroup(
|
|
|
5615
5701
|
|
|
5616
5702
|
# all: Any
|
|
5617
5703
|
# all_query_arguments: Any
|
|
5704
|
+
# asn: Any
|
|
5618
5705
|
# forwarded_ip: Any
|
|
5619
5706
|
# http_method: Any
|
|
5620
5707
|
# ip: Any
|
|
@@ -5631,6 +5718,13 @@ class CfnRuleGroup(
|
|
|
5631
5718
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
5632
5719
|
statements=[statement_property_]
|
|
5633
5720
|
),
|
|
5721
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
5722
|
+
asn_list=[123],
|
|
5723
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
5724
|
+
fallback_behavior="fallbackBehavior",
|
|
5725
|
+
header_name="headerName"
|
|
5726
|
+
)
|
|
5727
|
+
),
|
|
5634
5728
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
5635
5729
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
5636
5730
|
all_query_arguments=all_query_arguments,
|
|
@@ -5722,6 +5816,7 @@ class CfnRuleGroup(
|
|
|
5722
5816
|
|
|
5723
5817
|
# the properties below are optional
|
|
5724
5818
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
5819
|
+
asn=asn,
|
|
5725
5820
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
5726
5821
|
name="name",
|
|
5727
5822
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6120,6 +6215,7 @@ class CfnRuleGroup(
|
|
|
6120
6215
|
|
|
6121
6216
|
# all: Any
|
|
6122
6217
|
# all_query_arguments: Any
|
|
6218
|
+
# asn: Any
|
|
6123
6219
|
# forwarded_ip: Any
|
|
6124
6220
|
# http_method: Any
|
|
6125
6221
|
# ip: Any
|
|
@@ -6136,6 +6232,13 @@ class CfnRuleGroup(
|
|
|
6136
6232
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
6137
6233
|
statements=[statement_property_]
|
|
6138
6234
|
),
|
|
6235
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
6236
|
+
asn_list=[123],
|
|
6237
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
6238
|
+
fallback_behavior="fallbackBehavior",
|
|
6239
|
+
header_name="headerName"
|
|
6240
|
+
)
|
|
6241
|
+
),
|
|
6139
6242
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
6140
6243
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
6141
6244
|
all_query_arguments=all_query_arguments,
|
|
@@ -6227,6 +6330,7 @@ class CfnRuleGroup(
|
|
|
6227
6330
|
|
|
6228
6331
|
# the properties below are optional
|
|
6229
6332
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
6333
|
+
asn=asn,
|
|
6230
6334
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
6231
6335
|
name="name",
|
|
6232
6336
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6601,6 +6705,7 @@ class CfnRuleGroup(
|
|
|
6601
6705
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty",
|
|
6602
6706
|
jsii_struct_bases=[],
|
|
6603
6707
|
name_mapping={
|
|
6708
|
+
"asn": "asn",
|
|
6604
6709
|
"cookie": "cookie",
|
|
6605
6710
|
"forwarded_ip": "forwardedIp",
|
|
6606
6711
|
"header": "header",
|
|
@@ -6618,6 +6723,7 @@ class CfnRuleGroup(
|
|
|
6618
6723
|
def __init__(
|
|
6619
6724
|
self,
|
|
6620
6725
|
*,
|
|
6726
|
+
asn: typing.Any = None,
|
|
6621
6727
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.RateLimitCookieProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6622
6728
|
forwarded_ip: typing.Any = None,
|
|
6623
6729
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.RateLimitHeaderProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -6636,6 +6742,7 @@ class CfnRuleGroup(
|
|
|
6636
6742
|
|
|
6637
6743
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
6638
6744
|
|
|
6745
|
+
:param asn: Specifies the request's ASN as an aggregate key for a rate-based rule.
|
|
6639
6746
|
:param cookie: Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
|
|
6640
6747
|
:param forwarded_ip: Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying ``FORWARDED_IP`` in your rate-based statement's ``AggregateKeyType`` . With this option, you must specify the header to use in the rate-based rule's ``ForwardedIPConfig`` property.
|
|
6641
6748
|
:param header: Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
|
|
@@ -6657,11 +6764,13 @@ class CfnRuleGroup(
|
|
|
6657
6764
|
# The values are placeholders you should change.
|
|
6658
6765
|
from aws_cdk import aws_wafv2 as wafv2
|
|
6659
6766
|
|
|
6767
|
+
# asn: Any
|
|
6660
6768
|
# forwarded_ip: Any
|
|
6661
6769
|
# http_method: Any
|
|
6662
6770
|
# ip: Any
|
|
6663
6771
|
|
|
6664
6772
|
rate_based_statement_custom_key_property = wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
6773
|
+
asn=asn,
|
|
6665
6774
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
6666
6775
|
name="name",
|
|
6667
6776
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -6711,6 +6820,7 @@ class CfnRuleGroup(
|
|
|
6711
6820
|
'''
|
|
6712
6821
|
if __debug__:
|
|
6713
6822
|
type_hints = typing.get_type_hints(_typecheckingstub__6bc232408309212f7b145d76c0106073269f111e106ab6d74a4d2168f41f248b)
|
|
6823
|
+
check_type(argname="argument asn", value=asn, expected_type=type_hints["asn"])
|
|
6714
6824
|
check_type(argname="argument cookie", value=cookie, expected_type=type_hints["cookie"])
|
|
6715
6825
|
check_type(argname="argument forwarded_ip", value=forwarded_ip, expected_type=type_hints["forwarded_ip"])
|
|
6716
6826
|
check_type(argname="argument header", value=header, expected_type=type_hints["header"])
|
|
@@ -6723,6 +6833,8 @@ class CfnRuleGroup(
|
|
|
6723
6833
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
6724
6834
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
6725
6835
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
6836
|
+
if asn is not None:
|
|
6837
|
+
self._values["asn"] = asn
|
|
6726
6838
|
if cookie is not None:
|
|
6727
6839
|
self._values["cookie"] = cookie
|
|
6728
6840
|
if forwarded_ip is not None:
|
|
@@ -6746,6 +6858,15 @@ class CfnRuleGroup(
|
|
|
6746
6858
|
if uri_path is not None:
|
|
6747
6859
|
self._values["uri_path"] = uri_path
|
|
6748
6860
|
|
|
6861
|
+
@builtins.property
|
|
6862
|
+
def asn(self) -> typing.Any:
|
|
6863
|
+
'''Specifies the request's ASN as an aggregate key for a rate-based rule.
|
|
6864
|
+
|
|
6865
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-asn
|
|
6866
|
+
'''
|
|
6867
|
+
result = self._values.get("asn")
|
|
6868
|
+
return typing.cast(typing.Any, result)
|
|
6869
|
+
|
|
6749
6870
|
@builtins.property
|
|
6750
6871
|
def cookie(
|
|
6751
6872
|
self,
|
|
@@ -6986,6 +7107,7 @@ class CfnRuleGroup(
|
|
|
6986
7107
|
|
|
6987
7108
|
# all: Any
|
|
6988
7109
|
# all_query_arguments: Any
|
|
7110
|
+
# asn: Any
|
|
6989
7111
|
# forwarded_ip: Any
|
|
6990
7112
|
# http_method: Any
|
|
6991
7113
|
# ip: Any
|
|
@@ -7003,6 +7125,7 @@ class CfnRuleGroup(
|
|
|
7003
7125
|
|
|
7004
7126
|
# the properties below are optional
|
|
7005
7127
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
7128
|
+
asn=asn,
|
|
7006
7129
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
7007
7130
|
name="name",
|
|
7008
7131
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -7058,6 +7181,13 @@ class CfnRuleGroup(
|
|
|
7058
7181
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
7059
7182
|
statements=[statement_property_]
|
|
7060
7183
|
),
|
|
7184
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
7185
|
+
asn_list=[123],
|
|
7186
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
7187
|
+
fallback_behavior="fallbackBehavior",
|
|
7188
|
+
header_name="headerName"
|
|
7189
|
+
)
|
|
7190
|
+
),
|
|
7061
7191
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
7062
7192
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
7063
7193
|
all_query_arguments=all_query_arguments,
|
|
@@ -8625,6 +8755,7 @@ class CfnRuleGroup(
|
|
|
8625
8755
|
# all: Any
|
|
8626
8756
|
# allow: Any
|
|
8627
8757
|
# all_query_arguments: Any
|
|
8758
|
+
# asn: Any
|
|
8628
8759
|
# block: Any
|
|
8629
8760
|
# captcha: Any
|
|
8630
8761
|
# challenge: Any
|
|
@@ -8646,6 +8777,13 @@ class CfnRuleGroup(
|
|
|
8646
8777
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
8647
8778
|
statements=[statement_property_]
|
|
8648
8779
|
),
|
|
8780
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
8781
|
+
asn_list=[123],
|
|
8782
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
8783
|
+
fallback_behavior="fallbackBehavior",
|
|
8784
|
+
header_name="headerName"
|
|
8785
|
+
)
|
|
8786
|
+
),
|
|
8649
8787
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
8650
8788
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
8651
8789
|
all_query_arguments=all_query_arguments,
|
|
@@ -8739,6 +8877,7 @@ class CfnRuleGroup(
|
|
|
8739
8877
|
|
|
8740
8878
|
# the properties below are optional
|
|
8741
8879
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
8880
|
+
asn=asn,
|
|
8742
8881
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
8743
8882
|
name="name",
|
|
8744
8883
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -9721,6 +9860,7 @@ class CfnRuleGroup(
|
|
|
9721
9860
|
jsii_struct_bases=[],
|
|
9722
9861
|
name_mapping={
|
|
9723
9862
|
"and_statement": "andStatement",
|
|
9863
|
+
"asn_match_statement": "asnMatchStatement",
|
|
9724
9864
|
"byte_match_statement": "byteMatchStatement",
|
|
9725
9865
|
"geo_match_statement": "geoMatchStatement",
|
|
9726
9866
|
"ip_set_reference_statement": "ipSetReferenceStatement",
|
|
@@ -9740,6 +9880,7 @@ class CfnRuleGroup(
|
|
|
9740
9880
|
self,
|
|
9741
9881
|
*,
|
|
9742
9882
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.AndStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9883
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.AsnMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9743
9884
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.ByteMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9744
9885
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.GeoMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9745
9886
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.IPSetReferenceStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -9756,6 +9897,7 @@ class CfnRuleGroup(
|
|
|
9756
9897
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
9757
9898
|
|
|
9758
9899
|
:param and_statement: A logical rule statement used to combine other rule statements with AND logic. You provide more than one ``Statement`` within the ``AndStatement`` .
|
|
9900
|
+
:param asn_match_statement:
|
|
9759
9901
|
:param byte_match_statement: A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is called a string match statement.
|
|
9760
9902
|
:param geo_match_statement: A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match. - To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the ``CountryCodes`` array. - Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed. AWS WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. AWS WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ``ForwardedIPConfig`` . If you use the web request origin, the label formats are ``awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:clientip:geo:country:<ISO country code>`` . If you use a forwarded IP address, the label formats are ``awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:forwardedip:geo:country:<ISO country code>`` . For additional details, see `Geographic match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
9761
9903
|
:param ip_set_reference_statement: A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an ``IPSet`` that specifies the addresses you want to detect, then use the ARN of that set in this statement. Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
|
|
@@ -9780,6 +9922,7 @@ class CfnRuleGroup(
|
|
|
9780
9922
|
|
|
9781
9923
|
# all: Any
|
|
9782
9924
|
# all_query_arguments: Any
|
|
9925
|
+
# asn: Any
|
|
9783
9926
|
# forwarded_ip: Any
|
|
9784
9927
|
# http_method: Any
|
|
9785
9928
|
# ip: Any
|
|
@@ -9794,6 +9937,13 @@ class CfnRuleGroup(
|
|
|
9794
9937
|
and_statement=wafv2.CfnRuleGroup.AndStatementProperty(
|
|
9795
9938
|
statements=[statement_property_]
|
|
9796
9939
|
),
|
|
9940
|
+
asn_match_statement=wafv2.CfnRuleGroup.AsnMatchStatementProperty(
|
|
9941
|
+
asn_list=[123],
|
|
9942
|
+
forwarded_ip_config=wafv2.CfnRuleGroup.ForwardedIPConfigurationProperty(
|
|
9943
|
+
fallback_behavior="fallbackBehavior",
|
|
9944
|
+
header_name="headerName"
|
|
9945
|
+
)
|
|
9946
|
+
),
|
|
9797
9947
|
byte_match_statement=wafv2.CfnRuleGroup.ByteMatchStatementProperty(
|
|
9798
9948
|
field_to_match=wafv2.CfnRuleGroup.FieldToMatchProperty(
|
|
9799
9949
|
all_query_arguments=all_query_arguments,
|
|
@@ -9887,6 +10037,7 @@ class CfnRuleGroup(
|
|
|
9887
10037
|
|
|
9888
10038
|
# the properties below are optional
|
|
9889
10039
|
custom_keys=[wafv2.CfnRuleGroup.RateBasedStatementCustomKeyProperty(
|
|
10040
|
+
asn=asn,
|
|
9890
10041
|
cookie=wafv2.CfnRuleGroup.RateLimitCookieProperty(
|
|
9891
10042
|
name="name",
|
|
9892
10043
|
text_transformations=[wafv2.CfnRuleGroup.TextTransformationProperty(
|
|
@@ -10227,6 +10378,7 @@ class CfnRuleGroup(
|
|
|
10227
10378
|
if __debug__:
|
|
10228
10379
|
type_hints = typing.get_type_hints(_typecheckingstub__c10bc3e3f69d89ad06f25a44daee62e7de586ae4280e39230f29c24092fe4a4f)
|
|
10229
10380
|
check_type(argname="argument and_statement", value=and_statement, expected_type=type_hints["and_statement"])
|
|
10381
|
+
check_type(argname="argument asn_match_statement", value=asn_match_statement, expected_type=type_hints["asn_match_statement"])
|
|
10230
10382
|
check_type(argname="argument byte_match_statement", value=byte_match_statement, expected_type=type_hints["byte_match_statement"])
|
|
10231
10383
|
check_type(argname="argument geo_match_statement", value=geo_match_statement, expected_type=type_hints["geo_match_statement"])
|
|
10232
10384
|
check_type(argname="argument ip_set_reference_statement", value=ip_set_reference_statement, expected_type=type_hints["ip_set_reference_statement"])
|
|
@@ -10242,6 +10394,8 @@ class CfnRuleGroup(
|
|
|
10242
10394
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
10243
10395
|
if and_statement is not None:
|
|
10244
10396
|
self._values["and_statement"] = and_statement
|
|
10397
|
+
if asn_match_statement is not None:
|
|
10398
|
+
self._values["asn_match_statement"] = asn_match_statement
|
|
10245
10399
|
if byte_match_statement is not None:
|
|
10246
10400
|
self._values["byte_match_statement"] = byte_match_statement
|
|
10247
10401
|
if geo_match_statement is not None:
|
|
@@ -10280,6 +10434,16 @@ class CfnRuleGroup(
|
|
|
10280
10434
|
result = self._values.get("and_statement")
|
|
10281
10435
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AndStatementProperty"]], result)
|
|
10282
10436
|
|
|
10437
|
+
@builtins.property
|
|
10438
|
+
def asn_match_statement(
|
|
10439
|
+
self,
|
|
10440
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AsnMatchStatementProperty"]]:
|
|
10441
|
+
'''
|
|
10442
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-asnmatchstatement
|
|
10443
|
+
'''
|
|
10444
|
+
result = self._values.get("asn_match_statement")
|
|
10445
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AsnMatchStatementProperty"]], result)
|
|
10446
|
+
|
|
10283
10447
|
@builtins.property
|
|
10284
10448
|
def byte_match_statement(
|
|
10285
10449
|
self,
|
|
@@ -11191,7 +11355,7 @@ class CfnWebACL(
|
|
|
11191
11355
|
:param data_protection_config: Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.
|
|
11192
11356
|
:param description: A description of the web ACL that helps with identification.
|
|
11193
11357
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
11194
|
-
:param on_source_d_do_s_protection_config:
|
|
11358
|
+
:param on_source_d_do_s_protection_config: Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
11195
11359
|
:param rules: The rule statements used to identify the web requests that you want to manage. 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.
|
|
11196
11360
|
: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.
|
|
11197
11361
|
:param token_domains: Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
|
|
@@ -11472,6 +11636,7 @@ class CfnWebACL(
|
|
|
11472
11636
|
@builtins.property
|
|
11473
11637
|
@jsii.member(jsii_name="onSourceDDoSProtectionConfig")
|
|
11474
11638
|
def on_source_d_do_s_protection_config(self) -> typing.Any:
|
|
11639
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.'''
|
|
11475
11640
|
return typing.cast(typing.Any, jsii.get(self, "onSourceDDoSProtectionConfig"))
|
|
11476
11641
|
|
|
11477
11642
|
@on_source_d_do_s_protection_config.setter
|
|
@@ -11550,6 +11715,8 @@ class CfnWebACL(
|
|
|
11550
11715
|
|
|
11551
11716
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11552
11717
|
|
|
11718
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
11719
|
+
|
|
11553
11720
|
:param creation_path: The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept ``POST`` requests. For example, for the URL ``https://example.com/web/newaccount`` , you would provide the path ``/web/newaccount`` . Account creation page paths that start with the path that you provide are considered a match. For example ``/web/newaccount`` matches the account creation paths ``/web/newaccount`` , ``/web/newaccount/`` , ``/web/newaccountPage`` , and ``/web/newaccount/thisPage`` , but doesn't match the path ``/home/web/newaccount`` or ``/website/newaccount`` .
|
|
11554
11721
|
:param registration_page_path: The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users. .. epigraph:: This page must accept ``GET`` text/html requests. For example, for the URL ``https://example.com/web/registration`` , you would provide the path ``/web/registration`` . Registration page paths that start with the path that you provide are considered a match. For example ``/web/registration`` matches the registration paths ``/web/registration`` , ``/web/registration/`` , ``/web/registrationPage`` , and ``/web/registration/thisPage`` , but doesn't match the path ``/home/web/registration`` or ``/website/registration`` .
|
|
11555
11722
|
:param request_inspection: The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
|
|
@@ -11735,6 +11902,8 @@ class CfnWebACL(
|
|
|
11735
11902
|
|
|
11736
11903
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11737
11904
|
|
|
11905
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
11906
|
+
|
|
11738
11907
|
:param login_path: The path of the login endpoint for your application. For example, for the URL ``https://example.com/web/login`` , you would provide the path ``/web/login`` . Login paths that start with the path that you provide are considered a match. For example ``/web/login`` matches the login paths ``/web/login`` , ``/web/login/`` , ``/web/loginPage`` , and ``/web/login/thisPage`` , but doesn't match the login path ``/home/web/login`` or ``/website/login`` . The rule group inspects only HTTP ``POST`` requests to your specified login endpoint.
|
|
11739
11908
|
:param enable_regex_in_path: Allow the use of regular expressions in the login page path.
|
|
11740
11909
|
:param request_inspection: The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.
|
|
@@ -11865,6 +12034,93 @@ class CfnWebACL(
|
|
|
11865
12034
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
11866
12035
|
)
|
|
11867
12036
|
|
|
12037
|
+
@jsii.data_type(
|
|
12038
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty",
|
|
12039
|
+
jsii_struct_bases=[],
|
|
12040
|
+
name_mapping={
|
|
12041
|
+
"client_side_action_config": "clientSideActionConfig",
|
|
12042
|
+
"sensitivity_to_block": "sensitivityToBlock",
|
|
12043
|
+
},
|
|
12044
|
+
)
|
|
12045
|
+
class AWSManagedRulesAntiDDoSRuleSetProperty:
|
|
12046
|
+
def __init__(
|
|
12047
|
+
self,
|
|
12048
|
+
*,
|
|
12049
|
+
client_side_action_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
12050
|
+
sensitivity_to_block: typing.Optional[builtins.str] = None,
|
|
12051
|
+
) -> None:
|
|
12052
|
+
'''Configures how to use the AntiDDOS AWS managed rule group in the web ACL.
|
|
12053
|
+
|
|
12054
|
+
:param client_side_action_config: Client side action config for AntiDDOS AMR.
|
|
12055
|
+
:param sensitivity_to_block:
|
|
12056
|
+
|
|
12057
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html
|
|
12058
|
+
:exampleMetadata: fixture=_generated
|
|
12059
|
+
|
|
12060
|
+
Example::
|
|
12061
|
+
|
|
12062
|
+
# The code below shows an example of how to instantiate this type.
|
|
12063
|
+
# The values are placeholders you should change.
|
|
12064
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12065
|
+
|
|
12066
|
+
a_wSManaged_rules_anti_dDo_sRule_set_property = wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty(
|
|
12067
|
+
client_side_action_config=wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
12068
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
12069
|
+
usage_of_action="usageOfAction",
|
|
12070
|
+
|
|
12071
|
+
# the properties below are optional
|
|
12072
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
12073
|
+
regex_string="regexString"
|
|
12074
|
+
)],
|
|
12075
|
+
sensitivity="sensitivity"
|
|
12076
|
+
)
|
|
12077
|
+
),
|
|
12078
|
+
|
|
12079
|
+
# the properties below are optional
|
|
12080
|
+
sensitivity_to_block="sensitivityToBlock"
|
|
12081
|
+
)
|
|
12082
|
+
'''
|
|
12083
|
+
if __debug__:
|
|
12084
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9315d92e3528c134a601f6cf9b27df2b90e082b1e29a17eadf8fbf68ac10e8c4)
|
|
12085
|
+
check_type(argname="argument client_side_action_config", value=client_side_action_config, expected_type=type_hints["client_side_action_config"])
|
|
12086
|
+
check_type(argname="argument sensitivity_to_block", value=sensitivity_to_block, expected_type=type_hints["sensitivity_to_block"])
|
|
12087
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
12088
|
+
"client_side_action_config": client_side_action_config,
|
|
12089
|
+
}
|
|
12090
|
+
if sensitivity_to_block is not None:
|
|
12091
|
+
self._values["sensitivity_to_block"] = sensitivity_to_block
|
|
12092
|
+
|
|
12093
|
+
@builtins.property
|
|
12094
|
+
def client_side_action_config(
|
|
12095
|
+
self,
|
|
12096
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionConfigProperty"]:
|
|
12097
|
+
'''Client side action config for AntiDDOS AMR.
|
|
12098
|
+
|
|
12099
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-clientsideactionconfig
|
|
12100
|
+
'''
|
|
12101
|
+
result = self._values.get("client_side_action_config")
|
|
12102
|
+
assert result is not None, "Required property 'client_side_action_config' is missing"
|
|
12103
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionConfigProperty"], result)
|
|
12104
|
+
|
|
12105
|
+
@builtins.property
|
|
12106
|
+
def sensitivity_to_block(self) -> typing.Optional[builtins.str]:
|
|
12107
|
+
'''
|
|
12108
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-sensitivitytoblock
|
|
12109
|
+
'''
|
|
12110
|
+
result = self._values.get("sensitivity_to_block")
|
|
12111
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
12112
|
+
|
|
12113
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12114
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12115
|
+
|
|
12116
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12117
|
+
return not (rhs == self)
|
|
12118
|
+
|
|
12119
|
+
def __repr__(self) -> str:
|
|
12120
|
+
return "AWSManagedRulesAntiDDoSRuleSetProperty(%s)" % ", ".join(
|
|
12121
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12122
|
+
)
|
|
12123
|
+
|
|
11868
12124
|
@jsii.data_type(
|
|
11869
12125
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AWSManagedRulesBotControlRuleSetProperty",
|
|
11870
12126
|
jsii_struct_bases=[],
|
|
@@ -11884,6 +12140,8 @@ class CfnWebACL(
|
|
|
11884
12140
|
|
|
11885
12141
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11886
12142
|
|
|
12143
|
+
For additional information about this and the other intelligent threat mitigation rule groups, see `Intelligent threat mitigation in AWS WAF <https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections>`_ and `AWS Managed Rules rule groups list <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list>`_ in the *AWS WAF Developer Guide* .
|
|
12144
|
+
|
|
11887
12145
|
:param inspection_level: The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ in the *AWS WAF Developer Guide* .
|
|
11888
12146
|
:param enable_machine_learning: Applies only to the targeted inspection level. Determines whether to use machine learning (ML) to analyze your web traffic for bot-related activity. Machine learning is required for the Bot Control rules ``TGT_ML_CoordinatedActivityLow`` and ``TGT_ML_CoordinatedActivityMedium`` , which inspect for anomalous behavior that might indicate distributed, coordinated bot activity. For more information about this choice, see the listing for these rules in the table at `Bot Control rules listing <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html#aws-managed-rule-groups-bot-rules>`_ in the *AWS WAF Developer Guide* . Default: ``TRUE``
|
|
11889
12147
|
|
|
@@ -12076,6 +12334,83 @@ class CfnWebACL(
|
|
|
12076
12334
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12077
12335
|
)
|
|
12078
12336
|
|
|
12337
|
+
@jsii.data_type(
|
|
12338
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AsnMatchStatementProperty",
|
|
12339
|
+
jsii_struct_bases=[],
|
|
12340
|
+
name_mapping={
|
|
12341
|
+
"asn_list": "asnList",
|
|
12342
|
+
"forwarded_ip_config": "forwardedIpConfig",
|
|
12343
|
+
},
|
|
12344
|
+
)
|
|
12345
|
+
class AsnMatchStatementProperty:
|
|
12346
|
+
def __init__(
|
|
12347
|
+
self,
|
|
12348
|
+
*,
|
|
12349
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
12350
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12351
|
+
) -> None:
|
|
12352
|
+
'''
|
|
12353
|
+
:param asn_list:
|
|
12354
|
+
:param forwarded_ip_config:
|
|
12355
|
+
|
|
12356
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html
|
|
12357
|
+
:exampleMetadata: fixture=_generated
|
|
12358
|
+
|
|
12359
|
+
Example::
|
|
12360
|
+
|
|
12361
|
+
# The code below shows an example of how to instantiate this type.
|
|
12362
|
+
# The values are placeholders you should change.
|
|
12363
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
12364
|
+
|
|
12365
|
+
asn_match_statement_property = wafv2.CfnWebACL.AsnMatchStatementProperty(
|
|
12366
|
+
asn_list=[123],
|
|
12367
|
+
forwarded_ip_config=wafv2.CfnWebACL.ForwardedIPConfigurationProperty(
|
|
12368
|
+
fallback_behavior="fallbackBehavior",
|
|
12369
|
+
header_name="headerName"
|
|
12370
|
+
)
|
|
12371
|
+
)
|
|
12372
|
+
'''
|
|
12373
|
+
if __debug__:
|
|
12374
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8995ed18208bf9dcca46075f2ba4072467a8327472896fee5efcf1415648dfe8)
|
|
12375
|
+
check_type(argname="argument asn_list", value=asn_list, expected_type=type_hints["asn_list"])
|
|
12376
|
+
check_type(argname="argument forwarded_ip_config", value=forwarded_ip_config, expected_type=type_hints["forwarded_ip_config"])
|
|
12377
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
12378
|
+
if asn_list is not None:
|
|
12379
|
+
self._values["asn_list"] = asn_list
|
|
12380
|
+
if forwarded_ip_config is not None:
|
|
12381
|
+
self._values["forwarded_ip_config"] = forwarded_ip_config
|
|
12382
|
+
|
|
12383
|
+
@builtins.property
|
|
12384
|
+
def asn_list(
|
|
12385
|
+
self,
|
|
12386
|
+
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
12387
|
+
'''
|
|
12388
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-asnlist
|
|
12389
|
+
'''
|
|
12390
|
+
result = self._values.get("asn_list")
|
|
12391
|
+
return typing.cast(typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]], result)
|
|
12392
|
+
|
|
12393
|
+
@builtins.property
|
|
12394
|
+
def forwarded_ip_config(
|
|
12395
|
+
self,
|
|
12396
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ForwardedIPConfigurationProperty"]]:
|
|
12397
|
+
'''
|
|
12398
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-forwardedipconfig
|
|
12399
|
+
'''
|
|
12400
|
+
result = self._values.get("forwarded_ip_config")
|
|
12401
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ForwardedIPConfigurationProperty"]], result)
|
|
12402
|
+
|
|
12403
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
12404
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
12405
|
+
|
|
12406
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
12407
|
+
return not (rhs == self)
|
|
12408
|
+
|
|
12409
|
+
def __repr__(self) -> str:
|
|
12410
|
+
return "AsnMatchStatementProperty(%s)" % ", ".join(
|
|
12411
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
12412
|
+
)
|
|
12413
|
+
|
|
12079
12414
|
@jsii.data_type(
|
|
12080
12415
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AssociationConfigProperty",
|
|
12081
12416
|
jsii_struct_bases=[],
|
|
@@ -12805,6 +13140,165 @@ class CfnWebACL(
|
|
|
12805
13140
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12806
13141
|
)
|
|
12807
13142
|
|
|
13143
|
+
@jsii.data_type(
|
|
13144
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ClientSideActionConfigProperty",
|
|
13145
|
+
jsii_struct_bases=[],
|
|
13146
|
+
name_mapping={"challenge": "challenge"},
|
|
13147
|
+
)
|
|
13148
|
+
class ClientSideActionConfigProperty:
|
|
13149
|
+
def __init__(
|
|
13150
|
+
self,
|
|
13151
|
+
*,
|
|
13152
|
+
challenge: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
13153
|
+
) -> None:
|
|
13154
|
+
'''Client side action config for AntiDDOS AMR.
|
|
13155
|
+
|
|
13156
|
+
:param challenge: Client side action config for AntiDDOS AMR.
|
|
13157
|
+
|
|
13158
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html
|
|
13159
|
+
:exampleMetadata: fixture=_generated
|
|
13160
|
+
|
|
13161
|
+
Example::
|
|
13162
|
+
|
|
13163
|
+
# The code below shows an example of how to instantiate this type.
|
|
13164
|
+
# The values are placeholders you should change.
|
|
13165
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
13166
|
+
|
|
13167
|
+
client_side_action_config_property = wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
13168
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
13169
|
+
usage_of_action="usageOfAction",
|
|
13170
|
+
|
|
13171
|
+
# the properties below are optional
|
|
13172
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
13173
|
+
regex_string="regexString"
|
|
13174
|
+
)],
|
|
13175
|
+
sensitivity="sensitivity"
|
|
13176
|
+
)
|
|
13177
|
+
)
|
|
13178
|
+
'''
|
|
13179
|
+
if __debug__:
|
|
13180
|
+
type_hints = typing.get_type_hints(_typecheckingstub__776e223dfae595baf3dc144792b2d7158c77847ddf24785048d19516ebcb955b)
|
|
13181
|
+
check_type(argname="argument challenge", value=challenge, expected_type=type_hints["challenge"])
|
|
13182
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
13183
|
+
"challenge": challenge,
|
|
13184
|
+
}
|
|
13185
|
+
|
|
13186
|
+
@builtins.property
|
|
13187
|
+
def challenge(
|
|
13188
|
+
self,
|
|
13189
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionProperty"]:
|
|
13190
|
+
'''Client side action config for AntiDDOS AMR.
|
|
13191
|
+
|
|
13192
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html#cfn-wafv2-webacl-clientsideactionconfig-challenge
|
|
13193
|
+
'''
|
|
13194
|
+
result = self._values.get("challenge")
|
|
13195
|
+
assert result is not None, "Required property 'challenge' is missing"
|
|
13196
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionProperty"], result)
|
|
13197
|
+
|
|
13198
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
13199
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
13200
|
+
|
|
13201
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
13202
|
+
return not (rhs == self)
|
|
13203
|
+
|
|
13204
|
+
def __repr__(self) -> str:
|
|
13205
|
+
return "ClientSideActionConfigProperty(%s)" % ", ".join(
|
|
13206
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
13207
|
+
)
|
|
13208
|
+
|
|
13209
|
+
@jsii.data_type(
|
|
13210
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.ClientSideActionProperty",
|
|
13211
|
+
jsii_struct_bases=[],
|
|
13212
|
+
name_mapping={
|
|
13213
|
+
"usage_of_action": "usageOfAction",
|
|
13214
|
+
"exempt_uri_regular_expressions": "exemptUriRegularExpressions",
|
|
13215
|
+
"sensitivity": "sensitivity",
|
|
13216
|
+
},
|
|
13217
|
+
)
|
|
13218
|
+
class ClientSideActionProperty:
|
|
13219
|
+
def __init__(
|
|
13220
|
+
self,
|
|
13221
|
+
*,
|
|
13222
|
+
usage_of_action: builtins.str,
|
|
13223
|
+
exempt_uri_regular_expressions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RegexProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
13224
|
+
sensitivity: typing.Optional[builtins.str] = None,
|
|
13225
|
+
) -> None:
|
|
13226
|
+
'''Client side action config for AntiDDOS AMR.
|
|
13227
|
+
|
|
13228
|
+
:param usage_of_action:
|
|
13229
|
+
:param exempt_uri_regular_expressions:
|
|
13230
|
+
:param sensitivity:
|
|
13231
|
+
|
|
13232
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html
|
|
13233
|
+
:exampleMetadata: fixture=_generated
|
|
13234
|
+
|
|
13235
|
+
Example::
|
|
13236
|
+
|
|
13237
|
+
# The code below shows an example of how to instantiate this type.
|
|
13238
|
+
# The values are placeholders you should change.
|
|
13239
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
13240
|
+
|
|
13241
|
+
client_side_action_property = wafv2.CfnWebACL.ClientSideActionProperty(
|
|
13242
|
+
usage_of_action="usageOfAction",
|
|
13243
|
+
|
|
13244
|
+
# the properties below are optional
|
|
13245
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
13246
|
+
regex_string="regexString"
|
|
13247
|
+
)],
|
|
13248
|
+
sensitivity="sensitivity"
|
|
13249
|
+
)
|
|
13250
|
+
'''
|
|
13251
|
+
if __debug__:
|
|
13252
|
+
type_hints = typing.get_type_hints(_typecheckingstub__de331114f33ba80cf8bd042358ad9467ab930574012abea7782f175fd2a7b649)
|
|
13253
|
+
check_type(argname="argument usage_of_action", value=usage_of_action, expected_type=type_hints["usage_of_action"])
|
|
13254
|
+
check_type(argname="argument exempt_uri_regular_expressions", value=exempt_uri_regular_expressions, expected_type=type_hints["exempt_uri_regular_expressions"])
|
|
13255
|
+
check_type(argname="argument sensitivity", value=sensitivity, expected_type=type_hints["sensitivity"])
|
|
13256
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
13257
|
+
"usage_of_action": usage_of_action,
|
|
13258
|
+
}
|
|
13259
|
+
if exempt_uri_regular_expressions is not None:
|
|
13260
|
+
self._values["exempt_uri_regular_expressions"] = exempt_uri_regular_expressions
|
|
13261
|
+
if sensitivity is not None:
|
|
13262
|
+
self._values["sensitivity"] = sensitivity
|
|
13263
|
+
|
|
13264
|
+
@builtins.property
|
|
13265
|
+
def usage_of_action(self) -> builtins.str:
|
|
13266
|
+
'''
|
|
13267
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-usageofaction
|
|
13268
|
+
'''
|
|
13269
|
+
result = self._values.get("usage_of_action")
|
|
13270
|
+
assert result is not None, "Required property 'usage_of_action' is missing"
|
|
13271
|
+
return typing.cast(builtins.str, result)
|
|
13272
|
+
|
|
13273
|
+
@builtins.property
|
|
13274
|
+
def exempt_uri_regular_expressions(
|
|
13275
|
+
self,
|
|
13276
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.RegexProperty"]]]]:
|
|
13277
|
+
'''
|
|
13278
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-exempturiregularexpressions
|
|
13279
|
+
'''
|
|
13280
|
+
result = self._values.get("exempt_uri_regular_expressions")
|
|
13281
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.RegexProperty"]]]], result)
|
|
13282
|
+
|
|
13283
|
+
@builtins.property
|
|
13284
|
+
def sensitivity(self) -> typing.Optional[builtins.str]:
|
|
13285
|
+
'''
|
|
13286
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-sensitivity
|
|
13287
|
+
'''
|
|
13288
|
+
result = self._values.get("sensitivity")
|
|
13289
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
13290
|
+
|
|
13291
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
13292
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
13293
|
+
|
|
13294
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
13295
|
+
return not (rhs == self)
|
|
13296
|
+
|
|
13297
|
+
def __repr__(self) -> str:
|
|
13298
|
+
return "ClientSideActionProperty(%s)" % ", ".join(
|
|
13299
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
13300
|
+
)
|
|
13301
|
+
|
|
12808
13302
|
@jsii.data_type(
|
|
12809
13303
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.CookieMatchPatternProperty",
|
|
12810
13304
|
jsii_struct_bases=[],
|
|
@@ -15456,6 +15950,7 @@ class CfnWebACL(
|
|
|
15456
15950
|
jsii_struct_bases=[],
|
|
15457
15951
|
name_mapping={
|
|
15458
15952
|
"aws_managed_rules_acfp_rule_set": "awsManagedRulesAcfpRuleSet",
|
|
15953
|
+
"aws_managed_rules_anti_d_do_s_rule_set": "awsManagedRulesAntiDDoSRuleSet",
|
|
15459
15954
|
"aws_managed_rules_atp_rule_set": "awsManagedRulesAtpRuleSet",
|
|
15460
15955
|
"aws_managed_rules_bot_control_rule_set": "awsManagedRulesBotControlRuleSet",
|
|
15461
15956
|
"login_path": "loginPath",
|
|
@@ -15469,6 +15964,7 @@ class CfnWebACL(
|
|
|
15469
15964
|
self,
|
|
15470
15965
|
*,
|
|
15471
15966
|
aws_managed_rules_acfp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesACFPRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15967
|
+
aws_managed_rules_anti_d_do_s_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15472
15968
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesATPRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15473
15969
|
aws_managed_rules_bot_control_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesBotControlRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15474
15970
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -15485,6 +15981,7 @@ class CfnWebACL(
|
|
|
15485
15981
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15486
15982
|
|
|
15487
15983
|
:param aws_managed_rules_acfp_rule_set: Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, ``AWSManagedRulesACFPRuleSet`` . Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to account creation requests. For information about using the ACFP managed rule group, see `AWS WAF Fraud Control account creation fraud prevention (ACFP) rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html>`_ and `AWS WAF Fraud Control account creation fraud prevention (ACFP) <https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html>`_ in the *AWS WAF Developer Guide* .
|
|
15984
|
+
:param aws_managed_rules_anti_d_do_s_rule_set: Configures how to use the AntiDDOS AWS managed rule group in the web ACL.
|
|
15488
15985
|
:param aws_managed_rules_atp_rule_set: Additional configuration for using the account takeover prevention (ATP) managed rule group, ``AWSManagedRulesATPRuleSet`` . Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide the information about how your distribution responds to login requests. This configuration replaces the individual configuration fields in ``ManagedRuleGroupConfig`` and provides additional feature configuration. For information about using the ATP managed rule group, see `AWS WAF Fraud Control account takeover prevention (ATP) rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-atp.html>`_ and `AWS WAF Fraud Control account takeover prevention (ATP) <https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html>`_ in the *AWS WAF Developer Guide* .
|
|
15489
15986
|
:param aws_managed_rules_bot_control_rule_set: Additional configuration for using the Bot Control managed rule group. Use this to specify the inspection level that you want to use. For information about using the Bot Control managed rule group, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ and `AWS WAF Bot Control <https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html>`_ in the *AWS WAF Developer Guide* .
|
|
15490
15987
|
:param login_path: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` .
|
|
@@ -15549,6 +16046,22 @@ class CfnWebACL(
|
|
|
15549
16046
|
)
|
|
15550
16047
|
)
|
|
15551
16048
|
),
|
|
16049
|
+
aws_managed_rules_anti_dDo_sRule_set=wafv2.CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty(
|
|
16050
|
+
client_side_action_config=wafv2.CfnWebACL.ClientSideActionConfigProperty(
|
|
16051
|
+
challenge=wafv2.CfnWebACL.ClientSideActionProperty(
|
|
16052
|
+
usage_of_action="usageOfAction",
|
|
16053
|
+
|
|
16054
|
+
# the properties below are optional
|
|
16055
|
+
exempt_uri_regular_expressions=[wafv2.CfnWebACL.RegexProperty(
|
|
16056
|
+
regex_string="regexString"
|
|
16057
|
+
)],
|
|
16058
|
+
sensitivity="sensitivity"
|
|
16059
|
+
)
|
|
16060
|
+
),
|
|
16061
|
+
|
|
16062
|
+
# the properties below are optional
|
|
16063
|
+
sensitivity_to_block="sensitivityToBlock"
|
|
16064
|
+
),
|
|
15552
16065
|
aws_managed_rules_atp_rule_set=wafv2.CfnWebACL.AWSManagedRulesATPRuleSetProperty(
|
|
15553
16066
|
login_path="loginPath",
|
|
15554
16067
|
|
|
@@ -15603,6 +16116,7 @@ class CfnWebACL(
|
|
|
15603
16116
|
if __debug__:
|
|
15604
16117
|
type_hints = typing.get_type_hints(_typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77)
|
|
15605
16118
|
check_type(argname="argument aws_managed_rules_acfp_rule_set", value=aws_managed_rules_acfp_rule_set, expected_type=type_hints["aws_managed_rules_acfp_rule_set"])
|
|
16119
|
+
check_type(argname="argument aws_managed_rules_anti_d_do_s_rule_set", value=aws_managed_rules_anti_d_do_s_rule_set, expected_type=type_hints["aws_managed_rules_anti_d_do_s_rule_set"])
|
|
15606
16120
|
check_type(argname="argument aws_managed_rules_atp_rule_set", value=aws_managed_rules_atp_rule_set, expected_type=type_hints["aws_managed_rules_atp_rule_set"])
|
|
15607
16121
|
check_type(argname="argument aws_managed_rules_bot_control_rule_set", value=aws_managed_rules_bot_control_rule_set, expected_type=type_hints["aws_managed_rules_bot_control_rule_set"])
|
|
15608
16122
|
check_type(argname="argument login_path", value=login_path, expected_type=type_hints["login_path"])
|
|
@@ -15612,6 +16126,8 @@ class CfnWebACL(
|
|
|
15612
16126
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
15613
16127
|
if aws_managed_rules_acfp_rule_set is not None:
|
|
15614
16128
|
self._values["aws_managed_rules_acfp_rule_set"] = aws_managed_rules_acfp_rule_set
|
|
16129
|
+
if aws_managed_rules_anti_d_do_s_rule_set is not None:
|
|
16130
|
+
self._values["aws_managed_rules_anti_d_do_s_rule_set"] = aws_managed_rules_anti_d_do_s_rule_set
|
|
15615
16131
|
if aws_managed_rules_atp_rule_set is not None:
|
|
15616
16132
|
self._values["aws_managed_rules_atp_rule_set"] = aws_managed_rules_atp_rule_set
|
|
15617
16133
|
if aws_managed_rules_bot_control_rule_set is not None:
|
|
@@ -15640,6 +16156,17 @@ class CfnWebACL(
|
|
|
15640
16156
|
result = self._values.get("aws_managed_rules_acfp_rule_set")
|
|
15641
16157
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesACFPRuleSetProperty"]], result)
|
|
15642
16158
|
|
|
16159
|
+
@builtins.property
|
|
16160
|
+
def aws_managed_rules_anti_d_do_s_rule_set(
|
|
16161
|
+
self,
|
|
16162
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty"]]:
|
|
16163
|
+
'''Configures how to use the AntiDDOS AWS managed rule group in the web ACL.
|
|
16164
|
+
|
|
16165
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesantiddosruleset
|
|
16166
|
+
'''
|
|
16167
|
+
result = self._values.get("aws_managed_rules_anti_d_do_s_rule_set")
|
|
16168
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty"]], result)
|
|
16169
|
+
|
|
15643
16170
|
@builtins.property
|
|
15644
16171
|
def aws_managed_rules_atp_rule_set(
|
|
15645
16172
|
self,
|
|
@@ -15766,8 +16293,8 @@ class CfnWebACL(
|
|
|
15766
16293
|
:param name: The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.
|
|
15767
16294
|
:param vendor_name: The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.
|
|
15768
16295
|
:param excluded_rules: Rules in the referenced rule group whose actions are set to ``Count`` . .. epigraph:: Instead of this option, use ``RuleActionOverrides`` . It accepts any valid action setting, including ``Count`` .
|
|
15769
|
-
:param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. The rule groups used for intelligent threat mitigation require additional configuration: - Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15770
|
-
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph::
|
|
16296
|
+
:param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. The rule groups used for intelligent threat mitigation require additional configuration: - Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. - Use the ``AWSManagedRulesAntiDDoSRuleSet`` configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge. - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
16297
|
+
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph:: Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
15771
16298
|
:param scope_down_statement: An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable ``Statement`` in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
|
|
15772
16299
|
:param version: The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, AWS WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.
|
|
15773
16300
|
|
|
@@ -15850,6 +16377,7 @@ class CfnWebACL(
|
|
|
15850
16377
|
The rule groups used for intelligent threat mitigation require additional configuration:
|
|
15851
16378
|
|
|
15852
16379
|
- Use the ``AWSManagedRulesACFPRuleSet`` configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields.
|
|
16380
|
+
- Use the ``AWSManagedRulesAntiDDoSRuleSet`` configuration object to configure the anti-DDoS managed rule group. The configuration includes the sensitivity levels to use in the rules that typically block and challenge requests that might be participating in DDoS attacks and the specification to use to indicate whether a request can handle a silent browser challenge.
|
|
15853
16381
|
- Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.
|
|
15854
16382
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15855
16383
|
|
|
@@ -15867,7 +16395,7 @@ class CfnWebACL(
|
|
|
15867
16395
|
You specify one override for each rule whose action you want to change.
|
|
15868
16396
|
.. epigraph::
|
|
15869
16397
|
|
|
15870
|
-
|
|
16398
|
+
Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.
|
|
15871
16399
|
|
|
15872
16400
|
You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
15873
16401
|
|
|
@@ -15967,6 +16495,57 @@ class CfnWebACL(
|
|
|
15967
16495
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
15968
16496
|
)
|
|
15969
16497
|
|
|
16498
|
+
@jsii.data_type(
|
|
16499
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.OnSourceDDoSProtectionConfigProperty",
|
|
16500
|
+
jsii_struct_bases=[],
|
|
16501
|
+
name_mapping={"alb_low_reputation_mode": "albLowReputationMode"},
|
|
16502
|
+
)
|
|
16503
|
+
class OnSourceDDoSProtectionConfigProperty:
|
|
16504
|
+
def __init__(self, *, alb_low_reputation_mode: builtins.str) -> None:
|
|
16505
|
+
'''Configures the options for on-source DDoS protection provided by supported resource type.
|
|
16506
|
+
|
|
16507
|
+
:param alb_low_reputation_mode:
|
|
16508
|
+
|
|
16509
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html
|
|
16510
|
+
:exampleMetadata: fixture=_generated
|
|
16511
|
+
|
|
16512
|
+
Example::
|
|
16513
|
+
|
|
16514
|
+
# The code below shows an example of how to instantiate this type.
|
|
16515
|
+
# The values are placeholders you should change.
|
|
16516
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
16517
|
+
|
|
16518
|
+
on_source_dDo_sProtection_config_property = wafv2.CfnWebACL.OnSourceDDoSProtectionConfigProperty(
|
|
16519
|
+
alb_low_reputation_mode="albLowReputationMode"
|
|
16520
|
+
)
|
|
16521
|
+
'''
|
|
16522
|
+
if __debug__:
|
|
16523
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b1d55e97c88ee1084655df55da4bb940ea39dc6807c3b4f425073a3a747e0dbc)
|
|
16524
|
+
check_type(argname="argument alb_low_reputation_mode", value=alb_low_reputation_mode, expected_type=type_hints["alb_low_reputation_mode"])
|
|
16525
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
16526
|
+
"alb_low_reputation_mode": alb_low_reputation_mode,
|
|
16527
|
+
}
|
|
16528
|
+
|
|
16529
|
+
@builtins.property
|
|
16530
|
+
def alb_low_reputation_mode(self) -> builtins.str:
|
|
16531
|
+
'''
|
|
16532
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html#cfn-wafv2-webacl-onsourceddosprotectionconfig-alblowreputationmode
|
|
16533
|
+
'''
|
|
16534
|
+
result = self._values.get("alb_low_reputation_mode")
|
|
16535
|
+
assert result is not None, "Required property 'alb_low_reputation_mode' is missing"
|
|
16536
|
+
return typing.cast(builtins.str, result)
|
|
16537
|
+
|
|
16538
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
16539
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
16540
|
+
|
|
16541
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
16542
|
+
return not (rhs == self)
|
|
16543
|
+
|
|
16544
|
+
def __repr__(self) -> str:
|
|
16545
|
+
return "OnSourceDDoSProtectionConfigProperty(%s)" % ", ".join(
|
|
16546
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
16547
|
+
)
|
|
16548
|
+
|
|
15970
16549
|
@jsii.data_type(
|
|
15971
16550
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.OrStatementProperty",
|
|
15972
16551
|
jsii_struct_bases=[],
|
|
@@ -16113,6 +16692,7 @@ class CfnWebACL(
|
|
|
16113
16692
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty",
|
|
16114
16693
|
jsii_struct_bases=[],
|
|
16115
16694
|
name_mapping={
|
|
16695
|
+
"asn": "asn",
|
|
16116
16696
|
"cookie": "cookie",
|
|
16117
16697
|
"forwarded_ip": "forwardedIp",
|
|
16118
16698
|
"header": "header",
|
|
@@ -16130,6 +16710,7 @@ class CfnWebACL(
|
|
|
16130
16710
|
def __init__(
|
|
16131
16711
|
self,
|
|
16132
16712
|
*,
|
|
16713
|
+
asn: typing.Any = None,
|
|
16133
16714
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitCookieProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16134
16715
|
forwarded_ip: typing.Any = None,
|
|
16135
16716
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitHeaderProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -16148,6 +16729,7 @@ class CfnWebACL(
|
|
|
16148
16729
|
|
|
16149
16730
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
16150
16731
|
|
|
16732
|
+
:param asn: Specifies the request's ASN as an aggregate key for a rate-based rule.
|
|
16151
16733
|
:param cookie: Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.
|
|
16152
16734
|
:param forwarded_ip: Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying ``FORWARDED_IP`` in your rate-based statement's ``AggregateKeyType`` . With this option, you must specify the header to use in the rate-based rule's ``ForwardedIPConfig`` property.
|
|
16153
16735
|
:param header: Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.
|
|
@@ -16169,11 +16751,13 @@ class CfnWebACL(
|
|
|
16169
16751
|
# The values are placeholders you should change.
|
|
16170
16752
|
from aws_cdk import aws_wafv2 as wafv2
|
|
16171
16753
|
|
|
16754
|
+
# asn: Any
|
|
16172
16755
|
# forwarded_ip: Any
|
|
16173
16756
|
# http_method: Any
|
|
16174
16757
|
# ip: Any
|
|
16175
16758
|
|
|
16176
16759
|
rate_based_statement_custom_key_property = wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty(
|
|
16760
|
+
asn=asn,
|
|
16177
16761
|
cookie=wafv2.CfnWebACL.RateLimitCookieProperty(
|
|
16178
16762
|
name="name",
|
|
16179
16763
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -16223,6 +16807,7 @@ class CfnWebACL(
|
|
|
16223
16807
|
'''
|
|
16224
16808
|
if __debug__:
|
|
16225
16809
|
type_hints = typing.get_type_hints(_typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3)
|
|
16810
|
+
check_type(argname="argument asn", value=asn, expected_type=type_hints["asn"])
|
|
16226
16811
|
check_type(argname="argument cookie", value=cookie, expected_type=type_hints["cookie"])
|
|
16227
16812
|
check_type(argname="argument forwarded_ip", value=forwarded_ip, expected_type=type_hints["forwarded_ip"])
|
|
16228
16813
|
check_type(argname="argument header", value=header, expected_type=type_hints["header"])
|
|
@@ -16235,6 +16820,8 @@ class CfnWebACL(
|
|
|
16235
16820
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
16236
16821
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
16237
16822
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
16823
|
+
if asn is not None:
|
|
16824
|
+
self._values["asn"] = asn
|
|
16238
16825
|
if cookie is not None:
|
|
16239
16826
|
self._values["cookie"] = cookie
|
|
16240
16827
|
if forwarded_ip is not None:
|
|
@@ -16258,6 +16845,15 @@ class CfnWebACL(
|
|
|
16258
16845
|
if uri_path is not None:
|
|
16259
16846
|
self._values["uri_path"] = uri_path
|
|
16260
16847
|
|
|
16848
|
+
@builtins.property
|
|
16849
|
+
def asn(self) -> typing.Any:
|
|
16850
|
+
'''Specifies the request's ASN as an aggregate key for a rate-based rule.
|
|
16851
|
+
|
|
16852
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-asn
|
|
16853
|
+
'''
|
|
16854
|
+
result = self._values.get("asn")
|
|
16855
|
+
return typing.cast(typing.Any, result)
|
|
16856
|
+
|
|
16261
16857
|
@builtins.property
|
|
16262
16858
|
def cookie(
|
|
16263
16859
|
self,
|
|
@@ -17494,6 +18090,60 @@ class CfnWebACL(
|
|
|
17494
18090
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
17495
18091
|
)
|
|
17496
18092
|
|
|
18093
|
+
@jsii.data_type(
|
|
18094
|
+
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RegexProperty",
|
|
18095
|
+
jsii_struct_bases=[],
|
|
18096
|
+
name_mapping={"regex_string": "regexString"},
|
|
18097
|
+
)
|
|
18098
|
+
class RegexProperty:
|
|
18099
|
+
def __init__(
|
|
18100
|
+
self,
|
|
18101
|
+
*,
|
|
18102
|
+
regex_string: typing.Optional[builtins.str] = None,
|
|
18103
|
+
) -> None:
|
|
18104
|
+
'''Regex.
|
|
18105
|
+
|
|
18106
|
+
:param regex_string:
|
|
18107
|
+
|
|
18108
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html
|
|
18109
|
+
:exampleMetadata: fixture=_generated
|
|
18110
|
+
|
|
18111
|
+
Example::
|
|
18112
|
+
|
|
18113
|
+
# The code below shows an example of how to instantiate this type.
|
|
18114
|
+
# The values are placeholders you should change.
|
|
18115
|
+
from aws_cdk import aws_wafv2 as wafv2
|
|
18116
|
+
|
|
18117
|
+
regex_property = wafv2.CfnWebACL.RegexProperty(
|
|
18118
|
+
regex_string="regexString"
|
|
18119
|
+
)
|
|
18120
|
+
'''
|
|
18121
|
+
if __debug__:
|
|
18122
|
+
type_hints = typing.get_type_hints(_typecheckingstub__91e754c074f286d30a035b0cb9d25503568a265d4426fe4f4bfc0766c9c71d90)
|
|
18123
|
+
check_type(argname="argument regex_string", value=regex_string, expected_type=type_hints["regex_string"])
|
|
18124
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
18125
|
+
if regex_string is not None:
|
|
18126
|
+
self._values["regex_string"] = regex_string
|
|
18127
|
+
|
|
18128
|
+
@builtins.property
|
|
18129
|
+
def regex_string(self) -> typing.Optional[builtins.str]:
|
|
18130
|
+
'''
|
|
18131
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html#cfn-wafv2-webacl-regex-regexstring
|
|
18132
|
+
'''
|
|
18133
|
+
result = self._values.get("regex_string")
|
|
18134
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
18135
|
+
|
|
18136
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
18137
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
18138
|
+
|
|
18139
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
18140
|
+
return not (rhs == self)
|
|
18141
|
+
|
|
18142
|
+
def __repr__(self) -> str:
|
|
18143
|
+
return "RegexProperty(%s)" % ", ".join(
|
|
18144
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
18145
|
+
)
|
|
18146
|
+
|
|
17497
18147
|
@jsii.data_type(
|
|
17498
18148
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty",
|
|
17499
18149
|
jsii_struct_bases=[],
|
|
@@ -18762,7 +19412,7 @@ class CfnWebACL(
|
|
|
18762
19412
|
|
|
18763
19413
|
:param arn: The Amazon Resource Name (ARN) of the entity.
|
|
18764
19414
|
:param excluded_rules: Rules in the referenced rule group whose actions are set to ``Count`` . .. epigraph:: Instead of this option, use ``RuleActionOverrides`` . It accepts any valid action setting, including ``Count`` .
|
|
18765
|
-
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph::
|
|
19415
|
+
:param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. .. epigraph:: Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group. You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
18766
19416
|
|
|
18767
19417
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html
|
|
18768
19418
|
:exampleMetadata: fixture=_generated
|
|
@@ -18878,7 +19528,7 @@ class CfnWebACL(
|
|
|
18878
19528
|
You specify one override for each rule whose action you want to change.
|
|
18879
19529
|
.. epigraph::
|
|
18880
19530
|
|
|
18881
|
-
|
|
19531
|
+
Verify the rule names in your overrides carefully. With managed rule groups, AWS WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.
|
|
18882
19532
|
|
|
18883
19533
|
You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
|
|
18884
19534
|
|
|
@@ -19595,6 +20245,7 @@ class CfnWebACL(
|
|
|
19595
20245
|
jsii_struct_bases=[],
|
|
19596
20246
|
name_mapping={
|
|
19597
20247
|
"and_statement": "andStatement",
|
|
20248
|
+
"asn_match_statement": "asnMatchStatement",
|
|
19598
20249
|
"byte_match_statement": "byteMatchStatement",
|
|
19599
20250
|
"geo_match_statement": "geoMatchStatement",
|
|
19600
20251
|
"ip_set_reference_statement": "ipSetReferenceStatement",
|
|
@@ -19616,6 +20267,7 @@ class CfnWebACL(
|
|
|
19616
20267
|
self,
|
|
19617
20268
|
*,
|
|
19618
20269
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AndStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20270
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AsnMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19619
20271
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ByteMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19620
20272
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.GeoMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19621
20273
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.IPSetReferenceStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -19634,6 +20286,7 @@ class CfnWebACL(
|
|
|
19634
20286
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
19635
20287
|
|
|
19636
20288
|
:param and_statement: A logical rule statement used to combine other rule statements with AND logic. You provide more than one ``Statement`` within the ``AndStatement`` .
|
|
20289
|
+
:param asn_match_statement:
|
|
19637
20290
|
:param byte_match_statement: A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is called a string match statement.
|
|
19638
20291
|
:param geo_match_statement: A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match. - To manage requests only by country, you can use this statement by itself and specify the countries that you want to match against in the ``CountryCodes`` array. - Otherwise, configure your geo match rule with Count action so that it only labels requests. Then, add one or more label match rules to run after the geo match rule and configure them to match against the geographic labels and handle the requests as needed. AWS WAF labels requests using the alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard. AWS WAF determines the codes using either the IP address in the web request origin or, if you specify it, the address in the geo match ``ForwardedIPConfig`` . If you use the web request origin, the label formats are ``awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:clientip:geo:country:<ISO country code>`` . If you use a forwarded IP address, the label formats are ``awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`` and ``awswaf:forwardedip:geo:country:<ISO country code>`` . For additional details, see `Geographic match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
19639
20292
|
:param ip_set_reference_statement: A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an ``IPSet`` that specifies the addresses you want to detect, then use the ARN of that set in this statement. Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
|
|
@@ -19659,6 +20312,7 @@ class CfnWebACL(
|
|
|
19659
20312
|
if __debug__:
|
|
19660
20313
|
type_hints = typing.get_type_hints(_typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11)
|
|
19661
20314
|
check_type(argname="argument and_statement", value=and_statement, expected_type=type_hints["and_statement"])
|
|
20315
|
+
check_type(argname="argument asn_match_statement", value=asn_match_statement, expected_type=type_hints["asn_match_statement"])
|
|
19662
20316
|
check_type(argname="argument byte_match_statement", value=byte_match_statement, expected_type=type_hints["byte_match_statement"])
|
|
19663
20317
|
check_type(argname="argument geo_match_statement", value=geo_match_statement, expected_type=type_hints["geo_match_statement"])
|
|
19664
20318
|
check_type(argname="argument ip_set_reference_statement", value=ip_set_reference_statement, expected_type=type_hints["ip_set_reference_statement"])
|
|
@@ -19676,6 +20330,8 @@ class CfnWebACL(
|
|
|
19676
20330
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
19677
20331
|
if and_statement is not None:
|
|
19678
20332
|
self._values["and_statement"] = and_statement
|
|
20333
|
+
if asn_match_statement is not None:
|
|
20334
|
+
self._values["asn_match_statement"] = asn_match_statement
|
|
19679
20335
|
if byte_match_statement is not None:
|
|
19680
20336
|
self._values["byte_match_statement"] = byte_match_statement
|
|
19681
20337
|
if geo_match_statement is not None:
|
|
@@ -19718,6 +20374,16 @@ class CfnWebACL(
|
|
|
19718
20374
|
result = self._values.get("and_statement")
|
|
19719
20375
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AndStatementProperty"]], result)
|
|
19720
20376
|
|
|
20377
|
+
@builtins.property
|
|
20378
|
+
def asn_match_statement(
|
|
20379
|
+
self,
|
|
20380
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AsnMatchStatementProperty"]]:
|
|
20381
|
+
'''
|
|
20382
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statement.html#cfn-wafv2-webacl-statement-asnmatchstatement
|
|
20383
|
+
'''
|
|
20384
|
+
result = self._values.get("asn_match_statement")
|
|
20385
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AsnMatchStatementProperty"]], result)
|
|
20386
|
+
|
|
19721
20387
|
@builtins.property
|
|
19722
20388
|
def byte_match_statement(
|
|
19723
20389
|
self,
|
|
@@ -20632,7 +21298,7 @@ class CfnWebACLProps:
|
|
|
20632
21298
|
:param data_protection_config: Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option. The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.
|
|
20633
21299
|
:param description: A description of the web ACL that helps with identification.
|
|
20634
21300
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
20635
|
-
:param on_source_d_do_s_protection_config:
|
|
21301
|
+
:param on_source_d_do_s_protection_config: Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
20636
21302
|
:param rules: The rule statements used to identify the web requests that you want to manage. 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.
|
|
20637
21303
|
: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.
|
|
20638
21304
|
:param token_domains: Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.
|
|
@@ -20827,7 +21493,8 @@ class CfnWebACLProps:
|
|
|
20827
21493
|
|
|
20828
21494
|
@builtins.property
|
|
20829
21495
|
def on_source_d_do_s_protection_config(self) -> typing.Any:
|
|
20830
|
-
'''
|
|
21496
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
21497
|
+
|
|
20831
21498
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-onsourceddosprotectionconfig
|
|
20832
21499
|
'''
|
|
20833
21500
|
result = self._values.get("on_source_d_do_s_protection_config")
|
|
@@ -21276,6 +21943,14 @@ def _typecheckingstub__563d7c7c3c7b0cea107ea61895bf83f08deacaa77dd306915bce97452
|
|
|
21276
21943
|
"""Type checking stubs"""
|
|
21277
21944
|
pass
|
|
21278
21945
|
|
|
21946
|
+
def _typecheckingstub__1b7bfd70c769fabe423acc42aa4ce7a934b8907c56a69421327294c209c8da78(
|
|
21947
|
+
*,
|
|
21948
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
21949
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.ForwardedIPConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21950
|
+
) -> None:
|
|
21951
|
+
"""Type checking stubs"""
|
|
21952
|
+
pass
|
|
21953
|
+
|
|
21279
21954
|
def _typecheckingstub__48d37744c2bde6e8969fbbe9f60128093f4d69360ff6c086fcb635ca42f3ae63(
|
|
21280
21955
|
*,
|
|
21281
21956
|
custom_response: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.CustomResponseProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21533,6 +22208,7 @@ def _typecheckingstub__ac0f7a31c2c062eaaca70b7d43c11c1e6b78ce7502ec2206e832cabc7
|
|
|
21533
22208
|
|
|
21534
22209
|
def _typecheckingstub__6bc232408309212f7b145d76c0106073269f111e106ab6d74a4d2168f41f248b(
|
|
21535
22210
|
*,
|
|
22211
|
+
asn: typing.Any = None,
|
|
21536
22212
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21537
22213
|
forwarded_ip: typing.Any = None,
|
|
21538
22214
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21698,6 +22374,7 @@ def _typecheckingstub__b9ae549bd77f9cf10d97954d1e78a797db181843dcc5510b91fc32672
|
|
|
21698
22374
|
def _typecheckingstub__c10bc3e3f69d89ad06f25a44daee62e7de586ae4280e39230f29c24092fe4a4f(
|
|
21699
22375
|
*,
|
|
21700
22376
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.AndStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22377
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.AsnMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21701
22378
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21702
22379
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21703
22380
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21901,6 +22578,14 @@ def _typecheckingstub__f9aee7f94c21473b0495313f92d8a99724499d3f5a99e7229679efb1e
|
|
|
21901
22578
|
"""Type checking stubs"""
|
|
21902
22579
|
pass
|
|
21903
22580
|
|
|
22581
|
+
def _typecheckingstub__9315d92e3528c134a601f6cf9b27df2b90e082b1e29a17eadf8fbf68ac10e8c4(
|
|
22582
|
+
*,
|
|
22583
|
+
client_side_action_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ClientSideActionConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
22584
|
+
sensitivity_to_block: typing.Optional[builtins.str] = None,
|
|
22585
|
+
) -> None:
|
|
22586
|
+
"""Type checking stubs"""
|
|
22587
|
+
pass
|
|
22588
|
+
|
|
21904
22589
|
def _typecheckingstub__23917b7bd12237aafb58493973b8f61366778e01800aad21ea2f95a01294dc76(
|
|
21905
22590
|
*,
|
|
21906
22591
|
inspection_level: builtins.str,
|
|
@@ -21923,6 +22608,14 @@ def _typecheckingstub__e3977b616ebe935b8882258fb7fe1261468bceabf99977afc1c05b1df
|
|
|
21923
22608
|
"""Type checking stubs"""
|
|
21924
22609
|
pass
|
|
21925
22610
|
|
|
22611
|
+
def _typecheckingstub__8995ed18208bf9dcca46075f2ba4072467a8327472896fee5efcf1415648dfe8(
|
|
22612
|
+
*,
|
|
22613
|
+
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
22614
|
+
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ForwardedIPConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22615
|
+
) -> None:
|
|
22616
|
+
"""Type checking stubs"""
|
|
22617
|
+
pass
|
|
22618
|
+
|
|
21926
22619
|
def _typecheckingstub__889bff55ba91160187275a11669025b829161457b27db183745c6a70c6fb0947(
|
|
21927
22620
|
*,
|
|
21928
22621
|
request_body: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
@@ -21983,6 +22676,22 @@ def _typecheckingstub__e59d4e09b55c6fb1e18f3dbf3d0659f147db2659c300a744e836928d4
|
|
|
21983
22676
|
"""Type checking stubs"""
|
|
21984
22677
|
pass
|
|
21985
22678
|
|
|
22679
|
+
def _typecheckingstub__776e223dfae595baf3dc144792b2d7158c77847ddf24785048d19516ebcb955b(
|
|
22680
|
+
*,
|
|
22681
|
+
challenge: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ClientSideActionProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
22682
|
+
) -> None:
|
|
22683
|
+
"""Type checking stubs"""
|
|
22684
|
+
pass
|
|
22685
|
+
|
|
22686
|
+
def _typecheckingstub__de331114f33ba80cf8bd042358ad9467ab930574012abea7782f175fd2a7b649(
|
|
22687
|
+
*,
|
|
22688
|
+
usage_of_action: builtins.str,
|
|
22689
|
+
exempt_uri_regular_expressions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RegexProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22690
|
+
sensitivity: typing.Optional[builtins.str] = None,
|
|
22691
|
+
) -> None:
|
|
22692
|
+
"""Type checking stubs"""
|
|
22693
|
+
pass
|
|
22694
|
+
|
|
21986
22695
|
def _typecheckingstub__11e565e9aad1b474694cbb7c884715be324a3c5b38238a45e13e0d2ed78d816d(
|
|
21987
22696
|
*,
|
|
21988
22697
|
all: typing.Any = None,
|
|
@@ -22214,6 +22923,7 @@ def _typecheckingstub__bf81be90baf4410ecf4fe3290d007b8b6c18da545bbac600a4ec86a29
|
|
|
22214
22923
|
def _typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77(
|
|
22215
22924
|
*,
|
|
22216
22925
|
aws_managed_rules_acfp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesACFPRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22926
|
+
aws_managed_rules_anti_d_do_s_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22217
22927
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesATPRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22218
22928
|
aws_managed_rules_bot_control_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesBotControlRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22219
22929
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -22244,6 +22954,13 @@ def _typecheckingstub__6323d964e28230f9d2649acc0c25b70ee57b1f6721b37df85848f3c96
|
|
|
22244
22954
|
"""Type checking stubs"""
|
|
22245
22955
|
pass
|
|
22246
22956
|
|
|
22957
|
+
def _typecheckingstub__b1d55e97c88ee1084655df55da4bb940ea39dc6807c3b4f425073a3a747e0dbc(
|
|
22958
|
+
*,
|
|
22959
|
+
alb_low_reputation_mode: builtins.str,
|
|
22960
|
+
) -> None:
|
|
22961
|
+
"""Type checking stubs"""
|
|
22962
|
+
pass
|
|
22963
|
+
|
|
22247
22964
|
def _typecheckingstub__857a9b37018dee0d151e0a05984b557cea8bf5f8e57f6957cacb75335b7f4985(
|
|
22248
22965
|
*,
|
|
22249
22966
|
statements: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.StatementProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
@@ -22261,6 +22978,7 @@ def _typecheckingstub__799e1b838f491914647df091fcbac72eb8119756fda0c013be732c461
|
|
|
22261
22978
|
|
|
22262
22979
|
def _typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3(
|
|
22263
22980
|
*,
|
|
22981
|
+
asn: typing.Any = None,
|
|
22264
22982
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22265
22983
|
forwarded_ip: typing.Any = None,
|
|
22266
22984
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22365,6 +23083,13 @@ def _typecheckingstub__02b7d36560bfd4ed2bd6508818cf89b216972c719200032cdc4b3a04e
|
|
|
22365
23083
|
"""Type checking stubs"""
|
|
22366
23084
|
pass
|
|
22367
23085
|
|
|
23086
|
+
def _typecheckingstub__91e754c074f286d30a035b0cb9d25503568a265d4426fe4f4bfc0766c9c71d90(
|
|
23087
|
+
*,
|
|
23088
|
+
regex_string: typing.Optional[builtins.str] = None,
|
|
23089
|
+
) -> None:
|
|
23090
|
+
"""Type checking stubs"""
|
|
23091
|
+
pass
|
|
23092
|
+
|
|
22368
23093
|
def _typecheckingstub__22d5e10d054b4857a7983cdc47094a04c46a1c4d98b791e6c9aa5b16fe172d31(
|
|
22369
23094
|
*,
|
|
22370
23095
|
default_size_inspection_limit: builtins.str,
|
|
@@ -22516,6 +23241,7 @@ def _typecheckingstub__58178c25f953747f989ea51846855e784a44825b0202fe8e0a5c3920a
|
|
|
22516
23241
|
def _typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11(
|
|
22517
23242
|
*,
|
|
22518
23243
|
and_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AndStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23244
|
+
asn_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AsnMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22519
23245
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22520
23246
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22521
23247
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|