aws-cdk-lib 2.200.2__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 +129 -37
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +2 -3
- aws_cdk/aws_amplify/__init__.py +3 -3
- aws_cdk/aws_apigateway/__init__.py +21 -17
- aws_cdk/aws_apigatewayv2/__init__.py +87 -45
- aws_cdk/aws_appconfig/__init__.py +38 -1
- aws_cdk/aws_appsync/__init__.py +10 -10
- aws_cdk/aws_athena/__init__.py +227 -0
- aws_cdk/aws_autoscaling/__init__.py +38 -37
- aws_cdk/aws_bedrock/__init__.py +5108 -1571
- aws_cdk/aws_cloudfront/__init__.py +38 -38
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
- aws_cdk/aws_cloudtrail/__init__.py +178 -0
- aws_cdk/aws_cloudwatch/__init__.py +7 -3
- aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
- aws_cdk/aws_connect/__init__.py +5 -5
- aws_cdk/aws_customerprofiles/__init__.py +377 -8
- aws_cdk/aws_datasync/__init__.py +189 -160
- aws_cdk/aws_datazone/__init__.py +512 -170
- aws_cdk/aws_deadline/__init__.py +32 -4
- aws_cdk/aws_dsql/__init__.py +150 -10
- aws_cdk/aws_ec2/__init__.py +1191 -304
- aws_cdk/aws_ecs/__init__.py +94 -11
- aws_cdk/aws_efs/__init__.py +103 -12
- aws_cdk/aws_eks/__init__.py +337 -168
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
- aws_cdk/aws_emr/__init__.py +10 -4
- aws_cdk/aws_entityresolution/__init__.py +25 -10
- aws_cdk/aws_evs/__init__.py +2204 -0
- aws_cdk/aws_fsx/__init__.py +7 -7
- 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 +1167 -55
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lightsail/__init__.py +17 -13
- aws_cdk/aws_logs/__init__.py +1 -0
- aws_cdk/aws_msk/__init__.py +21 -2
- aws_cdk/aws_mwaa/__init__.py +45 -2
- aws_cdk/aws_networkfirewall/__init__.py +562 -0
- aws_cdk/aws_opensearchservice/__init__.py +3 -3
- aws_cdk/aws_opsworkscm/__init__.py +9 -43
- aws_cdk/aws_rds/__init__.py +287 -87
- aws_cdk/aws_s3/__init__.py +39 -15
- aws_cdk/aws_sagemaker/__init__.py +223 -3
- aws_cdk/aws_securityhub/__init__.py +18 -34
- aws_cdk/aws_ssm/__init__.py +83 -1
- aws_cdk/aws_stepfunctions/__init__.py +235 -45
- aws_cdk/aws_synthetics/__init__.py +74 -0
- aws_cdk/aws_transfer/__init__.py +3 -3
- aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
- aws_cdk/aws_wafv2/__init__.py +770 -7
- aws_cdk/cx_api/__init__.py +14 -0
- aws_cdk/pipelines/__init__.py +147 -38
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.200.2.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=[],
|
|
@@ -4377,7 +4463,7 @@ class CfnRuleGroup(
|
|
|
4377
4463
|
|
|
4378
4464
|
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
|
|
4379
4465
|
|
|
4380
|
-
This configuration is used for ``GeoMatchStatement`` and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
4466
|
+
This configuration is used for ``GeoMatchStatement`` , ``AsnMatchStatement`` , and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
4381
4467
|
|
|
4382
4468
|
AWS WAF only evaluates the first IP address found in the specified HTTP header.
|
|
4383
4469
|
|
|
@@ -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,
|
|
@@ -11173,6 +11337,7 @@ class CfnWebACL(
|
|
|
11173
11337
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.DataProtectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11174
11338
|
description: typing.Optional[builtins.str] = None,
|
|
11175
11339
|
name: typing.Optional[builtins.str] = None,
|
|
11340
|
+
on_source_d_do_s_protection_config: typing.Any = None,
|
|
11176
11341
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
11177
11342
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11178
11343
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11190,6 +11355,7 @@ class CfnWebACL(
|
|
|
11190
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.
|
|
11191
11356
|
:param description: A description of the web ACL that helps with identification.
|
|
11192
11357
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
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.
|
|
11193
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.
|
|
11194
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.
|
|
11195
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.
|
|
@@ -11209,6 +11375,7 @@ class CfnWebACL(
|
|
|
11209
11375
|
data_protection_config=data_protection_config,
|
|
11210
11376
|
description=description,
|
|
11211
11377
|
name=name,
|
|
11378
|
+
on_source_d_do_s_protection_config=on_source_d_do_s_protection_config,
|
|
11212
11379
|
rules=rules,
|
|
11213
11380
|
tags=tags,
|
|
11214
11381
|
token_domains=token_domains,
|
|
@@ -11466,6 +11633,19 @@ class CfnWebACL(
|
|
|
11466
11633
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11467
11634
|
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
11468
11635
|
|
|
11636
|
+
@builtins.property
|
|
11637
|
+
@jsii.member(jsii_name="onSourceDDoSProtectionConfig")
|
|
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.'''
|
|
11640
|
+
return typing.cast(typing.Any, jsii.get(self, "onSourceDDoSProtectionConfig"))
|
|
11641
|
+
|
|
11642
|
+
@on_source_d_do_s_protection_config.setter
|
|
11643
|
+
def on_source_d_do_s_protection_config(self, value: typing.Any) -> None:
|
|
11644
|
+
if __debug__:
|
|
11645
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2)
|
|
11646
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
11647
|
+
jsii.set(self, "onSourceDDoSProtectionConfig", value) # pyright: ignore[reportArgumentType]
|
|
11648
|
+
|
|
11469
11649
|
@builtins.property
|
|
11470
11650
|
@jsii.member(jsii_name="rules")
|
|
11471
11651
|
def rules(
|
|
@@ -11535,6 +11715,8 @@ class CfnWebACL(
|
|
|
11535
11715
|
|
|
11536
11716
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11537
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
|
+
|
|
11538
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`` .
|
|
11539
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`` .
|
|
11540
11722
|
:param request_inspection: The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
|
|
@@ -11720,6 +11902,8 @@ class CfnWebACL(
|
|
|
11720
11902
|
|
|
11721
11903
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11722
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
|
+
|
|
11723
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.
|
|
11724
11908
|
:param enable_regex_in_path: Allow the use of regular expressions in the login page path.
|
|
11725
11909
|
:param request_inspection: The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.
|
|
@@ -11850,6 +12034,93 @@ class CfnWebACL(
|
|
|
11850
12034
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
11851
12035
|
)
|
|
11852
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
|
+
|
|
11853
12124
|
@jsii.data_type(
|
|
11854
12125
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AWSManagedRulesBotControlRuleSetProperty",
|
|
11855
12126
|
jsii_struct_bases=[],
|
|
@@ -11869,6 +12140,8 @@ class CfnWebACL(
|
|
|
11869
12140
|
|
|
11870
12141
|
This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
11871
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
|
+
|
|
11872
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* .
|
|
11873
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``
|
|
11874
12147
|
|
|
@@ -12061,6 +12334,83 @@ class CfnWebACL(
|
|
|
12061
12334
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12062
12335
|
)
|
|
12063
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
|
+
|
|
12064
12414
|
@jsii.data_type(
|
|
12065
12415
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.AssociationConfigProperty",
|
|
12066
12416
|
jsii_struct_bases=[],
|
|
@@ -12790,6 +13140,165 @@ class CfnWebACL(
|
|
|
12790
13140
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
12791
13141
|
)
|
|
12792
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
|
+
|
|
12793
13302
|
@jsii.data_type(
|
|
12794
13303
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.CookieMatchPatternProperty",
|
|
12795
13304
|
jsii_struct_bases=[],
|
|
@@ -14282,7 +14791,7 @@ class CfnWebACL(
|
|
|
14282
14791
|
|
|
14283
14792
|
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
|
|
14284
14793
|
|
|
14285
|
-
This configuration is used for ``GeoMatchStatement`` and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
14794
|
+
This configuration is used for ``GeoMatchStatement`` , ``AsnMatchStatement`` , and ``RateBasedStatement`` . For ``IPSetReferenceStatement`` , use ``IPSetForwardedIPConfig`` instead.
|
|
14286
14795
|
|
|
14287
14796
|
AWS WAF only evaluates the first IP address found in the specified HTTP header.
|
|
14288
14797
|
|
|
@@ -15441,6 +15950,7 @@ class CfnWebACL(
|
|
|
15441
15950
|
jsii_struct_bases=[],
|
|
15442
15951
|
name_mapping={
|
|
15443
15952
|
"aws_managed_rules_acfp_rule_set": "awsManagedRulesAcfpRuleSet",
|
|
15953
|
+
"aws_managed_rules_anti_d_do_s_rule_set": "awsManagedRulesAntiDDoSRuleSet",
|
|
15444
15954
|
"aws_managed_rules_atp_rule_set": "awsManagedRulesAtpRuleSet",
|
|
15445
15955
|
"aws_managed_rules_bot_control_rule_set": "awsManagedRulesBotControlRuleSet",
|
|
15446
15956
|
"login_path": "loginPath",
|
|
@@ -15454,6 +15964,7 @@ class CfnWebACL(
|
|
|
15454
15964
|
self,
|
|
15455
15965
|
*,
|
|
15456
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,
|
|
15457
15968
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.AWSManagedRulesATPRuleSetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
15458
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,
|
|
15459
15970
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -15470,6 +15981,7 @@ class CfnWebACL(
|
|
|
15470
15981
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15471
15982
|
|
|
15472
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.
|
|
15473
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* .
|
|
15474
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* .
|
|
15475
15987
|
:param login_path: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` .
|
|
@@ -15534,6 +16046,22 @@ class CfnWebACL(
|
|
|
15534
16046
|
)
|
|
15535
16047
|
)
|
|
15536
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
|
+
),
|
|
15537
16065
|
aws_managed_rules_atp_rule_set=wafv2.CfnWebACL.AWSManagedRulesATPRuleSetProperty(
|
|
15538
16066
|
login_path="loginPath",
|
|
15539
16067
|
|
|
@@ -15588,6 +16116,7 @@ class CfnWebACL(
|
|
|
15588
16116
|
if __debug__:
|
|
15589
16117
|
type_hints = typing.get_type_hints(_typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77)
|
|
15590
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"])
|
|
15591
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"])
|
|
15592
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"])
|
|
15593
16122
|
check_type(argname="argument login_path", value=login_path, expected_type=type_hints["login_path"])
|
|
@@ -15597,6 +16126,8 @@ class CfnWebACL(
|
|
|
15597
16126
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
15598
16127
|
if aws_managed_rules_acfp_rule_set is not None:
|
|
15599
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
|
|
15600
16131
|
if aws_managed_rules_atp_rule_set is not None:
|
|
15601
16132
|
self._values["aws_managed_rules_atp_rule_set"] = aws_managed_rules_atp_rule_set
|
|
15602
16133
|
if aws_managed_rules_bot_control_rule_set is not None:
|
|
@@ -15625,6 +16156,17 @@ class CfnWebACL(
|
|
|
15625
16156
|
result = self._values.get("aws_managed_rules_acfp_rule_set")
|
|
15626
16157
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesACFPRuleSetProperty"]], result)
|
|
15627
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
|
+
|
|
15628
16170
|
@builtins.property
|
|
15629
16171
|
def aws_managed_rules_atp_rule_set(
|
|
15630
16172
|
self,
|
|
@@ -15751,8 +16293,8 @@ class CfnWebACL(
|
|
|
15751
16293
|
:param name: The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.
|
|
15752
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.
|
|
15753
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`` .
|
|
15754
|
-
: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.
|
|
15755
|
-
: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.
|
|
15756
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.
|
|
15757
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.
|
|
15758
16300
|
|
|
@@ -15835,6 +16377,7 @@ class CfnWebACL(
|
|
|
15835
16377
|
The rule groups used for intelligent threat mitigation require additional configuration:
|
|
15836
16378
|
|
|
15837
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.
|
|
15838
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.
|
|
15839
16382
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15840
16383
|
|
|
@@ -15852,7 +16395,7 @@ class CfnWebACL(
|
|
|
15852
16395
|
You specify one override for each rule whose action you want to change.
|
|
15853
16396
|
.. epigraph::
|
|
15854
16397
|
|
|
15855
|
-
|
|
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.
|
|
15856
16399
|
|
|
15857
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.
|
|
15858
16401
|
|
|
@@ -15952,6 +16495,57 @@ class CfnWebACL(
|
|
|
15952
16495
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
15953
16496
|
)
|
|
15954
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
|
+
|
|
15955
16549
|
@jsii.data_type(
|
|
15956
16550
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.OrStatementProperty",
|
|
15957
16551
|
jsii_struct_bases=[],
|
|
@@ -16098,6 +16692,7 @@ class CfnWebACL(
|
|
|
16098
16692
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty",
|
|
16099
16693
|
jsii_struct_bases=[],
|
|
16100
16694
|
name_mapping={
|
|
16695
|
+
"asn": "asn",
|
|
16101
16696
|
"cookie": "cookie",
|
|
16102
16697
|
"forwarded_ip": "forwardedIp",
|
|
16103
16698
|
"header": "header",
|
|
@@ -16115,6 +16710,7 @@ class CfnWebACL(
|
|
|
16115
16710
|
def __init__(
|
|
16116
16711
|
self,
|
|
16117
16712
|
*,
|
|
16713
|
+
asn: typing.Any = None,
|
|
16118
16714
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitCookieProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16119
16715
|
forwarded_ip: typing.Any = None,
|
|
16120
16716
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RateLimitHeaderProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -16133,6 +16729,7 @@ class CfnWebACL(
|
|
|
16133
16729
|
|
|
16134
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.
|
|
16135
16731
|
|
|
16732
|
+
:param asn: Specifies the request's ASN as an aggregate key for a rate-based rule.
|
|
16136
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.
|
|
16137
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.
|
|
16138
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.
|
|
@@ -16154,11 +16751,13 @@ class CfnWebACL(
|
|
|
16154
16751
|
# The values are placeholders you should change.
|
|
16155
16752
|
from aws_cdk import aws_wafv2 as wafv2
|
|
16156
16753
|
|
|
16754
|
+
# asn: Any
|
|
16157
16755
|
# forwarded_ip: Any
|
|
16158
16756
|
# http_method: Any
|
|
16159
16757
|
# ip: Any
|
|
16160
16758
|
|
|
16161
16759
|
rate_based_statement_custom_key_property = wafv2.CfnWebACL.RateBasedStatementCustomKeyProperty(
|
|
16760
|
+
asn=asn,
|
|
16162
16761
|
cookie=wafv2.CfnWebACL.RateLimitCookieProperty(
|
|
16163
16762
|
name="name",
|
|
16164
16763
|
text_transformations=[wafv2.CfnWebACL.TextTransformationProperty(
|
|
@@ -16208,6 +16807,7 @@ class CfnWebACL(
|
|
|
16208
16807
|
'''
|
|
16209
16808
|
if __debug__:
|
|
16210
16809
|
type_hints = typing.get_type_hints(_typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3)
|
|
16810
|
+
check_type(argname="argument asn", value=asn, expected_type=type_hints["asn"])
|
|
16211
16811
|
check_type(argname="argument cookie", value=cookie, expected_type=type_hints["cookie"])
|
|
16212
16812
|
check_type(argname="argument forwarded_ip", value=forwarded_ip, expected_type=type_hints["forwarded_ip"])
|
|
16213
16813
|
check_type(argname="argument header", value=header, expected_type=type_hints["header"])
|
|
@@ -16220,6 +16820,8 @@ class CfnWebACL(
|
|
|
16220
16820
|
check_type(argname="argument query_string", value=query_string, expected_type=type_hints["query_string"])
|
|
16221
16821
|
check_type(argname="argument uri_path", value=uri_path, expected_type=type_hints["uri_path"])
|
|
16222
16822
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
16823
|
+
if asn is not None:
|
|
16824
|
+
self._values["asn"] = asn
|
|
16223
16825
|
if cookie is not None:
|
|
16224
16826
|
self._values["cookie"] = cookie
|
|
16225
16827
|
if forwarded_ip is not None:
|
|
@@ -16243,6 +16845,15 @@ class CfnWebACL(
|
|
|
16243
16845
|
if uri_path is not None:
|
|
16244
16846
|
self._values["uri_path"] = uri_path
|
|
16245
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
|
+
|
|
16246
16857
|
@builtins.property
|
|
16247
16858
|
def cookie(
|
|
16248
16859
|
self,
|
|
@@ -17479,6 +18090,60 @@ class CfnWebACL(
|
|
|
17479
18090
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
17480
18091
|
)
|
|
17481
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
|
+
|
|
17482
18147
|
@jsii.data_type(
|
|
17483
18148
|
jsii_type="aws-cdk-lib.aws_wafv2.CfnWebACL.RequestBodyAssociatedResourceTypeConfigProperty",
|
|
17484
18149
|
jsii_struct_bases=[],
|
|
@@ -18747,7 +19412,7 @@ class CfnWebACL(
|
|
|
18747
19412
|
|
|
18748
19413
|
:param arn: The Amazon Resource Name (ARN) of the entity.
|
|
18749
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`` .
|
|
18750
|
-
: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.
|
|
18751
19416
|
|
|
18752
19417
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html
|
|
18753
19418
|
:exampleMetadata: fixture=_generated
|
|
@@ -18863,7 +19528,7 @@ class CfnWebACL(
|
|
|
18863
19528
|
You specify one override for each rule whose action you want to change.
|
|
18864
19529
|
.. epigraph::
|
|
18865
19530
|
|
|
18866
|
-
|
|
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.
|
|
18867
19532
|
|
|
18868
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.
|
|
18869
19534
|
|
|
@@ -19580,6 +20245,7 @@ class CfnWebACL(
|
|
|
19580
20245
|
jsii_struct_bases=[],
|
|
19581
20246
|
name_mapping={
|
|
19582
20247
|
"and_statement": "andStatement",
|
|
20248
|
+
"asn_match_statement": "asnMatchStatement",
|
|
19583
20249
|
"byte_match_statement": "byteMatchStatement",
|
|
19584
20250
|
"geo_match_statement": "geoMatchStatement",
|
|
19585
20251
|
"ip_set_reference_statement": "ipSetReferenceStatement",
|
|
@@ -19601,6 +20267,7 @@ class CfnWebACL(
|
|
|
19601
20267
|
self,
|
|
19602
20268
|
*,
|
|
19603
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,
|
|
19604
20271
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ByteMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19605
20272
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.GeoMatchStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19606
20273
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.IPSetReferenceStatementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -19619,6 +20286,7 @@ class CfnWebACL(
|
|
|
19619
20286
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
19620
20287
|
|
|
19621
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:
|
|
19622
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.
|
|
19623
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>`_ .
|
|
19624
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.
|
|
@@ -19644,6 +20312,7 @@ class CfnWebACL(
|
|
|
19644
20312
|
if __debug__:
|
|
19645
20313
|
type_hints = typing.get_type_hints(_typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11)
|
|
19646
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"])
|
|
19647
20316
|
check_type(argname="argument byte_match_statement", value=byte_match_statement, expected_type=type_hints["byte_match_statement"])
|
|
19648
20317
|
check_type(argname="argument geo_match_statement", value=geo_match_statement, expected_type=type_hints["geo_match_statement"])
|
|
19649
20318
|
check_type(argname="argument ip_set_reference_statement", value=ip_set_reference_statement, expected_type=type_hints["ip_set_reference_statement"])
|
|
@@ -19661,6 +20330,8 @@ class CfnWebACL(
|
|
|
19661
20330
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
19662
20331
|
if and_statement is not None:
|
|
19663
20332
|
self._values["and_statement"] = and_statement
|
|
20333
|
+
if asn_match_statement is not None:
|
|
20334
|
+
self._values["asn_match_statement"] = asn_match_statement
|
|
19664
20335
|
if byte_match_statement is not None:
|
|
19665
20336
|
self._values["byte_match_statement"] = byte_match_statement
|
|
19666
20337
|
if geo_match_statement is not None:
|
|
@@ -19703,6 +20374,16 @@ class CfnWebACL(
|
|
|
19703
20374
|
result = self._values.get("and_statement")
|
|
19704
20375
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AndStatementProperty"]], result)
|
|
19705
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
|
+
|
|
19706
20387
|
@builtins.property
|
|
19707
20388
|
def byte_match_statement(
|
|
19708
20389
|
self,
|
|
@@ -20580,6 +21261,7 @@ class CfnWebACLAssociationProps:
|
|
|
20580
21261
|
"data_protection_config": "dataProtectionConfig",
|
|
20581
21262
|
"description": "description",
|
|
20582
21263
|
"name": "name",
|
|
21264
|
+
"on_source_d_do_s_protection_config": "onSourceDDoSProtectionConfig",
|
|
20583
21265
|
"rules": "rules",
|
|
20584
21266
|
"tags": "tags",
|
|
20585
21267
|
"token_domains": "tokenDomains",
|
|
@@ -20599,6 +21281,7 @@ class CfnWebACLProps:
|
|
|
20599
21281
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20600
21282
|
description: typing.Optional[builtins.str] = None,
|
|
20601
21283
|
name: typing.Optional[builtins.str] = None,
|
|
21284
|
+
on_source_d_do_s_protection_config: typing.Any = None,
|
|
20602
21285
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
20603
21286
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20604
21287
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -20615,6 +21298,7 @@ class CfnWebACLProps:
|
|
|
20615
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.
|
|
20616
21299
|
:param description: A description of the web ACL that helps with identification.
|
|
20617
21300
|
:param name: The name of the web ACL. You cannot change the name of a web ACL after you create it.
|
|
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.
|
|
20618
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.
|
|
20619
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.
|
|
20620
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.
|
|
@@ -20638,6 +21322,7 @@ class CfnWebACLProps:
|
|
|
20638
21322
|
check_type(argname="argument data_protection_config", value=data_protection_config, expected_type=type_hints["data_protection_config"])
|
|
20639
21323
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
20640
21324
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
21325
|
+
check_type(argname="argument on_source_d_do_s_protection_config", value=on_source_d_do_s_protection_config, expected_type=type_hints["on_source_d_do_s_protection_config"])
|
|
20641
21326
|
check_type(argname="argument rules", value=rules, expected_type=type_hints["rules"])
|
|
20642
21327
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
20643
21328
|
check_type(argname="argument token_domains", value=token_domains, expected_type=type_hints["token_domains"])
|
|
@@ -20660,6 +21345,8 @@ class CfnWebACLProps:
|
|
|
20660
21345
|
self._values["description"] = description
|
|
20661
21346
|
if name is not None:
|
|
20662
21347
|
self._values["name"] = name
|
|
21348
|
+
if on_source_d_do_s_protection_config is not None:
|
|
21349
|
+
self._values["on_source_d_do_s_protection_config"] = on_source_d_do_s_protection_config
|
|
20663
21350
|
if rules is not None:
|
|
20664
21351
|
self._values["rules"] = rules
|
|
20665
21352
|
if tags is not None:
|
|
@@ -20804,6 +21491,15 @@ class CfnWebACLProps:
|
|
|
20804
21491
|
result = self._values.get("name")
|
|
20805
21492
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
20806
21493
|
|
|
21494
|
+
@builtins.property
|
|
21495
|
+
def on_source_d_do_s_protection_config(self) -> typing.Any:
|
|
21496
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
21497
|
+
|
|
21498
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-onsourceddosprotectionconfig
|
|
21499
|
+
'''
|
|
21500
|
+
result = self._values.get("on_source_d_do_s_protection_config")
|
|
21501
|
+
return typing.cast(typing.Any, result)
|
|
21502
|
+
|
|
20807
21503
|
@builtins.property
|
|
20808
21504
|
def rules(
|
|
20809
21505
|
self,
|
|
@@ -21247,6 +21943,14 @@ def _typecheckingstub__563d7c7c3c7b0cea107ea61895bf83f08deacaa77dd306915bce97452
|
|
|
21247
21943
|
"""Type checking stubs"""
|
|
21248
21944
|
pass
|
|
21249
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
|
+
|
|
21250
21954
|
def _typecheckingstub__48d37744c2bde6e8969fbbe9f60128093f4d69360ff6c086fcb635ca42f3ae63(
|
|
21251
21955
|
*,
|
|
21252
21956
|
custom_response: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.CustomResponseProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21504,6 +22208,7 @@ def _typecheckingstub__ac0f7a31c2c062eaaca70b7d43c11c1e6b78ce7502ec2206e832cabc7
|
|
|
21504
22208
|
|
|
21505
22209
|
def _typecheckingstub__6bc232408309212f7b145d76c0106073269f111e106ab6d74a4d2168f41f248b(
|
|
21506
22210
|
*,
|
|
22211
|
+
asn: typing.Any = None,
|
|
21507
22212
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21508
22213
|
forwarded_ip: typing.Any = None,
|
|
21509
22214
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21669,6 +22374,7 @@ def _typecheckingstub__b9ae549bd77f9cf10d97954d1e78a797db181843dcc5510b91fc32672
|
|
|
21669
22374
|
def _typecheckingstub__c10bc3e3f69d89ad06f25a44daee62e7de586ae4280e39230f29c24092fe4a4f(
|
|
21670
22375
|
*,
|
|
21671
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,
|
|
21672
22378
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21673
22379
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21674
22380
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRuleGroup.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -21747,6 +22453,7 @@ def _typecheckingstub__03030a65c492e95a1d1ae5ddafd6acbb9efdfa7e18b6367ac7e03eb8f
|
|
|
21747
22453
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21748
22454
|
description: typing.Optional[builtins.str] = None,
|
|
21749
22455
|
name: typing.Optional[builtins.str] = None,
|
|
22456
|
+
on_source_d_do_s_protection_config: typing.Any = None,
|
|
21750
22457
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
21751
22458
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21752
22459
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -21826,6 +22533,12 @@ def _typecheckingstub__191460374393c7b9829682ab4faa571596cd3c2090e46352a427930a2
|
|
|
21826
22533
|
"""Type checking stubs"""
|
|
21827
22534
|
pass
|
|
21828
22535
|
|
|
22536
|
+
def _typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2(
|
|
22537
|
+
value: typing.Any,
|
|
22538
|
+
) -> None:
|
|
22539
|
+
"""Type checking stubs"""
|
|
22540
|
+
pass
|
|
22541
|
+
|
|
21829
22542
|
def _typecheckingstub__7e3abb4095a53abe30bca846b48411ffb15b0267398c52a824a8ffba45db4f4c(
|
|
21830
22543
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnWebACL.RuleProperty]]]],
|
|
21831
22544
|
) -> None:
|
|
@@ -21865,6 +22578,14 @@ def _typecheckingstub__f9aee7f94c21473b0495313f92d8a99724499d3f5a99e7229679efb1e
|
|
|
21865
22578
|
"""Type checking stubs"""
|
|
21866
22579
|
pass
|
|
21867
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
|
+
|
|
21868
22589
|
def _typecheckingstub__23917b7bd12237aafb58493973b8f61366778e01800aad21ea2f95a01294dc76(
|
|
21869
22590
|
*,
|
|
21870
22591
|
inspection_level: builtins.str,
|
|
@@ -21887,6 +22608,14 @@ def _typecheckingstub__e3977b616ebe935b8882258fb7fe1261468bceabf99977afc1c05b1df
|
|
|
21887
22608
|
"""Type checking stubs"""
|
|
21888
22609
|
pass
|
|
21889
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
|
+
|
|
21890
22619
|
def _typecheckingstub__889bff55ba91160187275a11669025b829161457b27db183745c6a70c6fb0947(
|
|
21891
22620
|
*,
|
|
21892
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,
|
|
@@ -21947,6 +22676,22 @@ def _typecheckingstub__e59d4e09b55c6fb1e18f3dbf3d0659f147db2659c300a744e836928d4
|
|
|
21947
22676
|
"""Type checking stubs"""
|
|
21948
22677
|
pass
|
|
21949
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
|
+
|
|
21950
22695
|
def _typecheckingstub__11e565e9aad1b474694cbb7c884715be324a3c5b38238a45e13e0d2ed78d816d(
|
|
21951
22696
|
*,
|
|
21952
22697
|
all: typing.Any = None,
|
|
@@ -22178,6 +22923,7 @@ def _typecheckingstub__bf81be90baf4410ecf4fe3290d007b8b6c18da545bbac600a4ec86a29
|
|
|
22178
22923
|
def _typecheckingstub__517661cb97cc58c609587fc6ca9907b2e23d8f3cd6e1e4034f3f6d82b85d2d77(
|
|
22179
22924
|
*,
|
|
22180
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,
|
|
22181
22927
|
aws_managed_rules_atp_rule_set: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.AWSManagedRulesATPRuleSetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22182
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,
|
|
22183
22929
|
login_path: typing.Optional[builtins.str] = None,
|
|
@@ -22208,6 +22954,13 @@ def _typecheckingstub__6323d964e28230f9d2649acc0c25b70ee57b1f6721b37df85848f3c96
|
|
|
22208
22954
|
"""Type checking stubs"""
|
|
22209
22955
|
pass
|
|
22210
22956
|
|
|
22957
|
+
def _typecheckingstub__b1d55e97c88ee1084655df55da4bb940ea39dc6807c3b4f425073a3a747e0dbc(
|
|
22958
|
+
*,
|
|
22959
|
+
alb_low_reputation_mode: builtins.str,
|
|
22960
|
+
) -> None:
|
|
22961
|
+
"""Type checking stubs"""
|
|
22962
|
+
pass
|
|
22963
|
+
|
|
22211
22964
|
def _typecheckingstub__857a9b37018dee0d151e0a05984b557cea8bf5f8e57f6957cacb75335b7f4985(
|
|
22212
22965
|
*,
|
|
22213
22966
|
statements: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.StatementProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
@@ -22225,6 +22978,7 @@ def _typecheckingstub__799e1b838f491914647df091fcbac72eb8119756fda0c013be732c461
|
|
|
22225
22978
|
|
|
22226
22979
|
def _typecheckingstub__2edac52bcb13f69d4349ba55a4d083851908f1dd71831794e88ac043e1ade5a3(
|
|
22227
22980
|
*,
|
|
22981
|
+
asn: typing.Any = None,
|
|
22228
22982
|
cookie: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitCookieProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22229
22983
|
forwarded_ip: typing.Any = None,
|
|
22230
22984
|
header: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RateLimitHeaderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22329,6 +23083,13 @@ def _typecheckingstub__02b7d36560bfd4ed2bd6508818cf89b216972c719200032cdc4b3a04e
|
|
|
22329
23083
|
"""Type checking stubs"""
|
|
22330
23084
|
pass
|
|
22331
23085
|
|
|
23086
|
+
def _typecheckingstub__91e754c074f286d30a035b0cb9d25503568a265d4426fe4f4bfc0766c9c71d90(
|
|
23087
|
+
*,
|
|
23088
|
+
regex_string: typing.Optional[builtins.str] = None,
|
|
23089
|
+
) -> None:
|
|
23090
|
+
"""Type checking stubs"""
|
|
23091
|
+
pass
|
|
23092
|
+
|
|
22332
23093
|
def _typecheckingstub__22d5e10d054b4857a7983cdc47094a04c46a1c4d98b791e6c9aa5b16fe172d31(
|
|
22333
23094
|
*,
|
|
22334
23095
|
default_size_inspection_limit: builtins.str,
|
|
@@ -22480,6 +23241,7 @@ def _typecheckingstub__58178c25f953747f989ea51846855e784a44825b0202fe8e0a5c3920a
|
|
|
22480
23241
|
def _typecheckingstub__0382dea984940e1444b28282683162580df37103e33ab59384736c3a85a2ec11(
|
|
22481
23242
|
*,
|
|
22482
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,
|
|
22483
23245
|
byte_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.ByteMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22484
23246
|
geo_match_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.GeoMatchStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22485
23247
|
ip_set_reference_statement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.IPSetReferenceStatementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -22584,6 +23346,7 @@ def _typecheckingstub__6e738df983d65d43590c0a02c03e6e0daa3a2097ae335371d22711838
|
|
|
22584
23346
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22585
23347
|
description: typing.Optional[builtins.str] = None,
|
|
22586
23348
|
name: typing.Optional[builtins.str] = None,
|
|
23349
|
+
on_source_d_do_s_protection_config: typing.Any = None,
|
|
22587
23350
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22588
23351
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22589
23352
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|