@aws-sdk/client-wafv2 3.348.0 → 3.352.0

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.
@@ -29,6 +29,34 @@ export interface ActionCondition {
29
29
  */
30
30
  Action: ActionValue | string | undefined;
31
31
  }
32
+ /**
33
+ * @public
34
+ * <p>The name of a field in the request payload that contains part or all of your customer's primary physical address. </p>
35
+ * <p>This data type is used in the <code>RequestInspectionACFP</code> data type. </p>
36
+ */
37
+ export interface AddressField {
38
+ /**
39
+ * <p>The name of a single primary address field. </p>
40
+ * <p>How you specify the address fields depends on the request inspection payload type.</p>
41
+ * <ul>
42
+ * <li>
43
+ * <p>For JSON payloads, specify the field identifiers in JSON
44
+ * pointer syntax. For information about the JSON Pointer
45
+ * syntax, see the Internet Engineering Task Force (IETF)
46
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
47
+ * Object Notation (JSON) Pointer</a>. </p>
48
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" \} \}</code>,
49
+ * the address field idenfiers are <code>/form/primaryaddressline1</code>, <code>/form/primaryaddressline2</code>, and <code>/form/primaryaddressline3</code>.</p>
50
+ * </li>
51
+ * <li>
52
+ * <p>For form encoded payload types, use the HTML form names.</p>
53
+ * <p>For example, for an HTML form with input elements
54
+ * named <code>primaryaddressline1</code>, <code>primaryaddressline2</code>, and <code>primaryaddressline3</code>, the address fields identifiers are <code>primaryaddressline1</code>, <code>primaryaddressline2</code>, and <code>primaryaddressline3</code>. </p>
55
+ * </li>
56
+ * </ul>
57
+ */
58
+ Identifier: string | undefined;
59
+ }
32
60
  /**
33
61
  * @public
34
62
  * <p>Inspect all of the elements that WAF has parsed and extracted from the web request
@@ -238,8 +266,7 @@ export interface Cookies {
238
266
  * <p>Inspect a string containing the list of the request's header names, ordered as they appear in the web request
239
267
  * that WAF receives for inspection.
240
268
  * WAF generates the string and then uses that as the field to match component in its inspection.
241
- * WAF separates the header names in the string using commas and no added spaces.</p>
242
- * <p>Matches against the header order string are case insensitive.</p>
269
+ * WAF separates the header names in the string using colons and no added spaces, for example <code>host:user-agent:accept:authorization:referer</code>.</p>
243
270
  */
244
271
  export interface HeaderOrder {
245
272
  /**
@@ -660,8 +687,7 @@ export interface FieldToMatch {
660
687
  * <p>Inspect a string containing the list of the request's header names, ordered as they appear in the web request
661
688
  * that WAF receives for inspection.
662
689
  * WAF generates the string and then uses that as the field to match component in its inspection.
663
- * WAF separates the header names in the string using commas and no added spaces.</p>
664
- * <p>Matches against the header order string are case insensitive.</p>
690
+ * WAF separates the header names in the string using colons and no added spaces, for example <code>host:user-agent:accept:authorization:referer</code>.</p>
665
691
  */
666
692
  HeaderOrder?: HeaderOrder;
667
693
  }
@@ -1476,13 +1502,57 @@ export interface ExcludedRule {
1476
1502
  }
1477
1503
  /**
1478
1504
  * @public
1479
- * <p>Details about your login page password field for request inspection, used in the
1480
- * <code>AWSManagedRulesATPRuleSet</code>
1481
- * <code>RequestInspection</code> configuration.</p>
1505
+ * <p>The name of the field in the request payload that contains your customer's email. </p>
1506
+ * <p>This data type is used in the <code>RequestInspectionACFP</code> data type. </p>
1507
+ */
1508
+ export interface EmailField {
1509
+ /**
1510
+ * <p>The name of the email field. </p>
1511
+ * <p>How you specify this depends on the request inspection payload type.</p>
1512
+ * <ul>
1513
+ * <li>
1514
+ * <p>For JSON payloads, specify the field name in JSON
1515
+ * pointer syntax. For information about the JSON Pointer
1516
+ * syntax, see the Internet Engineering Task Force (IETF)
1517
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1518
+ * Object Notation (JSON) Pointer</a>. </p>
1519
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "email": "THE_EMAIL" \} \}</code>,
1520
+ * the email field specification is <code>/form/email</code>.</p>
1521
+ * </li>
1522
+ * <li>
1523
+ * <p>For form encoded payload types, use the HTML form names.</p>
1524
+ * <p>For example, for an HTML form with the input element
1525
+ * named <code>email1</code>, the email field specification is <code>email1</code>.</p>
1526
+ * </li>
1527
+ * </ul>
1528
+ */
1529
+ Identifier: string | undefined;
1530
+ }
1531
+ /**
1532
+ * @public
1533
+ * <p>The name of the field in the request payload that contains your customer's password. </p>
1534
+ * <p>This data type is used in the <code>RequestInspection</code> and <code>RequestInspectionACFP</code> data types. </p>
1482
1535
  */
1483
1536
  export interface PasswordField {
1484
1537
  /**
1485
- * <p>The name of the password field. For example <code>/form/password</code>.</p>
1538
+ * <p>The name of the password field. </p>
1539
+ * <p>How you specify this depends on the request inspection payload type.</p>
1540
+ * <ul>
1541
+ * <li>
1542
+ * <p>For JSON payloads, specify the field name in JSON
1543
+ * pointer syntax. For information about the JSON Pointer
1544
+ * syntax, see the Internet Engineering Task Force (IETF)
1545
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1546
+ * Object Notation (JSON) Pointer</a>. </p>
1547
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "password": "THE_PASSWORD" \} \}</code>,
1548
+ * the password field specification is <code>/form/password</code>.</p>
1549
+ * </li>
1550
+ * <li>
1551
+ * <p>For form encoded payload types, use the HTML form names.</p>
1552
+ * <p>For example, for an HTML form with the input element
1553
+ * named <code>password1</code>, the password field specification is <code>password1</code>.</p>
1554
+ * </li>
1555
+ * </ul>
1486
1556
  */
1487
1557
  Identifier: string | undefined;
1488
1558
  }
@@ -1500,32 +1570,78 @@ export declare const PayloadType: {
1500
1570
  export type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];
1501
1571
  /**
1502
1572
  * @public
1503
- * <p>Details about your login page username field for request inspection, used in the
1504
- * <code>AWSManagedRulesATPRuleSet</code>
1505
- * <code>RequestInspection</code> configuration.</p>
1573
+ * <p>The name of a field in the request payload that contains part or all of your customer's primary phone number. </p>
1574
+ * <p>This data type is used in the <code>RequestInspectionACFP</code> data type. </p>
1575
+ */
1576
+ export interface PhoneNumberField {
1577
+ /**
1578
+ * <p>The name of a single primary phone number field. </p>
1579
+ * <p>How you specify the phone number fields depends on the request inspection payload type.</p>
1580
+ * <ul>
1581
+ * <li>
1582
+ * <p>For JSON payloads, specify the field identifiers in JSON
1583
+ * pointer syntax. For information about the JSON Pointer
1584
+ * syntax, see the Internet Engineering Task Force (IETF)
1585
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1586
+ * Object Notation (JSON) Pointer</a>. </p>
1587
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" \} \}</code>,
1588
+ * the phone number field identifiers are <code>/form/primaryphoneline1</code>, <code>/form/primaryphoneline2</code>, and <code>/form/primaryphoneline3</code>.</p>
1589
+ * </li>
1590
+ * <li>
1591
+ * <p>For form encoded payload types, use the HTML form names.</p>
1592
+ * <p>For example, for an HTML form with input elements
1593
+ * named <code>primaryphoneline1</code>, <code>primaryphoneline2</code>, and <code>primaryphoneline3</code>, the phone number field identifiers are <code>primaryphoneline1</code>, <code>primaryphoneline2</code>, and <code>primaryphoneline3</code>. </p>
1594
+ * </li>
1595
+ * </ul>
1596
+ */
1597
+ Identifier: string | undefined;
1598
+ }
1599
+ /**
1600
+ * @public
1601
+ * <p>The name of the field in the request payload that contains your customer's username. </p>
1602
+ * <p>This data type is used in the <code>RequestInspection</code> and <code>RequestInspectionACFP</code> data types. </p>
1506
1603
  */
1507
1604
  export interface UsernameField {
1508
1605
  /**
1509
- * <p>The name of the username field. For example <code>/form/username</code>.</p>
1606
+ * <p>The name of the username field. </p>
1607
+ * <p>How you specify this depends on the request inspection payload type.</p>
1608
+ * <ul>
1609
+ * <li>
1610
+ * <p>For JSON payloads, specify the field name in JSON
1611
+ * pointer syntax. For information about the JSON Pointer
1612
+ * syntax, see the Internet Engineering Task Force (IETF)
1613
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1614
+ * Object Notation (JSON) Pointer</a>. </p>
1615
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "username": "THE_USERNAME" \} \}</code>,
1616
+ * the username field specification is <code>/form/username</code>. </p>
1617
+ * </li>
1618
+ * <li>
1619
+ * <p>For form encoded payload types, use the HTML form names.</p>
1620
+ * <p>For example, for an HTML form with the input element
1621
+ * named <code>username1</code>, the username field specification is
1622
+ * <code>username1</code>
1623
+ * </p>
1624
+ * </li>
1625
+ * </ul>
1510
1626
  */
1511
1627
  Identifier: string | undefined;
1512
1628
  }
1513
1629
  /**
1514
1630
  * @public
1515
- * <p>The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage. </p>
1516
- * <p>This is part of the <code>AWSManagedRulesATPRuleSet</code> configuration in <code>ManagedRuleGroupConfig</code>.</p>
1517
- * <p>In these settings, you specify how your application accepts login attempts
1631
+ * <p>The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts. </p>
1632
+ * <p>This is part of the <code>AWSManagedRulesACFPRuleSet</code> configuration in <code>ManagedRuleGroupConfig</code>.</p>
1633
+ * <p>In these settings, you specify how your application accepts account creation attempts
1518
1634
  * by providing the request payload type and the names of the fields
1519
- * within the request body where the username and password are provided. </p>
1635
+ * within the request body where the username, password, email, and primary address and phone number fields are provided. </p>
1520
1636
  */
1521
- export interface RequestInspection {
1637
+ export interface RequestInspectionACFP {
1522
1638
  /**
1523
- * <p>The payload type for your login endpoint, either JSON or form encoded.</p>
1639
+ * <p>The payload type for your account creation endpoint, either JSON or form encoded.</p>
1524
1640
  */
1525
1641
  PayloadType: PayloadType | string | undefined;
1526
1642
  /**
1527
- * <p>Details about your login page username field. </p>
1528
- * <p>How you specify this depends on the payload type.</p>
1643
+ * <p>The name of the field in the request payload that contains your customer's username. </p>
1644
+ * <p>How you specify this depends on the request inspection payload type.</p>
1529
1645
  * <ul>
1530
1646
  * <li>
1531
1647
  * <p>For JSON payloads, specify the field name in JSON
@@ -1533,25 +1649,43 @@ export interface RequestInspection {
1533
1649
  * syntax, see the Internet Engineering Task Force (IETF)
1534
1650
  * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1535
1651
  * Object Notation (JSON) Pointer</a>. </p>
1536
- * <p>For example, for the JSON payload <code>\{ "login": \{ "username": "THE_USERNAME", "password": "THE_PASSWORD" \} \}</code>,
1537
- * the username field specification is
1538
- * <code>/login/username</code> and the password field
1539
- * specification is <code>/login/password</code>.</p>
1652
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "username": "THE_USERNAME" \} \}</code>,
1653
+ * the username field specification is <code>/form/username</code>. </p>
1540
1654
  * </li>
1541
1655
  * <li>
1542
1656
  * <p>For form encoded payload types, use the HTML form names.</p>
1543
- * <p>For example, for an HTML form with input elements
1544
- * named <code>username1</code> and <code>password1</code>,
1545
- * the username field specification is
1546
- * <code>username1</code> and the password field
1547
- * specification is <code>password1</code>.</p>
1657
+ * <p>For example, for an HTML form with the input element
1658
+ * named <code>username1</code>, the username field specification is
1659
+ * <code>username1</code>
1660
+ * </p>
1548
1661
  * </li>
1549
1662
  * </ul>
1550
1663
  */
1551
- UsernameField: UsernameField | undefined;
1664
+ UsernameField?: UsernameField;
1665
+ /**
1666
+ * <p>The name of the field in the request payload that contains your customer's password. </p>
1667
+ * <p>How you specify this depends on the request inspection payload type.</p>
1668
+ * <ul>
1669
+ * <li>
1670
+ * <p>For JSON payloads, specify the field name in JSON
1671
+ * pointer syntax. For information about the JSON Pointer
1672
+ * syntax, see the Internet Engineering Task Force (IETF)
1673
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1674
+ * Object Notation (JSON) Pointer</a>. </p>
1675
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "password": "THE_PASSWORD" \} \}</code>,
1676
+ * the password field specification is <code>/form/password</code>.</p>
1677
+ * </li>
1678
+ * <li>
1679
+ * <p>For form encoded payload types, use the HTML form names.</p>
1680
+ * <p>For example, for an HTML form with the input element
1681
+ * named <code>password1</code>, the password field specification is <code>password1</code>.</p>
1682
+ * </li>
1683
+ * </ul>
1684
+ */
1685
+ PasswordField?: PasswordField;
1552
1686
  /**
1553
- * <p>Details about your login page password field. </p>
1554
- * <p>How you specify this depends on the payload type.</p>
1687
+ * <p>The name of the field in the request payload that contains your customer's email. </p>
1688
+ * <p>How you specify this depends on the request inspection payload type.</p>
1555
1689
  * <ul>
1556
1690
  * <li>
1557
1691
  * <p>For JSON payloads, specify the field name in JSON
@@ -1559,47 +1693,88 @@ export interface RequestInspection {
1559
1693
  * syntax, see the Internet Engineering Task Force (IETF)
1560
1694
  * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1561
1695
  * Object Notation (JSON) Pointer</a>. </p>
1562
- * <p>For example, for the JSON payload <code>\{ "login": \{ "username": "THE_USERNAME", "password": "THE_PASSWORD" \} \}</code>,
1563
- * the username field specification is
1564
- * <code>/login/username</code> and the password field
1565
- * specification is <code>/login/password</code>.</p>
1696
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "email": "THE_EMAIL" \} \}</code>,
1697
+ * the email field specification is <code>/form/email</code>.</p>
1698
+ * </li>
1699
+ * <li>
1700
+ * <p>For form encoded payload types, use the HTML form names.</p>
1701
+ * <p>For example, for an HTML form with the input element
1702
+ * named <code>email1</code>, the email field specification is <code>email1</code>.</p>
1703
+ * </li>
1704
+ * </ul>
1705
+ */
1706
+ EmailField?: EmailField;
1707
+ /**
1708
+ * <p>The names of the fields in the request payload that contain your customer's primary phone number. </p>
1709
+ * <p>Order the phone number fields in the array exactly as they are ordered in the request payload. </p>
1710
+ * <p>How you specify the phone number fields depends on the request inspection payload type.</p>
1711
+ * <ul>
1712
+ * <li>
1713
+ * <p>For JSON payloads, specify the field identifiers in JSON
1714
+ * pointer syntax. For information about the JSON Pointer
1715
+ * syntax, see the Internet Engineering Task Force (IETF)
1716
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1717
+ * Object Notation (JSON) Pointer</a>. </p>
1718
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" \} \}</code>,
1719
+ * the phone number field identifiers are <code>/form/primaryphoneline1</code>, <code>/form/primaryphoneline2</code>, and <code>/form/primaryphoneline3</code>.</p>
1566
1720
  * </li>
1567
1721
  * <li>
1568
1722
  * <p>For form encoded payload types, use the HTML form names.</p>
1569
1723
  * <p>For example, for an HTML form with input elements
1570
- * named <code>username1</code> and <code>password1</code>,
1571
- * the username field specification is
1572
- * <code>username1</code> and the password field
1573
- * specification is <code>password1</code>.</p>
1724
+ * named <code>primaryphoneline1</code>, <code>primaryphoneline2</code>, and <code>primaryphoneline3</code>, the phone number field identifiers are <code>primaryphoneline1</code>, <code>primaryphoneline2</code>, and <code>primaryphoneline3</code>. </p>
1574
1725
  * </li>
1575
1726
  * </ul>
1576
1727
  */
1577
- PasswordField: PasswordField | undefined;
1728
+ PhoneNumberFields?: PhoneNumberField[];
1729
+ /**
1730
+ * <p>The names of the fields in the request payload that contain your customer's primary physical address. </p>
1731
+ * <p>Order the address fields in the array exactly as they are ordered in the request payload. </p>
1732
+ * <p>How you specify the address fields depends on the request inspection payload type.</p>
1733
+ * <ul>
1734
+ * <li>
1735
+ * <p>For JSON payloads, specify the field identifiers in JSON
1736
+ * pointer syntax. For information about the JSON Pointer
1737
+ * syntax, see the Internet Engineering Task Force (IETF)
1738
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1739
+ * Object Notation (JSON) Pointer</a>. </p>
1740
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" \} \}</code>,
1741
+ * the address field idenfiers are <code>/form/primaryaddressline1</code>, <code>/form/primaryaddressline2</code>, and <code>/form/primaryaddressline3</code>.</p>
1742
+ * </li>
1743
+ * <li>
1744
+ * <p>For form encoded payload types, use the HTML form names.</p>
1745
+ * <p>For example, for an HTML form with input elements
1746
+ * named <code>primaryaddressline1</code>, <code>primaryaddressline2</code>, and <code>primaryaddressline3</code>, the address fields identifiers are <code>primaryaddressline1</code>, <code>primaryaddressline2</code>, and <code>primaryaddressline3</code>. </p>
1747
+ * </li>
1748
+ * </ul>
1749
+ */
1750
+ AddressFields?: AddressField[];
1578
1751
  }
1579
1752
  /**
1580
1753
  * @public
1581
- * <p>Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1754
+ * <p>Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body.
1755
+ * This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code> and <code>AWSManagedRulesACFPRuleSet</code>. </p>
1582
1756
  * <note>
1583
1757
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1584
1758
  * </note>
1585
1759
  */
1586
1760
  export interface ResponseInspectionBodyContains {
1587
1761
  /**
1588
- * <p>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. </p>
1589
- * <p>JSON example: <code>"SuccessStrings": [ "Login successful", "Welcome to our site!" ]</code>
1762
+ * <p>Strings in the body of the response that indicate a successful login or account creation 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. </p>
1763
+ * <p>JSON examples: <code>"SuccessStrings": [ "Login successful" ]</code> and <code>"SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]</code>
1590
1764
  * </p>
1591
1765
  */
1592
1766
  SuccessStrings: string[] | undefined;
1593
1767
  /**
1594
- * <p>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. </p>
1595
- * <p>JSON example: <code>"FailureStrings": [ "Login failed" ]</code>
1768
+ * <p>Strings in the body of the response that indicate a failed login or account creation 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. </p>
1769
+ * <p>JSON example: <code>"FailureStrings": [ "Request failed" ]</code>
1596
1770
  * </p>
1597
1771
  */
1598
1772
  FailureStrings: string[] | undefined;
1599
1773
  }
1600
1774
  /**
1601
1775
  * @public
1602
- * <p>Configures inspection of the response header. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1776
+ * <p>Configures inspection of the response header.
1777
+ * This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code> and <code>AWSManagedRulesACFPRuleSet</code>. </p>
1603
1778
  * <note>
1604
1779
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1605
1780
  * </note>
@@ -1607,26 +1782,27 @@ export interface ResponseInspectionBodyContains {
1607
1782
  export interface ResponseInspectionHeader {
1608
1783
  /**
1609
1784
  * <p>The name of the header to match against. The name must be an exact match, including case.</p>
1610
- * <p>JSON example: <code>"Name": [ "LoginResult" ]</code>
1785
+ * <p>JSON example: <code>"Name": [ "RequestResult" ]</code>
1611
1786
  * </p>
1612
1787
  */
1613
1788
  Name: string | undefined;
1614
1789
  /**
1615
- * <p>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. </p>
1616
- * <p>JSON example: <code>"SuccessValues": [ "LoginPassed", "Successful login" ]</code>
1790
+ * <p>Values in the response header with the specified name that indicate a successful login or account creation 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. </p>
1791
+ * <p>JSON examples: <code>"SuccessValues": [ "LoginPassed", "Successful login" ]</code> and <code>"SuccessValues": [ "AccountCreated", "Successful account creation" ]</code>
1617
1792
  * </p>
1618
1793
  */
1619
1794
  SuccessValues: string[] | undefined;
1620
1795
  /**
1621
- * <p>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. </p>
1622
- * <p>JSON example: <code>"FailureValues": [ "LoginFailed", "Failed login" ]</code>
1796
+ * <p>Values in the response header with the specified name that indicate a failed login or account creation 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. </p>
1797
+ * <p>JSON examples: <code>"FailureValues": [ "LoginFailed", "Failed login" ]</code> and <code>"FailureValues": [ "AccountCreationFailed" ]</code>
1623
1798
  * </p>
1624
1799
  */
1625
1800
  FailureValues: string[] | undefined;
1626
1801
  }
1627
1802
  /**
1628
1803
  * @public
1629
- * <p>Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1804
+ * <p>Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON.
1805
+ * This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code> and <code>AWSManagedRulesACFPRuleSet</code>. </p>
1630
1806
  * <note>
1631
1807
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1632
1808
  * </note>
@@ -1634,18 +1810,18 @@ export interface ResponseInspectionHeader {
1634
1810
  export interface ResponseInspectionJson {
1635
1811
  /**
1636
1812
  * <p>The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.</p>
1637
- * <p>JSON example: <code>"Identifier": [ "/login/success" ]</code>
1813
+ * <p>JSON examples: <code>"Identifier": [ "/login/success" ]</code> and <code>"Identifier": [ "/sign-up/success" ]</code>
1638
1814
  * </p>
1639
1815
  */
1640
1816
  Identifier: string | undefined;
1641
1817
  /**
1642
- * <p>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. </p>
1818
+ * <p>Values for the specified identifier in the response JSON that indicate a successful login or account creation 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. </p>
1643
1819
  * <p>JSON example: <code>"SuccessValues": [ "True", "Succeeded" ]</code>
1644
1820
  * </p>
1645
1821
  */
1646
1822
  SuccessValues: string[] | undefined;
1647
1823
  /**
1648
- * <p>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. </p>
1824
+ * <p>Values for the specified identifier in the response JSON that indicate a failed login or account creation 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. </p>
1649
1825
  * <p>JSON example: <code>"FailureValues": [ "False", "Failed" ]</code>
1650
1826
  * </p>
1651
1827
  */
@@ -1653,20 +1829,21 @@ export interface ResponseInspectionJson {
1653
1829
  }
1654
1830
  /**
1655
1831
  * @public
1656
- * <p>Configures inspection of the response status code. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1832
+ * <p>Configures inspection of the response status code.
1833
+ * This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code> and <code>AWSManagedRulesACFPRuleSet</code>. </p>
1657
1834
  * <note>
1658
1835
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1659
1836
  * </note>
1660
1837
  */
1661
1838
  export interface ResponseInspectionStatusCode {
1662
1839
  /**
1663
- * <p>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. </p>
1840
+ * <p>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. </p>
1664
1841
  * <p>JSON example: <code>"SuccessCodes": [ 200, 201 ]</code>
1665
1842
  * </p>
1666
1843
  */
1667
1844
  SuccessCodes: number[] | undefined;
1668
1845
  /**
1669
- * <p>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. </p>
1846
+ * <p>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. </p>
1670
1847
  * <p>JSON example: <code>"FailureCodes": [ 400, 404 ]</code>
1671
1848
  * </p>
1672
1849
  */
@@ -1674,33 +1851,127 @@ export interface ResponseInspectionStatusCode {
1674
1851
  }
1675
1852
  /**
1676
1853
  * @public
1677
- * <p>The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. </p>
1678
- * <p>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
1679
- * and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time. </p>
1854
+ * <p>The criteria for inspecting responses to login requests and account creation requests, used by the ATP and ACFP rule groups to track login and account creation success and failure rates. </p>
1680
1855
  * <note>
1681
1856
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1682
1857
  * </note>
1683
- * <p>This is part of the <code>AWSManagedRulesATPRuleSet</code> configuration in <code>ManagedRuleGroupConfig</code>.</p>
1684
- * <p>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. </p>
1858
+ * <p>The rule groups evaluates the responses that your protected resources send back to client login and account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels
1859
+ * and mitigates requests from client sessions and IP addresses with too much suspicious activity in a short amount of time. </p>
1860
+ * <p>This is part of the <code>AWSManagedRulesATPRuleSet</code> and <code>AWSManagedRulesACFPRuleSet</code> configurations in <code>ManagedRuleGroupConfig</code>.</p>
1861
+ * <p>Enable response inspection by configuring exactly one component of the response to inspect, for example, <code>Header</code> or <code>StatusCode</code>. 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. </p>
1685
1862
  */
1686
1863
  export interface ResponseInspection {
1687
1864
  /**
1688
- * <p>Configures inspection of the response status code. </p>
1865
+ * <p>Configures inspection of the response status code for success and failure indicators. </p>
1689
1866
  */
1690
1867
  StatusCode?: ResponseInspectionStatusCode;
1691
1868
  /**
1692
- * <p>Configures inspection of the response header. </p>
1869
+ * <p>Configures inspection of the response header for success and failure indicators. </p>
1693
1870
  */
1694
1871
  Header?: ResponseInspectionHeader;
1695
1872
  /**
1696
- * <p>Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. </p>
1873
+ * <p>Configures inspection of the response body for success and failure indicators. WAF can inspect the first 65,536 bytes (64 KB) of the response body. </p>
1697
1874
  */
1698
1875
  BodyContains?: ResponseInspectionBodyContains;
1699
1876
  /**
1700
- * <p>Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. </p>
1877
+ * <p>Configures inspection of the response JSON for success and failure indicators. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. </p>
1701
1878
  */
1702
1879
  Json?: ResponseInspectionJson;
1703
1880
  }
1881
+ /**
1882
+ * @public
1883
+ * <p>Details for your use of the account creation fraud prevention managed rule group, <code>AWSManagedRulesACFPRuleSet</code>. This configuration is used in <code>ManagedRuleGroupConfig</code>. </p>
1884
+ */
1885
+ export interface AWSManagedRulesACFPRuleSet {
1886
+ /**
1887
+ * <p>The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept <code>POST</code> requests.</p>
1888
+ * <p>For example, for the URL <code>https://example.com/web/signup</code>, you would provide the path <code>/web/signup</code>.</p>
1889
+ */
1890
+ CreationPath: string | undefined;
1891
+ /**
1892
+ * <p>The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users. </p>
1893
+ * <note>
1894
+ * <p>This page must accept <code>GET</code> text/html requests.</p>
1895
+ * </note>
1896
+ * <p>For example, for the URL <code>https://example.com/web/register</code>, you would provide the path <code>/web/register</code>.</p>
1897
+ */
1898
+ RegistrationPagePath: string | undefined;
1899
+ /**
1900
+ * <p>The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts. </p>
1901
+ */
1902
+ RequestInspection: RequestInspectionACFP | undefined;
1903
+ /**
1904
+ * <p>The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates. </p>
1905
+ * <note>
1906
+ * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1907
+ * </note>
1908
+ * <p>The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels
1909
+ * and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time. </p>
1910
+ */
1911
+ ResponseInspection?: ResponseInspection;
1912
+ /**
1913
+ * <p>Allow the use of regular expressions in the registration page path and the account creation path. </p>
1914
+ */
1915
+ EnableRegexInPath?: boolean;
1916
+ }
1917
+ /**
1918
+ * @public
1919
+ * <p>The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage. </p>
1920
+ * <p>This is part of the <code>AWSManagedRulesATPRuleSet</code> configuration in <code>ManagedRuleGroupConfig</code>.</p>
1921
+ * <p>In these settings, you specify how your application accepts login attempts
1922
+ * by providing the request payload type and the names of the fields
1923
+ * within the request body where the username and password are provided. </p>
1924
+ */
1925
+ export interface RequestInspection {
1926
+ /**
1927
+ * <p>The payload type for your login endpoint, either JSON or form encoded.</p>
1928
+ */
1929
+ PayloadType: PayloadType | string | undefined;
1930
+ /**
1931
+ * <p>The name of the field in the request payload that contains your customer's username. </p>
1932
+ * <p>How you specify this depends on the request inspection payload type.</p>
1933
+ * <ul>
1934
+ * <li>
1935
+ * <p>For JSON payloads, specify the field name in JSON
1936
+ * pointer syntax. For information about the JSON Pointer
1937
+ * syntax, see the Internet Engineering Task Force (IETF)
1938
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1939
+ * Object Notation (JSON) Pointer</a>. </p>
1940
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "username": "THE_USERNAME" \} \}</code>,
1941
+ * the username field specification is <code>/form/username</code>. </p>
1942
+ * </li>
1943
+ * <li>
1944
+ * <p>For form encoded payload types, use the HTML form names.</p>
1945
+ * <p>For example, for an HTML form with the input element
1946
+ * named <code>username1</code>, the username field specification is
1947
+ * <code>username1</code>
1948
+ * </p>
1949
+ * </li>
1950
+ * </ul>
1951
+ */
1952
+ UsernameField: UsernameField | undefined;
1953
+ /**
1954
+ * <p>The name of the field in the request payload that contains your customer's password. </p>
1955
+ * <p>How you specify this depends on the request inspection payload type.</p>
1956
+ * <ul>
1957
+ * <li>
1958
+ * <p>For JSON payloads, specify the field name in JSON
1959
+ * pointer syntax. For information about the JSON Pointer
1960
+ * syntax, see the Internet Engineering Task Force (IETF)
1961
+ * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1962
+ * Object Notation (JSON) Pointer</a>. </p>
1963
+ * <p>For example, for the JSON payload <code>\{ "form": \{ "password": "THE_PASSWORD" \} \}</code>,
1964
+ * the password field specification is <code>/form/password</code>.</p>
1965
+ * </li>
1966
+ * <li>
1967
+ * <p>For form encoded payload types, use the HTML form names.</p>
1968
+ * <p>For example, for an HTML form with the input element
1969
+ * named <code>password1</code>, the password field specification is <code>password1</code>.</p>
1970
+ * </li>
1971
+ * </ul>
1972
+ */
1973
+ PasswordField: PasswordField | undefined;
1974
+ }
1704
1975
  /**
1705
1976
  * @public
1706
1977
  * <p>Details for your use of the account takeover prevention managed rule group, <code>AWSManagedRulesATPRuleSet</code>. This configuration is used in <code>ManagedRuleGroupConfig</code>. </p>
@@ -1719,13 +1990,17 @@ export interface AWSManagedRulesATPRuleSet {
1719
1990
  RequestInspection?: RequestInspection;
1720
1991
  /**
1721
1992
  * <p>The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. </p>
1722
- * <p>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
1723
- * and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time. </p>
1724
1993
  * <note>
1725
1994
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
1726
1995
  * </note>
1996
+ * <p>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
1997
+ * and mitigates requests from client sessions and IP addresses that have had too many failed login attempts in a short amount of time. </p>
1727
1998
  */
1728
1999
  ResponseInspection?: ResponseInspection;
2000
+ /**
2001
+ * <p>Allow the use of regular expressions in the login page path. </p>
2002
+ */
2003
+ EnableRegexInPath?: boolean;
1729
2004
  }
1730
2005
  /**
1731
2006
  * @public
@@ -1755,9 +2030,19 @@ export interface AWSManagedRulesBotControlRuleSet {
1755
2030
  /**
1756
2031
  * @public
1757
2032
  * <p>Additional information that's used by a managed rule group. Many managed rule groups don't require this.</p>
1758
- * <p>Use the <code>AWSManagedRulesATPRuleSet</code> 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. </p>
1759
- * <p>Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the
2033
+ * <p>The rule groups used for intelligent threat mitigation require additional configuration: </p>
2034
+ * <ul>
2035
+ * <li>
2036
+ * <p>Use the <code>AWSManagedRulesACFPRuleSet</code> configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. </p>
2037
+ * </li>
2038
+ * <li>
2039
+ * <p>Use the <code>AWSManagedRulesATPRuleSet</code> 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. </p>
2040
+ * </li>
2041
+ * <li>
2042
+ * <p>Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the
1760
2043
  * protection level that you want the Bot Control rule group to use. </p>
2044
+ * </li>
2045
+ * </ul>
1761
2046
  * <p>For example specifications, see the examples section of <a>CreateWebACL</a>.</p>
1762
2047
  */
1763
2048
  export interface ManagedRuleGroupConfig {
@@ -1773,8 +2058,7 @@ export interface ManagedRuleGroupConfig {
1773
2058
  * @deprecated
1774
2059
  *
1775
2060
  * <note>
1776
- * <p>Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>
1777
- * <code>RequestInspection</code>. </p>
2061
+ * <p>Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. </p>
1778
2062
  * </note>
1779
2063
  */
1780
2064
  PayloadType?: PayloadType | string;
@@ -1782,8 +2066,7 @@ export interface ManagedRuleGroupConfig {
1782
2066
  * @deprecated
1783
2067
  *
1784
2068
  * <note>
1785
- * <p>Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>
1786
- * <code>RequestInspection</code>. </p>
2069
+ * <p>Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. </p>
1787
2070
  * </note>
1788
2071
  */
1789
2072
  UsernameField?: UsernameField;
@@ -1791,8 +2074,7 @@ export interface ManagedRuleGroupConfig {
1791
2074
  * @deprecated
1792
2075
  *
1793
2076
  * <note>
1794
- * <p>Instead of this setting, provide your configuration under <code>AWSManagedRulesATPRuleSet</code>
1795
- * <code>RequestInspection</code>. </p>
2077
+ * <p>Instead of this setting, provide your configuration under the request inspection configuration for <code>AWSManagedRulesATPRuleSet</code> or <code>AWSManagedRulesACFPRuleSet</code>. </p>
1796
2078
  * </note>
1797
2079
  */
1798
2080
  PasswordField?: PasswordField;
@@ -1815,6 +2097,16 @@ export interface ManagedRuleGroupConfig {
1815
2097
  * in the <i>WAF Developer Guide</i>.</p>
1816
2098
  */
1817
2099
  AWSManagedRulesATPRuleSet?: AWSManagedRulesATPRuleSet;
2100
+ /**
2101
+ * <p>Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, <code>AWSManagedRulesACFPRuleSet</code>.
2102
+ * Use this to provide account creation request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide
2103
+ * the information about how your distribution responds to account creation requests. </p>
2104
+ * <p>For information
2105
+ * about using the ACFP managed rule group, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-acfp.html">WAF Fraud Control account creation fraud prevention (ACFP) rule group</a>
2106
+ * and <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html">WAF Fraud Control account creation fraud prevention (ACFP)</a>
2107
+ * in the <i>WAF Developer Guide</i>.</p>
2108
+ */
2109
+ AWSManagedRulesACFPRuleSet?: AWSManagedRulesACFPRuleSet;
1818
2110
  }
1819
2111
  /**
1820
2112
  * @public
@@ -2452,6 +2744,7 @@ export declare class WAFInvalidOperationException extends __BaseException {
2452
2744
  * @enum
2453
2745
  */
2454
2746
  export declare const ParameterExceptionField: {
2747
+ readonly ACP_RULE_SET_RESPONSE_INSPECTION: "ACP_RULE_SET_RESPONSE_INSPECTION";
2455
2748
  readonly AND_STATEMENT: "AND_STATEMENT";
2456
2749
  readonly ASSOCIABLE_RESOURCE: "ASSOCIABLE_RESOURCE";
2457
2750
  readonly ASSOCIATED_RESOURCE_TYPE: "ASSOCIATED_RESOURCE_TYPE";
@@ -4103,13 +4396,17 @@ export interface LoggingConfiguration {
4103
4396
  */
4104
4397
  LogDestinationConfigs: string[] | undefined;
4105
4398
  /**
4106
- * <p>The parts of the request that you want to keep out of the logs. For example, if you
4399
+ * <p>The parts of the request that you want to keep out of the logs.</p>
4400
+ * <p>For example, if you
4107
4401
  * redact the <code>SingleHeader</code> field, the <code>HEADER</code> field in the logs will
4108
- * be <code>REDACTED</code>. </p>
4402
+ * be <code>REDACTED</code> for all rules that use the <code>SingleHeader</code>
4403
+ * <code>FieldToMatch</code> setting. </p>
4404
+ * <p>Redaction applies only to the component that's specified in the rule's <code>FieldToMatch</code> setting, so the <code>SingleHeader</code> redaction
4405
+ * doesn't apply to rules that use the <code>Headers</code>
4406
+ * <code>FieldToMatch</code>.</p>
4109
4407
  * <note>
4110
4408
  * <p>You can specify only the following fields for redaction: <code>UriPath</code>,
4111
- * <code>QueryString</code>, <code>SingleHeader</code>, <code>Method</code>, and
4112
- * <code>JsonBody</code>.</p>
4409
+ * <code>QueryString</code>, <code>SingleHeader</code>, and <code>Method</code>.</p>
4113
4410
  * </note>
4114
4411
  */
4115
4412
  RedactedFields?: FieldToMatch[];
@@ -6125,7 +6422,7 @@ export interface Statement {
6125
6422
  * <p>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 by calling <a>ListAvailableManagedRuleGroups</a>.</p>
6126
6423
  * <p>You cannot nest a <code>ManagedRuleGroupStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. It can only be referenced as a top-level statement within a rule.</p>
6127
6424
  * <note>
6128
- * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code> or the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6425
+ * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code>, the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group <code>AWSManagedRulesACFPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6129
6426
  * </note>
6130
6427
  */
6131
6428
  ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
@@ -6144,7 +6441,7 @@ export interface Statement {
6144
6441
  * <p>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 by calling <a>ListAvailableManagedRuleGroups</a>.</p>
6145
6442
  * <p>You cannot nest a <code>ManagedRuleGroupStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. It can only be referenced as a top-level statement within a rule.</p>
6146
6443
  * <note>
6147
- * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code> or the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6444
+ * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code>, the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group <code>AWSManagedRulesACFPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6148
6445
  * </note>
6149
6446
  */
6150
6447
  export interface ManagedRuleGroupStatement {
@@ -6180,9 +6477,19 @@ export interface ManagedRuleGroupStatement {
6180
6477
  ScopeDownStatement?: Statement;
6181
6478
  /**
6182
6479
  * <p>Additional information that's used by a managed rule group. Many managed rule groups don't require this.</p>
6183
- * <p>Use the <code>AWSManagedRulesATPRuleSet</code> 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. </p>
6184
- * <p>Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the
6480
+ * <p>The rule groups used for intelligent threat mitigation require additional configuration: </p>
6481
+ * <ul>
6482
+ * <li>
6483
+ * <p>Use the <code>AWSManagedRulesACFPRuleSet</code> configuration object to configure the account creation fraud prevention managed rule group. The configuration includes the registration and sign-up pages of your application and the locations in the account creation request payload of data, such as the user email and phone number fields. </p>
6484
+ * </li>
6485
+ * <li>
6486
+ * <p>Use the <code>AWSManagedRulesATPRuleSet</code> 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. </p>
6487
+ * </li>
6488
+ * <li>
6489
+ * <p>Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the
6185
6490
  * protection level that you want the Bot Control rule group to use. </p>
6491
+ * </li>
6492
+ * </ul>
6186
6493
  */
6187
6494
  ManagedRuleGroupConfigs?: ManagedRuleGroupConfig[];
6188
6495
  /**
@@ -7050,7 +7357,7 @@ export interface GetWebACLResponse {
7050
7357
  */
7051
7358
  LockToken?: string;
7052
7359
  /**
7053
- * <p>The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group <code>AWSManagedRulesATPRuleSet</code>. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html">WAF client application integration</a>
7360
+ * <p>The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group <code>AWSManagedRulesATPRuleSet</code> and the account creation fraud prevention managed rule group <code>AWSManagedRulesACFPRuleSet</code>. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html">WAF client application integration</a>
7054
7361
  * in the <i>WAF Developer Guide</i>.</p>
7055
7362
  */
7056
7363
  ApplicationIntegrationURL?: string;