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.

Files changed (62) hide show
  1. aws_cdk/__init__.py +46 -47
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.202.0.jsii.tgz → aws-cdk-lib@2.203.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +310 -4
  5. aws_cdk/aws_aiops/__init__.py +964 -0
  6. aws_cdk/aws_amplify/__init__.py +127 -0
  7. aws_cdk/aws_arczonalshift/__init__.py +8 -8
  8. aws_cdk/aws_b2bi/__init__.py +782 -3
  9. aws_cdk/aws_backup/__init__.py +22 -0
  10. aws_cdk/aws_batch/__init__.py +53 -1
  11. aws_cdk/aws_bedrock/__init__.py +123 -9
  12. aws_cdk/aws_cleanrooms/__init__.py +157 -154
  13. aws_cdk/aws_cloudformation/__init__.py +28 -28
  14. aws_cdk/aws_cloudfront/__init__.py +61 -18
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +37 -3
  16. aws_cdk/aws_cloudwatch/__init__.py +228 -2
  17. aws_cdk/aws_connect/__init__.py +120 -8
  18. aws_cdk/aws_connectcampaignsv2/__init__.py +25 -4
  19. aws_cdk/aws_customerprofiles/__init__.py +140 -20
  20. aws_cdk/aws_datazone/__init__.py +23 -4
  21. aws_cdk/aws_deadline/__init__.py +4 -4
  22. aws_cdk/aws_dsql/__init__.py +148 -0
  23. aws_cdk/aws_ec2/__init__.py +159 -7
  24. aws_cdk/aws_ecr/__init__.py +3 -3
  25. aws_cdk/aws_ecs/__init__.py +48 -13
  26. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -2
  27. aws_cdk/aws_emrserverless/__init__.py +118 -0
  28. aws_cdk/aws_fsx/__init__.py +891 -0
  29. aws_cdk/aws_iam/__init__.py +8 -8
  30. aws_cdk/aws_inspectorv2/__init__.py +442 -3
  31. aws_cdk/aws_kendra/__init__.py +10 -5
  32. aws_cdk/aws_kms/__init__.py +14 -8
  33. aws_cdk/aws_lambda/__init__.py +191 -24
  34. aws_cdk/aws_lambda_nodejs/__init__.py +37 -3
  35. aws_cdk/aws_lex/__init__.py +703 -0
  36. aws_cdk/aws_logs/__init__.py +144 -0
  37. aws_cdk/aws_mediatailor/__init__.py +399 -0
  38. aws_cdk/aws_mpa/__init__.py +1475 -0
  39. aws_cdk/aws_networkfirewall/__init__.py +4 -2
  40. aws_cdk/aws_networkmanager/__init__.py +51 -3
  41. aws_cdk/aws_opsworkscm/__init__.py +44 -2
  42. aws_cdk/aws_rds/__init__.py +171 -41
  43. aws_cdk/aws_redshiftserverless/__init__.py +632 -0
  44. aws_cdk/aws_route53resolver/__init__.py +58 -10
  45. aws_cdk/aws_s3/__init__.py +3 -1
  46. aws_cdk/aws_s3tables/__init__.py +230 -0
  47. aws_cdk/aws_sagemaker/__init__.py +6 -2
  48. aws_cdk/aws_securityhub/__init__.py +2887 -56
  49. aws_cdk/aws_synthetics/__init__.py +21 -0
  50. aws_cdk/aws_vpclattice/__init__.py +6 -4
  51. aws_cdk/aws_wafv2/__init__.py +156 -51
  52. aws_cdk/aws_workspacesinstances/__init__.py +3243 -0
  53. aws_cdk/cloud_assembly_schema/__init__.py +200 -4
  54. aws_cdk/cx_api/__init__.py +15 -14
  55. aws_cdk/pipelines/__init__.py +31 -3
  56. aws_cdk/triggers/__init__.py +41 -4
  57. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/RECORD +62 -59
  59. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.202.0.dist-info → aws_cdk_lib-2.203.0.dist-info}/top_level.txt +0 -0
@@ -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
- :param asn_list:
2785
- :param forwarded_ip_config:
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: Specifies the request's ASN as an aggregate key for a rate-based rule.
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
- '''Specifies the request's ASN as an aggregate key for a rate-based rule.
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(self) -> typing.Any:
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.Any, jsii.get(self, "onSourceDDoSProtectionConfig"))
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(self, value: typing.Any) -> None:
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 how to use the AntiDDOS AWS managed rule group in the web ACL.
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: Client side action config for AntiDDOS AMR.
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
- '''Client side action config for AntiDDOS AMR.
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
- :param asn_list:
12354
- :param forwarded_ip_config:
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
- '''Client side action config for AntiDDOS AMR.
13197
+ '''This is part of the configuration for the managed rules ``AWSManagedRulesAntiDDoSRuleSet`` in ``ManagedRuleGroupConfig`` .
13155
13198
 
13156
- :param challenge: Client side action config for AntiDDOS AMR.
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
- '''Client side action config for AntiDDOS AMR.
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
- '''Client side action config for AntiDDOS AMR.
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: Configures how to use the AntiDDOS AWS managed rule group in the web ACL.
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
- '''Configures how to use the AntiDDOS AWS managed rule group in the web ACL.
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 options for on-source DDoS protection provided by supported resource type.
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: Specifies the request's ASN as an aggregate key for a rate-based rule.
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
- '''Specifies the request's ASN as an aggregate key for a rate-based rule.
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
- '''Regex.
18201
+ '''A single regular expression.
18105
18202
 
18106
- :param regex_string:
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(self) -> typing.Any:
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.Any, result)
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.Any,
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,