aws-cdk-lib 2.202.0__py3-none-any.whl → 2.203.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 +46 -47
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.0.jsii.tgz} +0 -0
- aws_cdk/aws_accessanalyzer/__init__.py +310 -4
- aws_cdk/aws_aiops/__init__.py +964 -0
- aws_cdk/aws_amplify/__init__.py +127 -0
- aws_cdk/aws_arczonalshift/__init__.py +8 -8
- aws_cdk/aws_b2bi/__init__.py +782 -3
- aws_cdk/aws_backup/__init__.py +22 -0
- aws_cdk/aws_batch/__init__.py +53 -1
- aws_cdk/aws_bedrock/__init__.py +123 -9
- aws_cdk/aws_cleanrooms/__init__.py +157 -154
- aws_cdk/aws_cloudformation/__init__.py +28 -28
- aws_cdk/aws_cloudfront/__init__.py +61 -18
- aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
- aws_cdk/aws_cloudwatch/__init__.py +228 -2
- aws_cdk/aws_connect/__init__.py +120 -8
- aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
- aws_cdk/aws_customerprofiles/__init__.py +140 -20
- aws_cdk/aws_datazone/__init__.py +23 -4
- aws_cdk/aws_deadline/__init__.py +4 -4
- aws_cdk/aws_dsql/__init__.py +148 -0
- aws_cdk/aws_ec2/__init__.py +159 -7
- aws_cdk/aws_ecr/__init__.py +3 -3
- aws_cdk/aws_ecs/__init__.py +48 -13
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
- aws_cdk/aws_emrserverless/__init__.py +118 -0
- aws_cdk/aws_fsx/__init__.py +891 -0
- aws_cdk/aws_iam/__init__.py +8 -8
- aws_cdk/aws_inspectorv2/__init__.py +442 -3
- aws_cdk/aws_kendra/__init__.py +10 -5
- aws_cdk/aws_kms/__init__.py +14 -8
- aws_cdk/aws_lambda/__init__.py +191 -24
- aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
- aws_cdk/aws_lex/__init__.py +703 -0
- aws_cdk/aws_logs/__init__.py +144 -0
- aws_cdk/aws_mediatailor/__init__.py +399 -0
- aws_cdk/aws_mpa/__init__.py +1475 -0
- aws_cdk/aws_networkfirewall/__init__.py +4 -2
- aws_cdk/aws_networkmanager/__init__.py +51 -3
- aws_cdk/aws_opsworkscm/__init__.py +44 -2
- aws_cdk/aws_rds/__init__.py +171 -41
- aws_cdk/aws_redshiftserverless/__init__.py +632 -0
- aws_cdk/aws_route53resolver/__init__.py +58 -10
- aws_cdk/aws_s3/__init__.py +3 -1
- aws_cdk/aws_s3tables/__init__.py +230 -0
- aws_cdk/aws_sagemaker/__init__.py +6 -2
- aws_cdk/aws_securityhub/__init__.py +2887 -56
- aws_cdk/aws_synthetics/__init__.py +21 -0
- aws_cdk/aws_vpclattice/__init__.py +6 -4
- aws_cdk/aws_wafv2/__init__.py +156 -51
- aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
- aws_cdk/cloud_assembly_schema/__init__.py +200 -4
- aws_cdk/cx_api/__init__.py +15 -14
- aws_cdk/pipelines/__init__.py +31 -3
- aws_cdk/triggers/__init__.py +41 -4
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/METADATA +3 -3
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/RECORD +62 -59
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_wafv2/__init__.py
CHANGED
|
@@ -2780,9 +2780,12 @@ class CfnRuleGroup(
|
|
|
2780
2780
|
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
2781
2781
|
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRuleGroup.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2782
2782
|
) -> None:
|
|
2783
|
-
'''
|
|
2784
|
-
|
|
2785
|
-
|
|
2783
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
2784
|
+
|
|
2785
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
2786
|
+
|
|
2787
|
+
:param asn_list: Contains one or more Autonomous System Numbers (ASNs). ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
2788
|
+
:param forwarded_ip_config: The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
2786
2789
|
|
|
2787
2790
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html
|
|
2788
2791
|
:exampleMetadata: fixture=_generated
|
|
@@ -2815,7 +2818,10 @@ class CfnRuleGroup(
|
|
|
2815
2818
|
def asn_list(
|
|
2816
2819
|
self,
|
|
2817
2820
|
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
2818
|
-
'''
|
|
2821
|
+
'''Contains one or more Autonomous System Numbers (ASNs).
|
|
2822
|
+
|
|
2823
|
+
ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
2824
|
+
|
|
2819
2825
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-asnlist
|
|
2820
2826
|
'''
|
|
2821
2827
|
result = self._values.get("asn_list")
|
|
@@ -2825,7 +2831,10 @@ class CfnRuleGroup(
|
|
|
2825
2831
|
def forwarded_ip_config(
|
|
2826
2832
|
self,
|
|
2827
2833
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.ForwardedIPConfigurationProperty"]]:
|
|
2828
|
-
'''
|
|
2834
|
+
'''The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin.
|
|
2835
|
+
|
|
2836
|
+
Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
2837
|
+
|
|
2829
2838
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-asnmatchstatement.html#cfn-wafv2-rulegroup-asnmatchstatement-forwardedipconfig
|
|
2830
2839
|
'''
|
|
2831
2840
|
result = self._values.get("forwarded_ip_config")
|
|
@@ -6742,7 +6751,7 @@ class CfnRuleGroup(
|
|
|
6742
6751
|
|
|
6743
6752
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
6744
6753
|
|
|
6745
|
-
:param asn:
|
|
6754
|
+
:param asn: Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key. Each distinct ASN contributes to the aggregation instance.
|
|
6746
6755
|
: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.
|
|
6747
6756
|
: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.
|
|
6748
6757
|
: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.
|
|
@@ -6860,7 +6869,9 @@ class CfnRuleGroup(
|
|
|
6860
6869
|
|
|
6861
6870
|
@builtins.property
|
|
6862
6871
|
def asn(self) -> typing.Any:
|
|
6863
|
-
'''
|
|
6872
|
+
'''Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key.
|
|
6873
|
+
|
|
6874
|
+
Each distinct ASN contributes to the aggregation instance.
|
|
6864
6875
|
|
|
6865
6876
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementcustomkey.html#cfn-wafv2-rulegroup-ratebasedstatementcustomkey-asn
|
|
6866
6877
|
'''
|
|
@@ -9897,7 +9908,7 @@ class CfnRuleGroup(
|
|
|
9897
9908
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
9898
9909
|
|
|
9899
9910
|
: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:
|
|
9911
|
+
:param asn_match_statement: A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address. For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
9901
9912
|
: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.
|
|
9902
9913
|
: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>`_ .
|
|
9903
9914
|
: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.
|
|
@@ -10438,7 +10449,10 @@ class CfnRuleGroup(
|
|
|
10438
10449
|
def asn_match_statement(
|
|
10439
10450
|
self,
|
|
10440
10451
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRuleGroup.AsnMatchStatementProperty"]]:
|
|
10441
|
-
'''
|
|
10452
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
10453
|
+
|
|
10454
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
10455
|
+
|
|
10442
10456
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-asnmatchstatement
|
|
10443
10457
|
'''
|
|
10444
10458
|
result = self._values.get("asn_match_statement")
|
|
@@ -11337,7 +11351,7 @@ class CfnWebACL(
|
|
|
11337
11351
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.DataProtectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11338
11352
|
description: typing.Optional[builtins.str] = None,
|
|
11339
11353
|
name: typing.Optional[builtins.str] = None,
|
|
11340
|
-
on_source_d_do_s_protection_config: typing.Any = None,
|
|
11354
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.OnSourceDDoSProtectionConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11341
11355
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
11342
11356
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
11343
11357
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -11635,12 +11649,17 @@ class CfnWebACL(
|
|
|
11635
11649
|
|
|
11636
11650
|
@builtins.property
|
|
11637
11651
|
@jsii.member(jsii_name="onSourceDDoSProtectionConfig")
|
|
11638
|
-
def on_source_d_do_s_protection_config(
|
|
11652
|
+
def on_source_d_do_s_protection_config(
|
|
11653
|
+
self,
|
|
11654
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]]:
|
|
11639
11655
|
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.'''
|
|
11640
|
-
return typing.cast(typing.
|
|
11656
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]], jsii.get(self, "onSourceDDoSProtectionConfig"))
|
|
11641
11657
|
|
|
11642
11658
|
@on_source_d_do_s_protection_config.setter
|
|
11643
|
-
def on_source_d_do_s_protection_config(
|
|
11659
|
+
def on_source_d_do_s_protection_config(
|
|
11660
|
+
self,
|
|
11661
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.OnSourceDDoSProtectionConfigProperty"]],
|
|
11662
|
+
) -> None:
|
|
11644
11663
|
if __debug__:
|
|
11645
11664
|
type_hints = typing.get_type_hints(_typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2)
|
|
11646
11665
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
@@ -12049,10 +12068,14 @@ class CfnWebACL(
|
|
|
12049
12068
|
client_side_action_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
12050
12069
|
sensitivity_to_block: typing.Optional[builtins.str] = None,
|
|
12051
12070
|
) -> None:
|
|
12052
|
-
'''Configures
|
|
12071
|
+
'''Configures the use of the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` . This configuration is used in ``ManagedRuleGroupConfig`` .
|
|
12072
|
+
|
|
12073
|
+
The configuration that you provide here determines whether and how the rules in the rule group are used.
|
|
12074
|
+
|
|
12075
|
+
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* .
|
|
12053
12076
|
|
|
12054
|
-
:param client_side_action_config:
|
|
12055
|
-
:param sensitivity_to_block:
|
|
12077
|
+
:param client_side_action_config: Configures the request handling that's applied by the managed rule group rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` during a distributed denial of service (DDoS) attack.
|
|
12078
|
+
:param sensitivity_to_block: The sensitivity that the rule group rule ``DDoSRequests`` uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ``DDoSRequests`` rule runs. The higher the sensitivity, the more levels of labeling that the rule matches: - Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` . - Medium sensitivity causes the rule to match on the medium and high suspicion labels. - High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high. Default: ``LOW``
|
|
12056
12079
|
|
|
12057
12080
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html
|
|
12058
12081
|
:exampleMetadata: fixture=_generated
|
|
@@ -12094,7 +12117,7 @@ class CfnWebACL(
|
|
|
12094
12117
|
def client_side_action_config(
|
|
12095
12118
|
self,
|
|
12096
12119
|
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionConfigProperty"]:
|
|
12097
|
-
'''
|
|
12120
|
+
'''Configures the request handling that's applied by the managed rule group rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` during a distributed denial of service (DDoS) attack.
|
|
12098
12121
|
|
|
12099
12122
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-clientsideactionconfig
|
|
12100
12123
|
'''
|
|
@@ -12104,7 +12127,18 @@ class CfnWebACL(
|
|
|
12104
12127
|
|
|
12105
12128
|
@builtins.property
|
|
12106
12129
|
def sensitivity_to_block(self) -> typing.Optional[builtins.str]:
|
|
12107
|
-
'''
|
|
12130
|
+
'''The sensitivity that the rule group rule ``DDoSRequests`` uses when matching against the DDoS suspicion labeling on a request.
|
|
12131
|
+
|
|
12132
|
+
The managed rule group adds the labeling during DDoS events, before the ``DDoSRequests`` rule runs.
|
|
12133
|
+
|
|
12134
|
+
The higher the sensitivity, the more levels of labeling that the rule matches:
|
|
12135
|
+
|
|
12136
|
+
- Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` .
|
|
12137
|
+
- Medium sensitivity causes the rule to match on the medium and high suspicion labels.
|
|
12138
|
+
- High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.
|
|
12139
|
+
|
|
12140
|
+
Default: ``LOW``
|
|
12141
|
+
|
|
12108
12142
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesantiddosruleset.html#cfn-wafv2-webacl-awsmanagedrulesantiddosruleset-sensitivitytoblock
|
|
12109
12143
|
'''
|
|
12110
12144
|
result = self._values.get("sensitivity_to_block")
|
|
@@ -12349,9 +12383,12 @@ class CfnWebACL(
|
|
|
12349
12383
|
asn_list: typing.Optional[typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b]] = None,
|
|
12350
12384
|
forwarded_ip_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ForwardedIPConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
12351
12385
|
) -> None:
|
|
12352
|
-
'''
|
|
12353
|
-
|
|
12354
|
-
|
|
12386
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
12387
|
+
|
|
12388
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
12389
|
+
|
|
12390
|
+
:param asn_list: Contains one or more Autonomous System Numbers (ASNs). ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
12391
|
+
:param forwarded_ip_config: The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
12355
12392
|
|
|
12356
12393
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html
|
|
12357
12394
|
:exampleMetadata: fixture=_generated
|
|
@@ -12384,7 +12421,10 @@ class CfnWebACL(
|
|
|
12384
12421
|
def asn_list(
|
|
12385
12422
|
self,
|
|
12386
12423
|
) -> typing.Optional[typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]]:
|
|
12387
|
-
'''
|
|
12424
|
+
'''Contains one or more Autonomous System Numbers (ASNs).
|
|
12425
|
+
|
|
12426
|
+
ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies.
|
|
12427
|
+
|
|
12388
12428
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-asnlist
|
|
12389
12429
|
'''
|
|
12390
12430
|
result = self._values.get("asn_list")
|
|
@@ -12394,7 +12434,10 @@ class CfnWebACL(
|
|
|
12394
12434
|
def forwarded_ip_config(
|
|
12395
12435
|
self,
|
|
12396
12436
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ForwardedIPConfigurationProperty"]]:
|
|
12397
|
-
'''
|
|
12437
|
+
'''The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin.
|
|
12438
|
+
|
|
12439
|
+
Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
|
|
12440
|
+
|
|
12398
12441
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-asnmatchstatement.html#cfn-wafv2-webacl-asnmatchstatement-forwardedipconfig
|
|
12399
12442
|
'''
|
|
12400
12443
|
result = self._values.get("forwarded_ip_config")
|
|
@@ -13151,9 +13194,9 @@ class CfnWebACL(
|
|
|
13151
13194
|
*,
|
|
13152
13195
|
challenge: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ClientSideActionProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
13153
13196
|
) -> None:
|
|
13154
|
-
'''
|
|
13197
|
+
'''This is part of the configuration for the managed rules ``AWSManagedRulesAntiDDoSRuleSet`` in ``ManagedRuleGroupConfig`` .
|
|
13155
13198
|
|
|
13156
|
-
:param challenge:
|
|
13199
|
+
:param challenge: Configuration for the use of the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` . .. epigraph:: This setting isn't related to the configuration of the ``Challenge`` action itself. It only configures the use of the two anti-DDoS rules named here. You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.
|
|
13157
13200
|
|
|
13158
13201
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html
|
|
13159
13202
|
:exampleMetadata: fixture=_generated
|
|
@@ -13187,7 +13230,13 @@ class CfnWebACL(
|
|
|
13187
13230
|
def challenge(
|
|
13188
13231
|
self,
|
|
13189
13232
|
) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.ClientSideActionProperty"]:
|
|
13190
|
-
'''
|
|
13233
|
+
'''Configuration for the use of the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` .
|
|
13234
|
+
|
|
13235
|
+
.. epigraph::
|
|
13236
|
+
|
|
13237
|
+
This setting isn't related to the configuration of the ``Challenge`` action itself. It only configures the use of the two anti-DDoS rules named here.
|
|
13238
|
+
|
|
13239
|
+
You can enable or disable the use of these rules, and you can configure how to use them when they are enabled.
|
|
13191
13240
|
|
|
13192
13241
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideactionconfig.html#cfn-wafv2-webacl-clientsideactionconfig-challenge
|
|
13193
13242
|
'''
|
|
@@ -13223,11 +13272,11 @@ class CfnWebACL(
|
|
|
13223
13272
|
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
13273
|
sensitivity: typing.Optional[builtins.str] = None,
|
|
13225
13274
|
) -> None:
|
|
13226
|
-
'''
|
|
13275
|
+
'''This is part of the ``AWSManagedRulesAntiDDoSRuleSet`` ``ClientSideActionConfig`` configuration in ``ManagedRuleGroupConfig`` .
|
|
13227
13276
|
|
|
13228
|
-
:param usage_of_action:
|
|
13229
|
-
:param exempt_uri_regular_expressions:
|
|
13230
|
-
:param sensitivity:
|
|
13277
|
+
:param usage_of_action: Determines whether to use the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the rule group evaluation and the related label ``awswaf:managed:aws:anti-ddos:challengeable-request`` . - If usage is enabled: - The managed rule group adds the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web request whose URL does *NOT* match the regular expressions provided in the ``ClientSideAction`` setting ``ExemptUriRegularExpressions`` . - The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack. The two rules only apply their action to matching requests that have the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` . - If usage is disabled: - The managed rule group doesn't add the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web requests. - The two rules are not evaluated. - None of the other ``ClientSideAction`` settings have any effect. .. epigraph:: This setting only enables or disables the use of the two anti-DDOS rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the anti-DDoS managed rule group. This setting doesn't alter the action setting in the two rules. To override the actions used by the rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` , enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.
|
|
13278
|
+
:param exempt_uri_regular_expressions: The regular expression to match against the web request URI, used to identify requests that can't handle a silent browser challenge. When the ``ClientSideAction`` setting ``UsageOfAction`` is enabled, the managed rule group uses this setting to determine which requests to label with ``awswaf:managed:aws:anti-ddos:challengeable-request`` . If ``UsageOfAction`` is disabled, this setting has no effect and the managed rule group doesn't add the label to any requests. The anti-DDoS managed rule group doesn't evaluate the rules ``ChallengeDDoSRequests`` or ``ChallengeAllDuringEvent`` for web requests whose URIs match this regex. This is true regardless of whether you override the rule action for either of the rules in your web ACL configuration. AWS recommends using a regular expression. This setting is required if ``UsageOfAction`` is set to ``ENABLED`` . If required, you can provide between 1 and 5 regex objects in the array of settings. AWS recommends starting with the following setting. Review and update it for your application's needs: ``\\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$``
|
|
13279
|
+
:param sensitivity: The sensitivity that the rule group rule ``ChallengeDDoSRequests`` uses when matching against the DDoS suspicion labeling on a request. The managed rule group adds the labeling during DDoS events, before the ``ChallengeDDoSRequests`` rule runs. The higher the sensitivity, the more levels of labeling that the rule matches: - Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` . - Medium sensitivity causes the rule to match on the medium and high suspicion labels. - High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high. Default: ``HIGH``
|
|
13231
13280
|
|
|
13232
13281
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html
|
|
13233
13282
|
:exampleMetadata: fixture=_generated
|
|
@@ -13263,7 +13312,22 @@ class CfnWebACL(
|
|
|
13263
13312
|
|
|
13264
13313
|
@builtins.property
|
|
13265
13314
|
def usage_of_action(self) -> builtins.str:
|
|
13266
|
-
'''
|
|
13315
|
+
'''Determines whether to use the ``AWSManagedRulesAntiDDoSRuleSet`` rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the rule group evaluation and the related label ``awswaf:managed:aws:anti-ddos:challengeable-request`` .
|
|
13316
|
+
|
|
13317
|
+
- If usage is enabled:
|
|
13318
|
+
- The managed rule group adds the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web request whose URL does *NOT* match the regular expressions provided in the ``ClientSideAction`` setting ``ExemptUriRegularExpressions`` .
|
|
13319
|
+
- The two rules are evaluated against web requests for protected resources that are experiencing a DDoS attack. The two rules only apply their action to matching requests that have the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` .
|
|
13320
|
+
- If usage is disabled:
|
|
13321
|
+
- The managed rule group doesn't add the label ``awswaf:managed:aws:anti-ddos:challengeable-request`` to any web requests.
|
|
13322
|
+
- The two rules are not evaluated.
|
|
13323
|
+
- None of the other ``ClientSideAction`` settings have any effect.
|
|
13324
|
+
|
|
13325
|
+
.. epigraph::
|
|
13326
|
+
|
|
13327
|
+
This setting only enables or disables the use of the two anti-DDOS rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` in the anti-DDoS managed rule group.
|
|
13328
|
+
|
|
13329
|
+
This setting doesn't alter the action setting in the two rules. To override the actions used by the rules ``ChallengeAllDuringEvent`` and ``ChallengeDDoSRequests`` , enable this setting, and then override the rule actions in the usual way, in your managed rule group configuration.
|
|
13330
|
+
|
|
13267
13331
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-usageofaction
|
|
13268
13332
|
'''
|
|
13269
13333
|
result = self._values.get("usage_of_action")
|
|
@@ -13274,7 +13338,20 @@ class CfnWebACL(
|
|
|
13274
13338
|
def exempt_uri_regular_expressions(
|
|
13275
13339
|
self,
|
|
13276
13340
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.RegexProperty"]]]]:
|
|
13277
|
-
'''
|
|
13341
|
+
'''The regular expression to match against the web request URI, used to identify requests that can't handle a silent browser challenge.
|
|
13342
|
+
|
|
13343
|
+
When the ``ClientSideAction`` setting ``UsageOfAction`` is enabled, the managed rule group uses this setting to determine which requests to label with ``awswaf:managed:aws:anti-ddos:challengeable-request`` . If ``UsageOfAction`` is disabled, this setting has no effect and the managed rule group doesn't add the label to any requests.
|
|
13344
|
+
|
|
13345
|
+
The anti-DDoS managed rule group doesn't evaluate the rules ``ChallengeDDoSRequests`` or ``ChallengeAllDuringEvent`` for web requests whose URIs match this regex. This is true regardless of whether you override the rule action for either of the rules in your web ACL configuration.
|
|
13346
|
+
|
|
13347
|
+
AWS recommends using a regular expression.
|
|
13348
|
+
|
|
13349
|
+
This setting is required if ``UsageOfAction`` is set to ``ENABLED`` . If required, you can provide between 1 and 5 regex objects in the array of settings.
|
|
13350
|
+
|
|
13351
|
+
AWS recommends starting with the following setting. Review and update it for your application's needs:
|
|
13352
|
+
|
|
13353
|
+
``\\/api\\/|\\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$``
|
|
13354
|
+
|
|
13278
13355
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-exempturiregularexpressions
|
|
13279
13356
|
'''
|
|
13280
13357
|
result = self._values.get("exempt_uri_regular_expressions")
|
|
@@ -13282,7 +13359,18 @@ class CfnWebACL(
|
|
|
13282
13359
|
|
|
13283
13360
|
@builtins.property
|
|
13284
13361
|
def sensitivity(self) -> typing.Optional[builtins.str]:
|
|
13285
|
-
'''
|
|
13362
|
+
'''The sensitivity that the rule group rule ``ChallengeDDoSRequests`` uses when matching against the DDoS suspicion labeling on a request.
|
|
13363
|
+
|
|
13364
|
+
The managed rule group adds the labeling during DDoS events, before the ``ChallengeDDoSRequests`` rule runs.
|
|
13365
|
+
|
|
13366
|
+
The higher the sensitivity, the more levels of labeling that the rule matches:
|
|
13367
|
+
|
|
13368
|
+
- Low sensitivity is less sensitive, causing the rule to match only on the most likely participants in an attack, which are the requests with the high suspicion label ``awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`` .
|
|
13369
|
+
- Medium sensitivity causes the rule to match on the medium and high suspicion labels.
|
|
13370
|
+
- High sensitivity causes the rule to match on all of the suspicion labels: low, medium, and high.
|
|
13371
|
+
|
|
13372
|
+
Default: ``HIGH``
|
|
13373
|
+
|
|
13286
13374
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-clientsideaction.html#cfn-wafv2-webacl-clientsideaction-sensitivity
|
|
13287
13375
|
'''
|
|
13288
13376
|
result = self._values.get("sensitivity")
|
|
@@ -15981,7 +16069,7 @@ class CfnWebACL(
|
|
|
15981
16069
|
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
|
|
15982
16070
|
|
|
15983
16071
|
: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:
|
|
16072
|
+
:param aws_managed_rules_anti_d_do_s_rule_set: Additional configuration for using the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` . Use this to configure anti-DDoS behavior for the rule group. For information about using the anti-DDoS managed rule group, see `AWS WAF Anti-DDoS rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-anti-ddos.html>`_ and `Distributed Denial of Service (DDoS) prevention <https://docs.aws.amazon.com/waf/latest/developerguide/waf-anti-ddos.html>`_ in the *AWS WAF Developer Guide* .
|
|
15985
16073
|
: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* .
|
|
15986
16074
|
: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* .
|
|
15987
16075
|
:param login_path: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` .
|
|
@@ -16160,7 +16248,11 @@ class CfnWebACL(
|
|
|
16160
16248
|
def aws_managed_rules_anti_d_do_s_rule_set(
|
|
16161
16249
|
self,
|
|
16162
16250
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesAntiDDoSRuleSetProperty"]]:
|
|
16163
|
-
'''
|
|
16251
|
+
'''Additional configuration for using the anti-DDoS managed rule group, ``AWSManagedRulesAntiDDoSRuleSet`` .
|
|
16252
|
+
|
|
16253
|
+
Use this to configure anti-DDoS behavior for the rule group.
|
|
16254
|
+
|
|
16255
|
+
For information about using the anti-DDoS managed rule group, see `AWS WAF Anti-DDoS rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-anti-ddos.html>`_ and `Distributed Denial of Service (DDoS) prevention <https://docs.aws.amazon.com/waf/latest/developerguide/waf-anti-ddos.html>`_ in the *AWS WAF Developer Guide* .
|
|
16164
16256
|
|
|
16165
16257
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesantiddosruleset
|
|
16166
16258
|
'''
|
|
@@ -16502,9 +16594,9 @@ class CfnWebACL(
|
|
|
16502
16594
|
)
|
|
16503
16595
|
class OnSourceDDoSProtectionConfigProperty:
|
|
16504
16596
|
def __init__(self, *, alb_low_reputation_mode: builtins.str) -> None:
|
|
16505
|
-
'''Configures the
|
|
16597
|
+
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
16506
16598
|
|
|
16507
|
-
:param alb_low_reputation_mode:
|
|
16599
|
+
:param alb_low_reputation_mode: The level of DDoS protection that applies to web ACLs associated with Application Load Balancers. ``ACTIVE_UNDER_DDOS`` protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ``ACTIVE_UNDER_DDOS`` protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. ``ALWAYS_ON`` protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.
|
|
16508
16600
|
|
|
16509
16601
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html
|
|
16510
16602
|
:exampleMetadata: fixture=_generated
|
|
@@ -16528,7 +16620,10 @@ class CfnWebACL(
|
|
|
16528
16620
|
|
|
16529
16621
|
@builtins.property
|
|
16530
16622
|
def alb_low_reputation_mode(self) -> builtins.str:
|
|
16531
|
-
'''
|
|
16623
|
+
'''The level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
16624
|
+
|
|
16625
|
+
``ACTIVE_UNDER_DDOS`` protection is enabled by default whenever a web ACL is associated with an Application Load Balancer. In the event that an Application Load Balancer experiences high-load conditions or suspected DDoS attacks, the ``ACTIVE_UNDER_DDOS`` protection automatically rate limits traffic from known low reputation sources without disrupting Application Load Balancer availability. ``ALWAYS_ON`` protection provides constant, always-on monitoring of known low reputation sources for suspected DDoS attacks. While this provides a higher level of protection, there may be potential impacts on legitimate traffic.
|
|
16626
|
+
|
|
16532
16627
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-onsourceddosprotectionconfig.html#cfn-wafv2-webacl-onsourceddosprotectionconfig-alblowreputationmode
|
|
16533
16628
|
'''
|
|
16534
16629
|
result = self._values.get("alb_low_reputation_mode")
|
|
@@ -16729,7 +16824,7 @@ class CfnWebACL(
|
|
|
16729
16824
|
|
|
16730
16825
|
Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling.
|
|
16731
16826
|
|
|
16732
|
-
:param asn:
|
|
16827
|
+
:param asn: Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key. Each distinct ASN contributes to the aggregation instance.
|
|
16733
16828
|
: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.
|
|
16734
16829
|
: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.
|
|
16735
16830
|
: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.
|
|
@@ -16847,7 +16942,9 @@ class CfnWebACL(
|
|
|
16847
16942
|
|
|
16848
16943
|
@builtins.property
|
|
16849
16944
|
def asn(self) -> typing.Any:
|
|
16850
|
-
'''
|
|
16945
|
+
'''Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key.
|
|
16946
|
+
|
|
16947
|
+
Each distinct ASN contributes to the aggregation instance.
|
|
16851
16948
|
|
|
16852
16949
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html#cfn-wafv2-webacl-ratebasedstatementcustomkey-asn
|
|
16853
16950
|
'''
|
|
@@ -18101,9 +18198,11 @@ class CfnWebACL(
|
|
|
18101
18198
|
*,
|
|
18102
18199
|
regex_string: typing.Optional[builtins.str] = None,
|
|
18103
18200
|
) -> None:
|
|
18104
|
-
'''
|
|
18201
|
+
'''A single regular expression.
|
|
18105
18202
|
|
|
18106
|
-
|
|
18203
|
+
This is used in a ``RegexPatternSet`` and also in the configuration for the AWS Managed Rules rule group ``AWSManagedRulesAntiDDoSRuleSet`` .
|
|
18204
|
+
|
|
18205
|
+
:param regex_string: The string representing the regular expression.
|
|
18107
18206
|
|
|
18108
18207
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html
|
|
18109
18208
|
:exampleMetadata: fixture=_generated
|
|
@@ -18127,7 +18226,8 @@ class CfnWebACL(
|
|
|
18127
18226
|
|
|
18128
18227
|
@builtins.property
|
|
18129
18228
|
def regex_string(self) -> typing.Optional[builtins.str]:
|
|
18130
|
-
'''
|
|
18229
|
+
'''The string representing the regular expression.
|
|
18230
|
+
|
|
18131
18231
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regex.html#cfn-wafv2-webacl-regex-regexstring
|
|
18132
18232
|
'''
|
|
18133
18233
|
result = self._values.get("regex_string")
|
|
@@ -20286,7 +20386,7 @@ class CfnWebACL(
|
|
|
20286
20386
|
'''The processing guidance for a rule, used by AWS WAF to determine whether a web request matches the rule.
|
|
20287
20387
|
|
|
20288
20388
|
: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:
|
|
20389
|
+
:param asn_match_statement: A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address. For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
20290
20390
|
: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.
|
|
20291
20391
|
: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>`_ .
|
|
20292
20392
|
: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.
|
|
@@ -20378,7 +20478,10 @@ class CfnWebACL(
|
|
|
20378
20478
|
def asn_match_statement(
|
|
20379
20479
|
self,
|
|
20380
20480
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AsnMatchStatementProperty"]]:
|
|
20381
|
-
'''
|
|
20481
|
+
'''A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.
|
|
20482
|
+
|
|
20483
|
+
For additional details, see `ASN match rule statement <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html>`_ in the `AWS WAF Developer Guide <https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html>`_ .
|
|
20484
|
+
|
|
20382
20485
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statement.html#cfn-wafv2-webacl-statement-asnmatchstatement
|
|
20383
20486
|
'''
|
|
20384
20487
|
result = self._values.get("asn_match_statement")
|
|
@@ -21281,7 +21384,7 @@ class CfnWebACLProps:
|
|
|
21281
21384
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21282
21385
|
description: typing.Optional[builtins.str] = None,
|
|
21283
21386
|
name: typing.Optional[builtins.str] = None,
|
|
21284
|
-
on_source_d_do_s_protection_config: typing.Any = None,
|
|
21387
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21285
21388
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
21286
21389
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
21287
21390
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -21492,13 +21595,15 @@ class CfnWebACLProps:
|
|
|
21492
21595
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
21493
21596
|
|
|
21494
21597
|
@builtins.property
|
|
21495
|
-
def on_source_d_do_s_protection_config(
|
|
21598
|
+
def on_source_d_do_s_protection_config(
|
|
21599
|
+
self,
|
|
21600
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]]:
|
|
21496
21601
|
'''Configures the level of DDoS protection that applies to web ACLs associated with Application Load Balancers.
|
|
21497
21602
|
|
|
21498
21603
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-onsourceddosprotectionconfig
|
|
21499
21604
|
'''
|
|
21500
21605
|
result = self._values.get("on_source_d_do_s_protection_config")
|
|
21501
|
-
return typing.cast(typing.
|
|
21606
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]], result)
|
|
21502
21607
|
|
|
21503
21608
|
@builtins.property
|
|
21504
21609
|
def rules(
|
|
@@ -22453,7 +22558,7 @@ def _typecheckingstub__03030a65c492e95a1d1ae5ddafd6acbb9efdfa7e18b6367ac7e03eb8f
|
|
|
22453
22558
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22454
22559
|
description: typing.Optional[builtins.str] = None,
|
|
22455
22560
|
name: typing.Optional[builtins.str] = None,
|
|
22456
|
-
on_source_d_do_s_protection_config: typing.Any = None,
|
|
22561
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22457
22562
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
22458
22563
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
22459
22564
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -22534,7 +22639,7 @@ def _typecheckingstub__191460374393c7b9829682ab4faa571596cd3c2090e46352a427930a2
|
|
|
22534
22639
|
pass
|
|
22535
22640
|
|
|
22536
22641
|
def _typecheckingstub__1180464a1661a74085b880efee37841284ce892adac9d3cda8cb5c117c625ba2(
|
|
22537
|
-
value: typing.
|
|
22642
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebACL.OnSourceDDoSProtectionConfigProperty]],
|
|
22538
22643
|
) -> None:
|
|
22539
22644
|
"""Type checking stubs"""
|
|
22540
22645
|
pass
|
|
@@ -23346,7 +23451,7 @@ def _typecheckingstub__6e738df983d65d43590c0a02c03e6e0daa3a2097ae335371d22711838
|
|
|
23346
23451
|
data_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.DataProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23347
23452
|
description: typing.Optional[builtins.str] = None,
|
|
23348
23453
|
name: typing.Optional[builtins.str] = None,
|
|
23349
|
-
on_source_d_do_s_protection_config: typing.Any = None,
|
|
23454
|
+
on_source_d_do_s_protection_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.OnSourceDDoSProtectionConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23350
23455
|
rules: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebACL.RuleProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
23351
23456
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23352
23457
|
token_domains: typing.Optional[typing.Sequence[builtins.str]] = None,
|