aws-cdk-lib 2.91.0__py3-none-any.whl → 2.92.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 (32) hide show
  1. aws_cdk/_jsii/__init__.py +2 -2
  2. aws_cdk/_jsii/{aws-cdk-lib@2.91.0.jsii.tgz → aws-cdk-lib@2.92.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_appstream/__init__.py +29 -21
  4. aws_cdk/aws_batch/__init__.py +22 -10
  5. aws_cdk/aws_billingconductor/__init__.py +14 -11
  6. aws_cdk/aws_cloudwatch/__init__.py +3 -3
  7. aws_cdk/aws_dms/__init__.py +117 -58
  8. aws_cdk/aws_ec2/__init__.py +12 -14
  9. aws_cdk/aws_ecs/__init__.py +24 -12
  10. aws_cdk/aws_evidently/__init__.py +3 -3
  11. aws_cdk/aws_fsx/__init__.py +6 -5
  12. aws_cdk/aws_guardduty/__init__.py +60 -17
  13. aws_cdk/aws_iam/__init__.py +6 -8
  14. aws_cdk/aws_internetmonitor/__init__.py +43 -20
  15. aws_cdk/aws_kms/__init__.py +95 -47
  16. aws_cdk/aws_mwaa/__init__.py +13 -8
  17. aws_cdk/aws_neptune/__init__.py +5 -2
  18. aws_cdk/aws_omics/__init__.py +5 -3
  19. aws_cdk/aws_opensearchservice/__init__.py +247 -14
  20. aws_cdk/aws_organizations/__init__.py +17 -17
  21. aws_cdk/aws_route53/__init__.py +3 -1
  22. aws_cdk/aws_sns/__init__.py +8 -8
  23. aws_cdk/aws_sqs/__init__.py +13 -9
  24. aws_cdk/aws_transfer/__init__.py +40 -12
  25. aws_cdk/aws_vpclattice/__init__.py +10 -6
  26. aws_cdk/aws_wafv2/__init__.py +118 -84
  27. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/METADATA +3 -3
  28. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/RECORD +32 -32
  29. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/LICENSE +0 -0
  30. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/NOTICE +0 -0
  31. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/WHEEL +0 -0
  32. {aws_cdk_lib-2.91.0.dist-info → aws_cdk_lib-2.92.0.dist-info}/top_level.txt +0 -0
@@ -11553,12 +11553,13 @@ class CfnWebACL(
11553
11553
  enable_regex_in_path: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11554
11554
  response_inspection: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ResponseInspectionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11555
11555
  ) -> None:
11556
- '''
11557
- :param creation_path:
11558
- :param registration_page_path:
11559
- :param request_inspection:
11560
- :param enable_regex_in_path:
11561
- :param response_inspection:
11556
+ '''Not currently supported by AWS CloudFormation .
11557
+
11558
+ :param creation_path: Not currently supported by AWS CloudFormation .
11559
+ :param registration_page_path: Not currently supported by AWS CloudFormation .
11560
+ :param request_inspection: Not currently supported by AWS CloudFormation .
11561
+ :param enable_regex_in_path: Not currently supported by AWS CloudFormation .
11562
+ :param response_inspection: Not currently supported by AWS CloudFormation .
11562
11563
 
11563
11564
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html
11564
11565
  :exampleMetadata: fixture=_generated
@@ -11636,7 +11637,8 @@ class CfnWebACL(
11636
11637
 
11637
11638
  @builtins.property
11638
11639
  def creation_path(self) -> builtins.str:
11639
- '''
11640
+ '''Not currently supported by AWS CloudFormation .
11641
+
11640
11642
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-creationpath
11641
11643
  '''
11642
11644
  result = self._values.get("creation_path")
@@ -11645,7 +11647,8 @@ class CfnWebACL(
11645
11647
 
11646
11648
  @builtins.property
11647
11649
  def registration_page_path(self) -> builtins.str:
11648
- '''
11650
+ '''Not currently supported by AWS CloudFormation .
11651
+
11649
11652
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-registrationpagepath
11650
11653
  '''
11651
11654
  result = self._values.get("registration_page_path")
@@ -11656,7 +11659,8 @@ class CfnWebACL(
11656
11659
  def request_inspection(
11657
11660
  self,
11658
11661
  ) -> typing.Union[_IResolvable_da3f097b, "CfnWebACL.RequestInspectionACFPProperty"]:
11659
- '''
11662
+ '''Not currently supported by AWS CloudFormation .
11663
+
11660
11664
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-requestinspection
11661
11665
  '''
11662
11666
  result = self._values.get("request_inspection")
@@ -11667,7 +11671,8 @@ class CfnWebACL(
11667
11671
  def enable_regex_in_path(
11668
11672
  self,
11669
11673
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11670
- '''
11674
+ '''Not currently supported by AWS CloudFormation .
11675
+
11671
11676
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-enableregexinpath
11672
11677
  '''
11673
11678
  result = self._values.get("enable_regex_in_path")
@@ -11677,7 +11682,8 @@ class CfnWebACL(
11677
11682
  def response_inspection(
11678
11683
  self,
11679
11684
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionProperty"]]:
11680
- '''
11685
+ '''Not currently supported by AWS CloudFormation .
11686
+
11681
11687
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html#cfn-wafv2-webacl-awsmanagedrulesacfpruleset-responseinspection
11682
11688
  '''
11683
11689
  result = self._values.get("response_inspection")
@@ -11718,9 +11724,9 @@ class CfnWebACL(
11718
11724
  This configuration is used in ``ManagedRuleGroupConfig`` .
11719
11725
 
11720
11726
  :param login_path: The path of the login endpoint for your application. For example, for the URL ``https://example.com/web/login`` , you would provide the path ``/web/login`` . The rule group inspects only HTTP ``POST`` requests to your specified login endpoint.
11721
- :param enable_regex_in_path:
11727
+ :param enable_regex_in_path: Not currently supported by AWS CloudFormation .
11722
11728
  :param request_inspection: The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage.
11723
- :param response_inspection: The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time. .. epigraph:: Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
11729
+ :param response_inspection: The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. .. epigraph:: Response inspection is available only in web ACLs that protect Amazon CloudFront distributions. The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts for each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many failed login attempts in a short amount of time.
11724
11730
 
11725
11731
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html
11726
11732
  :exampleMetadata: fixture=_generated
@@ -11801,7 +11807,8 @@ class CfnWebACL(
11801
11807
  def enable_regex_in_path(
11802
11808
  self,
11803
11809
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11804
- '''
11810
+ '''Not currently supported by AWS CloudFormation .
11811
+
11805
11812
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-enableregexinpath
11806
11813
  '''
11807
11814
  result = self._values.get("enable_regex_in_path")
@@ -11824,11 +11831,12 @@ class CfnWebACL(
11824
11831
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionProperty"]]:
11825
11832
  '''The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.
11826
11833
 
11827
- The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.
11828
11834
  .. epigraph::
11829
11835
 
11830
11836
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
11831
11837
 
11838
+ The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts for each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many failed login attempts in a short amount of time.
11839
+
11832
11840
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html#cfn-wafv2-webacl-awsmanagedrulesatpruleset-responseinspection
11833
11841
  '''
11834
11842
  result = self._values.get("response_inspection")
@@ -11852,9 +11860,11 @@ class CfnWebACL(
11852
11860
  )
11853
11861
  class AWSManagedRulesBotControlRuleSetProperty:
11854
11862
  def __init__(self, *, inspection_level: builtins.str) -> None:
11855
- '''Details for your use of the Bot Control managed rule group, used in ``ManagedRuleGroupConfig`` .
11863
+ '''Details for your use of the Bot Control managed rule group, ``AWSManagedRulesBotControlRuleSet`` .
11864
+
11865
+ This configuration is used in ``ManagedRuleGroupConfig`` .
11856
11866
 
11857
- :param inspection_level: The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ .
11867
+ :param inspection_level: The inspection level to use for the Bot Control rule group. The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ in the *AWS WAF Developer Guide* .
11858
11868
 
11859
11869
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesbotcontrolruleset.html
11860
11870
  :exampleMetadata: fixture=_generated
@@ -11880,7 +11890,7 @@ class CfnWebACL(
11880
11890
  def inspection_level(self) -> builtins.str:
11881
11891
  '''The inspection level to use for the Bot Control rule group.
11882
11892
 
11883
- The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ .
11893
+ The common level is the least expensive. The targeted level includes all common level rules and adds rules with more advanced inspection criteria. For details, see `AWS WAF Bot Control rule group <https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html>`_ in the *AWS WAF Developer Guide* .
11884
11894
 
11885
11895
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesbotcontrolruleset.html#cfn-wafv2-webacl-awsmanagedrulesbotcontrolruleset-inspectionlevel
11886
11896
  '''
@@ -13490,9 +13500,11 @@ class CfnWebACL(
13490
13500
  )
13491
13501
  class FieldIdentifierProperty:
13492
13502
  def __init__(self, *, identifier: builtins.str) -> None:
13493
- '''The identifier of the username or password field, used in the ``ManagedRuleGroupConfig`` settings.
13503
+ '''The identifier of a field in the web request payload that contains customer data.
13494
13504
 
13495
- :param identifier: The name of the username or password field, used in the ``ManagedRuleGroupConfig`` settings. When the ``PayloadType`` is ``JSON`` , the identifier must be in JSON pointer syntax. For example ``/form/username`` . For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation `JavaScript Object Notation (JSON) Pointer <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901>`_ . When the ``PayloadType`` is ``FORM_ENCODED`` , use the HTML form names. For example, ``username`` .
13505
+ This data type is used to specify fields in the ``RequestInspection`` configurations, for the managed rule group configuration ``AWSManagedRulesATPRuleSet`` .
13506
+
13507
+ :param identifier: The name of the field. When the ``PayloadType`` in the request inspection is ``JSON`` , this identifier must be in JSON pointer syntax. For example ``/form/username`` . For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation `JavaScript Object Notation (JSON) Pointer <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901>`_ . When the ``PayloadType`` is ``FORM_ENCODED`` , use the HTML form names. For example, ``username`` . For more information, see the descriptions for each field type in the request inspection properties.
13496
13508
 
13497
13509
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldidentifier.html
13498
13510
  :exampleMetadata: fixture=_generated
@@ -13516,12 +13528,14 @@ class CfnWebACL(
13516
13528
 
13517
13529
  @builtins.property
13518
13530
  def identifier(self) -> builtins.str:
13519
- '''The name of the username or password field, used in the ``ManagedRuleGroupConfig`` settings.
13531
+ '''The name of the field.
13520
13532
 
13521
- When the ``PayloadType`` is ``JSON`` , the identifier must be in JSON pointer syntax. For example ``/form/username`` . For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation `JavaScript Object Notation (JSON) Pointer <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901>`_ .
13533
+ When the ``PayloadType`` in the request inspection is ``JSON`` , this identifier must be in JSON pointer syntax. For example ``/form/username`` . For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation `JavaScript Object Notation (JSON) Pointer <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901>`_ .
13522
13534
 
13523
13535
  When the ``PayloadType`` is ``FORM_ENCODED`` , use the HTML form names. For example, ``username`` .
13524
13536
 
13537
+ For more information, see the descriptions for each field type in the request inspection properties.
13538
+
13525
13539
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldidentifier.html#cfn-wafv2-webacl-fieldidentifier-identifier
13526
13540
  '''
13527
13541
  result = self._values.get("identifier")
@@ -14898,15 +14912,18 @@ class CfnWebACL(
14898
14912
  ) -> None:
14899
14913
  '''Additional information that's used by a managed rule group. Many managed rule groups don't require this.
14900
14914
 
14901
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
14915
+ The rule groups used for intelligent threat mitigation require additional configuration:
14916
+
14917
+ - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.
14918
+ - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
14902
14919
 
14903
- :param aws_managed_rules_acfp_rule_set:
14920
+ :param aws_managed_rules_acfp_rule_set: Not currently supported by AWS CloudFormation .
14904
14921
  :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* .
14905
14922
  :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* .
14906
14923
  :param login_path: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` .
14907
- :param password_field: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
14908
- :param payload_type: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
14909
- :param username_field: .. epigraph:: Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
14924
+ :param password_field: .. epigraph:: Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
14925
+ :param payload_type: .. epigraph:: Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
14926
+ :param username_field: .. epigraph:: Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
14910
14927
 
14911
14928
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html
14912
14929
  :exampleMetadata: fixture=_generated
@@ -15042,7 +15059,8 @@ class CfnWebACL(
15042
15059
  def aws_managed_rules_acfp_rule_set(
15043
15060
  self,
15044
15061
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.AWSManagedRulesACFPRuleSetProperty"]]:
15045
- '''
15062
+ '''Not currently supported by AWS CloudFormation .
15063
+
15046
15064
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-awsmanagedrulesacfpruleset
15047
15065
  '''
15048
15066
  result = self._values.get("aws_managed_rules_acfp_rule_set")
@@ -15095,7 +15113,7 @@ class CfnWebACL(
15095
15113
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]:
15096
15114
  '''.. epigraph::
15097
15115
 
15098
- Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
15116
+ Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
15099
15117
 
15100
15118
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-passwordfield
15101
15119
  '''
@@ -15106,7 +15124,7 @@ class CfnWebACL(
15106
15124
  def payload_type(self) -> typing.Optional[builtins.str]:
15107
15125
  '''.. epigraph::
15108
15126
 
15109
- Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
15127
+ Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
15110
15128
 
15111
15129
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-payloadtype
15112
15130
  '''
@@ -15119,7 +15137,7 @@ class CfnWebACL(
15119
15137
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]:
15120
15138
  '''.. epigraph::
15121
15139
 
15122
- Instead of this setting, provide your configuration under ``AWSManagedRulesATPRuleSet`` ``RequestInspection`` .
15140
+ Instead of this setting, provide your configuration under the request inspection configuration for ``AWSManagedRulesATPRuleSet`` .
15123
15141
 
15124
15142
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html#cfn-wafv2-webacl-managedrulegroupconfig-usernamefield
15125
15143
  '''
@@ -15164,14 +15182,17 @@ class CfnWebACL(
15164
15182
  ) -> None:
15165
15183
  '''A rule statement used to run the rules that are defined in a managed rule group.
15166
15184
 
15167
- To use this, provide the vendor name and the name of the rule group in this statement.
15185
+ To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names through the API call ``ListAvailableManagedRuleGroups`` .
15168
15186
 
15169
15187
  You cannot nest a ``ManagedRuleGroupStatement`` , for example for use inside a ``NotStatement`` or ``OrStatement`` . It can only be referenced as a top-level statement within a rule.
15188
+ .. epigraph::
15189
+
15190
+ You are charged additional fees when you use the AWS WAF Bot Control managed rule group ``AWSManagedRulesBotControlRuleSet`` or the AWS WAF Fraud Control account takeover prevention (ATP) managed rule group ``AWSManagedRulesATPRuleSet`` . For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
15170
15191
 
15171
15192
  :param name: The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.
15172
15193
  :param vendor_name: The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.
15173
15194
  :param excluded_rules: Rules in the referenced rule group whose actions are set to ``Count`` . .. epigraph:: Instead of this option, use ``RuleActionOverrides`` . It accepts any valid action setting, including ``Count`` .
15174
- :param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. Use the ``AWSManagedRulesATPRuleSet`` configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client. Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
15195
+ :param managed_rule_group_configs: Additional information that's used by a managed rule group. Many managed rule groups don't require this. The rule groups used for intelligent threat mitigation require additional configuration: - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password. - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
15175
15196
  :param rule_action_overrides: Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change. You can use overrides for testing, for example you can override all of rule actions to ``Count`` and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.
15176
15197
  :param scope_down_statement: An optional nested statement that narrows the scope of the web requests that are evaluated by the managed rule group. Requests are only evaluated by the rule group if they match the scope-down statement. You can use any nestable ``Statement`` in the scope-down statement, and you can nest statements at any level, the same as you can for a rule statement.
15177
15198
  :param version: The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, AWS WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.
@@ -15252,9 +15273,10 @@ class CfnWebACL(
15252
15273
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ManagedRuleGroupConfigProperty"]]]]:
15253
15274
  '''Additional information that's used by a managed rule group. Many managed rule groups don't require this.
15254
15275
 
15255
- Use the ``AWSManagedRulesATPRuleSet`` configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client.
15276
+ The rule groups used for intelligent threat mitigation require additional configuration:
15256
15277
 
15257
- Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
15278
+ - Use the ``AWSManagedRulesATPRuleSet`` configuration object to configure the account takeover prevention managed rule group. The configuration includes the sign-in page of your application and the locations in the login request payload of data such as the username and password.
15279
+ - Use the ``AWSManagedRulesBotControlRuleSet`` configuration object to configure the protection level that you want the Bot Control rule group to use.
15258
15280
 
15259
15281
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-managedrulegroupconfigs
15260
15282
  '''
@@ -16776,13 +16798,14 @@ class CfnWebACL(
16776
16798
  phone_number_fields: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.FieldIdentifierProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
16777
16799
  username_field: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.FieldIdentifierProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16778
16800
  ) -> None:
16779
- '''
16780
- :param payload_type:
16781
- :param address_fields:
16782
- :param email_field:
16783
- :param password_field:
16784
- :param phone_number_fields:
16785
- :param username_field:
16801
+ '''Not currently supported by AWS CloudFormation .
16802
+
16803
+ :param payload_type: Not currently supported by AWS CloudFormation .
16804
+ :param address_fields: Not currently supported by AWS CloudFormation .
16805
+ :param email_field: Not currently supported by AWS CloudFormation .
16806
+ :param password_field: Not currently supported by AWS CloudFormation .
16807
+ :param phone_number_fields: Not currently supported by AWS CloudFormation .
16808
+ :param username_field: Not currently supported by AWS CloudFormation .
16786
16809
 
16787
16810
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html
16788
16811
  :exampleMetadata: fixture=_generated
@@ -16838,7 +16861,8 @@ class CfnWebACL(
16838
16861
 
16839
16862
  @builtins.property
16840
16863
  def payload_type(self) -> builtins.str:
16841
- '''
16864
+ '''Not currently supported by AWS CloudFormation .
16865
+
16842
16866
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-payloadtype
16843
16867
  '''
16844
16868
  result = self._values.get("payload_type")
@@ -16849,7 +16873,8 @@ class CfnWebACL(
16849
16873
  def address_fields(
16850
16874
  self,
16851
16875
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]]]:
16852
- '''
16876
+ '''Not currently supported by AWS CloudFormation .
16877
+
16853
16878
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-addressfields
16854
16879
  '''
16855
16880
  result = self._values.get("address_fields")
@@ -16859,7 +16884,8 @@ class CfnWebACL(
16859
16884
  def email_field(
16860
16885
  self,
16861
16886
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]:
16862
- '''
16887
+ '''Not currently supported by AWS CloudFormation .
16888
+
16863
16889
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-emailfield
16864
16890
  '''
16865
16891
  result = self._values.get("email_field")
@@ -16869,7 +16895,8 @@ class CfnWebACL(
16869
16895
  def password_field(
16870
16896
  self,
16871
16897
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]:
16872
- '''
16898
+ '''Not currently supported by AWS CloudFormation .
16899
+
16873
16900
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-passwordfield
16874
16901
  '''
16875
16902
  result = self._values.get("password_field")
@@ -16879,7 +16906,8 @@ class CfnWebACL(
16879
16906
  def phone_number_fields(
16880
16907
  self,
16881
16908
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]]]:
16882
- '''
16909
+ '''Not currently supported by AWS CloudFormation .
16910
+
16883
16911
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-phonenumberfields
16884
16912
  '''
16885
16913
  result = self._values.get("phone_number_fields")
@@ -16889,7 +16917,8 @@ class CfnWebACL(
16889
16917
  def username_field(
16890
16918
  self,
16891
16919
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.FieldIdentifierProperty"]]:
16892
- '''
16920
+ '''Not currently supported by AWS CloudFormation .
16921
+
16893
16922
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html#cfn-wafv2-webacl-requestinspectionacfp-usernamefield
16894
16923
  '''
16895
16924
  result = self._values.get("username_field")
@@ -17050,8 +17079,8 @@ class CfnWebACL(
17050
17079
 
17051
17080
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
17052
17081
 
17053
- :param failure_strings: Strings in the body of the response that indicate a failed login attempt. To be counted as a failed login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: ``"FailureStrings": [ "Login failed" ]``
17054
- :param success_strings: Strings in the body of the response that indicate a successful login attempt. To be counted as a successful login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: ``"SuccessStrings": [ "Login successful", "Welcome to our site!" ]``
17082
+ :param failure_strings: Strings in the body of the response that indicate a failed login attempt. To be counted as a failure, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: ``"FailureStrings": [ "Request failed" ]``
17083
+ :param success_strings: Strings in the body of the response that indicate a successful login attempt. To be counted as a success, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings. JSON example: ``"SuccessStrings": [ "Login successful" ]``
17055
17084
 
17056
17085
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html
17057
17086
  :exampleMetadata: fixture=_generated
@@ -17080,9 +17109,9 @@ class CfnWebACL(
17080
17109
  def failure_strings(self) -> typing.List[builtins.str]:
17081
17110
  '''Strings in the body of the response that indicate a failed login attempt.
17082
17111
 
17083
- To be counted as a failed login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.
17112
+ To be counted as a failure, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.
17084
17113
 
17085
- JSON example: ``"FailureStrings": [ "Login failed" ]``
17114
+ JSON example: ``"FailureStrings": [ "Request failed" ]``
17086
17115
 
17087
17116
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html#cfn-wafv2-webacl-responseinspectionbodycontains-failurestrings
17088
17117
  '''
@@ -17094,9 +17123,9 @@ class CfnWebACL(
17094
17123
  def success_strings(self) -> typing.List[builtins.str]:
17095
17124
  '''Strings in the body of the response that indicate a successful login attempt.
17096
17125
 
17097
- To be counted as a successful login, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.
17126
+ To be counted as a success, the string can be anywhere in the body and must be an exact match, including case. Each string must be unique among the success and failure strings.
17098
17127
 
17099
- JSON example: ``"SuccessStrings": [ "Login successful", "Welcome to our site!" ]``
17128
+ JSON example: ``"SuccessStrings": [ "Login successful" ]``
17100
17129
 
17101
17130
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html#cfn-wafv2-webacl-responseinspectionbodycontains-successstrings
17102
17131
  '''
@@ -17138,9 +17167,9 @@ class CfnWebACL(
17138
17167
 
17139
17168
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
17140
17169
 
17141
- :param failure_values: Values in the response header with the specified name that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"FailureValues": [ "LoginFailed", "Failed login" ]``
17142
- :param name: The name of the header to match against. The name must be an exact match, including case. JSON example: ``"Name": [ "LoginResult" ]``
17143
- :param success_values: Values in the response header with the specified name that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"SuccessValues": [ "LoginPassed", "Successful login" ]``
17170
+ :param failure_values: Values in the response header with the specified name that indicate a failed login attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"FailureValues": [ "LoginFailed", "Failed login" ]``
17171
+ :param name: The name of the header to match against. The name must be an exact match, including case. JSON example: ``"Name": [ "RequestResult" ]``
17172
+ :param success_values: Values in the response header with the specified name that indicate a successful login attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"SuccessValues": [ "LoginPassed", "Successful login" ]``
17144
17173
 
17145
17174
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html
17146
17175
  :exampleMetadata: fixture=_generated
@@ -17172,7 +17201,7 @@ class CfnWebACL(
17172
17201
  def failure_values(self) -> typing.List[builtins.str]:
17173
17202
  '''Values in the response header with the specified name that indicate a failed login attempt.
17174
17203
 
17175
- To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17204
+ To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17176
17205
 
17177
17206
  JSON example: ``"FailureValues": [ "LoginFailed", "Failed login" ]``
17178
17207
 
@@ -17186,7 +17215,7 @@ class CfnWebACL(
17186
17215
  def name(self) -> builtins.str:
17187
17216
  '''The name of the header to match against. The name must be an exact match, including case.
17188
17217
 
17189
- JSON example: ``"Name": [ "LoginResult" ]``
17218
+ JSON example: ``"Name": [ "RequestResult" ]``
17190
17219
 
17191
17220
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html#cfn-wafv2-webacl-responseinspectionheader-name
17192
17221
  '''
@@ -17198,7 +17227,7 @@ class CfnWebACL(
17198
17227
  def success_values(self) -> typing.List[builtins.str]:
17199
17228
  '''Values in the response header with the specified name that indicate a successful login attempt.
17200
17229
 
17201
- To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17230
+ To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17202
17231
 
17203
17232
  JSON example: ``"SuccessValues": [ "LoginPassed", "Successful login" ]``
17204
17233
 
@@ -17243,9 +17272,9 @@ class CfnWebACL(
17243
17272
 
17244
17273
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
17245
17274
 
17246
- :param failure_values: Values for the specified identifier in the response JSON that indicate a failed login attempt. To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"FailureValues": [ "False", "Failed" ]``
17275
+ :param failure_values: Values for the specified identifier in the response JSON that indicate a failed login attempt. To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"FailureValues": [ "False", "Failed" ]``
17247
17276
  :param identifier: The identifier for the value to match against in the JSON. The identifier must be an exact match, including case. JSON example: ``"Identifier": [ "/login/success" ]``
17248
- :param success_values: Values for the specified identifier in the response JSON that indicate a successful login attempt. To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"SuccessValues": [ "True", "Succeeded" ]``
17277
+ :param success_values: Values for the specified identifier in the response JSON that indicate a successful login attempt. To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values. JSON example: ``"SuccessValues": [ "True", "Succeeded" ]``
17249
17278
 
17250
17279
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html
17251
17280
  :exampleMetadata: fixture=_generated
@@ -17277,7 +17306,7 @@ class CfnWebACL(
17277
17306
  def failure_values(self) -> typing.List[builtins.str]:
17278
17307
  '''Values for the specified identifier in the response JSON that indicate a failed login attempt.
17279
17308
 
17280
- To be counted as a failed login, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17309
+ To be counted as a failure, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17281
17310
 
17282
17311
  JSON example: ``"FailureValues": [ "False", "Failed" ]``
17283
17312
 
@@ -17305,7 +17334,7 @@ class CfnWebACL(
17305
17334
  def success_values(self) -> typing.List[builtins.str]:
17306
17335
  '''Values for the specified identifier in the response JSON that indicate a successful login attempt.
17307
17336
 
17308
- To be counted as a successful login, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17337
+ To be counted as a success, the value must be an exact match, including case. Each value must be unique among the success and failure values.
17309
17338
 
17310
17339
  JSON example: ``"SuccessValues": [ "True", "Succeeded" ]``
17311
17340
 
@@ -17345,21 +17374,22 @@ class CfnWebACL(
17345
17374
  json: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ResponseInspectionJsonProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
17346
17375
  status_code: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebACL.ResponseInspectionStatusCodeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
17347
17376
  ) -> None:
17348
- '''The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates.
17377
+ '''The criteria for inspecting responses to login requests, used by the ATP rule group to track login success and failure rates.
17349
17378
 
17350
- The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time.
17351
17379
  .. epigraph::
17352
17380
 
17353
17381
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
17354
17382
 
17383
+ The rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses with too much suspicious activity in a short amount of time.
17384
+
17355
17385
  This is part of the ``AWSManagedRulesATPRuleSet`` configuration in ``ManagedRuleGroupConfig`` .
17356
17386
 
17357
- Enable login response inspection by configuring exactly one component of the response to inspect. You can't configure more than one. If you don't configure any of the response inspection options, response inspection is disabled.
17387
+ Enable response inspection by configuring exactly one component of the response to inspect, for example, ``Header`` or ``StatusCode`` . You can't configure more than one component for inspection. If you don't configure any of the response inspection options, response inspection is disabled.
17358
17388
 
17359
- :param body_contains: Configures inspection of the response body. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body.
17360
- :param header: Configures inspection of the response header.
17361
- :param json: Configures inspection of the response JSON. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.
17362
- :param status_code: Configures inspection of the response status code.
17389
+ :param body_contains: Configures inspection of the response body for success and failure indicators. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body.
17390
+ :param header: Configures inspection of the response header for success and failure indicators.
17391
+ :param json: Configures inspection of the response JSON for success and failure indicators. AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.
17392
+ :param status_code: Configures inspection of the response status code for success and failure indicators.
17363
17393
 
17364
17394
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html
17365
17395
  :exampleMetadata: fixture=_generated
@@ -17411,7 +17441,7 @@ class CfnWebACL(
17411
17441
  def body_contains(
17412
17442
  self,
17413
17443
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionBodyContainsProperty"]]:
17414
- '''Configures inspection of the response body.
17444
+ '''Configures inspection of the response body for success and failure indicators.
17415
17445
 
17416
17446
  AWS WAF can inspect the first 65,536 bytes (64 KB) of the response body.
17417
17447
 
@@ -17424,7 +17454,7 @@ class CfnWebACL(
17424
17454
  def header(
17425
17455
  self,
17426
17456
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionHeaderProperty"]]:
17427
- '''Configures inspection of the response header.
17457
+ '''Configures inspection of the response header for success and failure indicators.
17428
17458
 
17429
17459
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-header
17430
17460
  '''
@@ -17435,7 +17465,7 @@ class CfnWebACL(
17435
17465
  def json(
17436
17466
  self,
17437
17467
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionJsonProperty"]]:
17438
- '''Configures inspection of the response JSON.
17468
+ '''Configures inspection of the response JSON for success and failure indicators.
17439
17469
 
17440
17470
  AWS WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.
17441
17471
 
@@ -17448,7 +17478,7 @@ class CfnWebACL(
17448
17478
  def status_code(
17449
17479
  self,
17450
17480
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ResponseInspectionStatusCodeProperty"]]:
17451
- '''Configures inspection of the response status code.
17481
+ '''Configures inspection of the response status code for success and failure indicators.
17452
17482
 
17453
17483
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html#cfn-wafv2-webacl-responseinspection-statuscode
17454
17484
  '''
@@ -17481,14 +17511,15 @@ class CfnWebACL(
17481
17511
  failure_codes: typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b],
17482
17512
  success_codes: typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b],
17483
17513
  ) -> None:
17484
- '''Configures inspection of the response status code. This is part of the ``ResponseInspection`` configuration for ``AWSManagedRulesATPRuleSet`` .
17514
+ '''Configures inspection of the response status code for success and failure indicators.
17485
17515
 
17516
+ This is part of the ``ResponseInspection`` configuration for ``AWSManagedRulesATPRuleSet`` .
17486
17517
  .. epigraph::
17487
17518
 
17488
17519
  Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
17489
17520
 
17490
- :param failure_codes: Status codes in the response that indicate a failed login attempt. To be counted as a failed login, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: ``"FailureCodes": [ 400, 404 ]``
17491
- :param success_codes: Status codes in the response that indicate a successful login attempt. To be counted as a successful login, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: ``"SuccessCodes": [ 200, 201 ]``
17521
+ :param failure_codes: Status codes in the response that indicate a failed login or account creation attempt. To be counted as a failure, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: ``"FailureCodes": [ 400, 404 ]``
17522
+ :param success_codes: Status codes in the response that indicate a successful login or account creation attempt. To be counted as a success, the response status code must match one of these. Each code must be unique among the success and failure status codes. JSON example: ``"SuccessCodes": [ 200, 201 ]``
17492
17523
 
17493
17524
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionstatuscode.html
17494
17525
  :exampleMetadata: fixture=_generated
@@ -17517,9 +17548,9 @@ class CfnWebACL(
17517
17548
  def failure_codes(
17518
17549
  self,
17519
17550
  ) -> typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]:
17520
- '''Status codes in the response that indicate a failed login attempt.
17551
+ '''Status codes in the response that indicate a failed login or account creation attempt.
17521
17552
 
17522
- To be counted as a failed login, the response status code must match one of these. Each code must be unique among the success and failure status codes.
17553
+ To be counted as a failure, the response status code must match one of these. Each code must be unique among the success and failure status codes.
17523
17554
 
17524
17555
  JSON example: ``"FailureCodes": [ 400, 404 ]``
17525
17556
 
@@ -17533,9 +17564,9 @@ class CfnWebACL(
17533
17564
  def success_codes(
17534
17565
  self,
17535
17566
  ) -> typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]:
17536
- '''Status codes in the response that indicate a successful login attempt.
17567
+ '''Status codes in the response that indicate a successful login or account creation attempt.
17537
17568
 
17538
- To be counted as a successful login, the response status code must match one of these. Each code must be unique among the success and failure status codes.
17569
+ To be counted as a success, the response status code must match one of these. Each code must be unique among the success and failure status codes.
17539
17570
 
17540
17571
  JSON example: ``"SuccessCodes": [ 200, 201 ]``
17541
17572
 
@@ -18740,7 +18771,7 @@ class CfnWebACL(
18740
18771
  :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>`_ .
18741
18772
  :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.
18742
18773
  :param label_match_statement: A rule statement to match against labels that have been added to the web request by rules that have already run in the web ACL. The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, AWS WAF performs the search for labels that were added in the same context as the label match statement.
18743
- :param managed_rule_group_statement: A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You cannot nest a ``ManagedRuleGroupStatement`` , for example for use inside a ``NotStatement`` or ``OrStatement`` . It can only be referenced as a top-level statement within a rule.
18774
+ :param managed_rule_group_statement: A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names through the API call ``ListAvailableManagedRuleGroups`` . You cannot nest a ``ManagedRuleGroupStatement`` , for example for use inside a ``NotStatement`` or ``OrStatement`` . It can only be referenced as a top-level statement within a rule. .. epigraph:: You are charged additional fees when you use the AWS WAF Bot Control managed rule group ``AWSManagedRulesBotControlRuleSet`` or the AWS WAF Fraud Control account takeover prevention (ATP) managed rule group ``AWSManagedRulesATPRuleSet`` . For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
18744
18775
  :param not_statement: A logical rule statement used to negate the results of another rule statement. You provide one ``Statement`` within the ``NotStatement`` .
18745
18776
  :param or_statement: A logical rule statement used to combine other rule statements with OR logic. You provide more than one ``Statement`` within the ``OrStatement`` .
18746
18777
  :param rate_based_statement: A rate-based rule counts incoming requests and rate limits requests when they are coming at too fast a rate. The rule categorizes requests according to your aggregation criteria, collects them into aggregation instances, and counts and rate limits the requests for each instance. You can specify individual aggregation keys, like IP address or HTTP method. You can also specify aggregation key combinations, like IP address and HTTP method, or HTTP method, query argument, and cookie. Each unique set of values for the aggregation keys that you specify is a separate aggregation instance, with the value from each key contributing to the aggregation instance definition. For example, assume the rule evaluates web requests with the following IP address and HTTP method values: - IP address 10.1.1.1, HTTP method POST - IP address 10.1.1.1, HTTP method GET - IP address 127.0.0.0, HTTP method POST - IP address 10.1.1.1, HTTP method GET The rule would create different aggregation instances according to your aggregation criteria, for example: - If the aggregation criteria is just the IP address, then each individual address is an aggregation instance, and AWS WAF counts requests separately for each. The aggregation instances and request counts for our example would be the following: - IP address 10.1.1.1: count 3 - IP address 127.0.0.0: count 1 - If the aggregation criteria is HTTP method, then each individual HTTP method is an aggregation instance. The aggregation instances and request counts for our example would be the following: - HTTP method POST: count 2 - HTTP method GET: count 2 - If the aggregation criteria is IP address and HTTP method, then each IP address and each HTTP method would contribute to the combined aggregation instance. The aggregation instances and request counts for our example would be the following: - IP address 10.1.1.1, HTTP method POST: count 1 - IP address 10.1.1.1, HTTP method GET: count 2 - IP address 127.0.0.0, HTTP method POST: count 1 For any n-tuple of aggregation keys, each unique combination of values for the keys defines a separate aggregation instance, which AWS WAF counts and rate-limits individually. You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts and rate limits requests that match the nested statement. You can use this nested scope-down statement in conjunction with your aggregation key specifications or you can just count and rate limit all requests that match the scope-down statement, without additional aggregation. When you choose to just manage all requests that match a scope-down statement, the aggregation instance is singular for the rule. You cannot nest a ``RateBasedStatement`` inside another statement, for example inside a ``NotStatement`` or ``OrStatement`` . You can define a ``RateBasedStatement`` inside a web ACL and inside a rule group. For additional information about the options, see `Rate limiting web requests using rate-based rules <https://docs.aws.amazon.com/waf/latest/developerguide/waf-rate-based-rules.html>`_ in the *AWS WAF Developer Guide* . If you only aggregate on the individual IP address or forwarded IP address, you can retrieve the list of IP addresses that AWS WAF is currently rate limiting for a rule through the API call ``GetRateBasedStatementManagedKeys`` . This option is not available for other aggregation configurations. AWS WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by AWS WAF . If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by AWS WAF .
@@ -18891,9 +18922,12 @@ class CfnWebACL(
18891
18922
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebACL.ManagedRuleGroupStatementProperty"]]:
18892
18923
  '''A rule statement used to run the rules that are defined in a managed rule group.
18893
18924
 
18894
- To use this, provide the vendor name and the name of the rule group in this statement.
18925
+ To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names through the API call ``ListAvailableManagedRuleGroups`` .
18895
18926
 
18896
18927
  You cannot nest a ``ManagedRuleGroupStatement`` , for example for use inside a ``NotStatement`` or ``OrStatement`` . It can only be referenced as a top-level statement within a rule.
18928
+ .. epigraph::
18929
+
18930
+ You are charged additional fees when you use the AWS WAF Bot Control managed rule group ``AWSManagedRulesBotControlRuleSet`` or the AWS WAF Fraud Control account takeover prevention (ATP) managed rule group ``AWSManagedRulesATPRuleSet`` . For more information, see `AWS WAF Pricing <https://docs.aws.amazon.com/waf/pricing/>`_ .
18897
18931
 
18898
18932
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statement.html#cfn-wafv2-webacl-statement-managedrulegroupstatement
18899
18933
  '''