@aws-sdk/client-wafv2 3.379.1 → 3.385.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.
@@ -22,6 +22,7 @@ export type ActionValue = (typeof ActionValue)[keyof typeof ActionValue];
22
22
  */
23
23
  export interface ActionCondition {
24
24
  /**
25
+ * @public
25
26
  * <p>The action setting that a log record must contain in order to meet the condition. This is the action that WAF applied to the web request. </p>
26
27
  * <p>For rule groups, this is either the configured rule action setting, or if you've applied a rule action override to the rule, it's the override action.
27
28
  * The value <code>EXCLUDED_AS_COUNT</code> matches on
@@ -36,6 +37,7 @@ export interface ActionCondition {
36
37
  */
37
38
  export interface AddressField {
38
39
  /**
40
+ * @public
39
41
  * <p>The name of a single primary address field. </p>
40
42
  * <p>How you specify the address fields depends on the request inspection payload type.</p>
41
43
  * <ul>
@@ -73,6 +75,7 @@ export interface All {
73
75
  */
74
76
  export interface CustomHTTPHeader {
75
77
  /**
78
+ * @public
76
79
  * <p>The name of the custom header. </p>
77
80
  * <p>For custom request header insertion, when WAF inserts the header into the request,
78
81
  * it prefixes this name <code>x-amzn-waf-</code>, to avoid confusion with the headers that
@@ -81,6 +84,7 @@ export interface CustomHTTPHeader {
81
84
  */
82
85
  Name: string | undefined;
83
86
  /**
87
+ * @public
84
88
  * <p>The value of the custom header.</p>
85
89
  */
86
90
  Value: string | undefined;
@@ -96,6 +100,7 @@ export interface CustomHTTPHeader {
96
100
  */
97
101
  export interface CustomRequestHandling {
98
102
  /**
103
+ * @public
99
104
  * <p>The HTTP headers to insert into the request. Duplicate header names are not allowed. </p>
100
105
  * <p>For information about the limits on count and size for custom request and response settings, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/limits.html">WAF quotas</a>
101
106
  * in the <i>WAF Developer Guide</i>. </p>
@@ -110,6 +115,7 @@ export interface CustomRequestHandling {
110
115
  */
111
116
  export interface AllowAction {
112
117
  /**
118
+ * @public
113
119
  * <p>Defines custom handling for the web request.</p>
114
120
  * <p>For information about customizing web requests and responses,
115
121
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -147,6 +153,7 @@ export type OversizeHandling = (typeof OversizeHandling)[keyof typeof OversizeHa
147
153
  */
148
154
  export interface Body {
149
155
  /**
156
+ * @public
150
157
  * <p>What WAF should do if the body is larger than WAF can inspect.
151
158
  * WAF does not support inspecting the entire contents of the web request body if the body
152
159
  * exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service
@@ -186,15 +193,18 @@ export interface Body {
186
193
  */
187
194
  export interface CookieMatchPattern {
188
195
  /**
196
+ * @public
189
197
  * <p>Inspect all cookies. </p>
190
198
  */
191
199
  All?: All;
192
200
  /**
201
+ * @public
193
202
  * <p>Inspect only the cookies that have a key that matches one of the strings specified here.
194
203
  * </p>
195
204
  */
196
205
  IncludedCookies?: string[];
197
206
  /**
207
+ * @public
198
208
  * <p>Inspect only the cookies whose keys don't match any of the strings specified here.
199
209
  * </p>
200
210
  */
@@ -225,6 +235,7 @@ export type MapMatchScope = (typeof MapMatchScope)[keyof typeof MapMatchScope];
225
235
  */
226
236
  export interface Cookies {
227
237
  /**
238
+ * @public
228
239
  * <p>The filter to use to identify the subset of cookies to inspect in a web request. </p>
229
240
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedCookies</code>, or <code>ExcludedCookies</code>.</p>
230
241
  * <p>Example JSON: <code>"MatchPattern": \{ "IncludedCookies": [ "session-id-time", "session-id" ] \}</code>
@@ -232,11 +243,13 @@ export interface Cookies {
232
243
  */
233
244
  MatchPattern: CookieMatchPattern | undefined;
234
245
  /**
246
+ * @public
235
247
  * <p>The parts of the cookies to inspect with the rule inspection criteria. If you specify
236
248
  * <code>All</code>, WAF inspects both keys and values. </p>
237
249
  */
238
250
  MatchScope: MapMatchScope | string | undefined;
239
251
  /**
252
+ * @public
240
253
  * <p>What WAF should do if the cookies of the request are more numerous or larger than WAF can inspect.
241
254
  * WAF does not support inspecting the entire contents of request cookies
242
255
  * when they exceed 8 KB (8192 bytes) or 200 total cookies. The underlying host service forwards a maximum of 200 cookies
@@ -270,6 +283,7 @@ export interface Cookies {
270
283
  */
271
284
  export interface HeaderOrder {
272
285
  /**
286
+ * @public
273
287
  * <p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect.
274
288
  * WAF does not support inspecting the entire contents of request headers
275
289
  * when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers
@@ -303,15 +317,18 @@ export interface HeaderOrder {
303
317
  */
304
318
  export interface HeaderMatchPattern {
305
319
  /**
320
+ * @public
306
321
  * <p>Inspect all headers. </p>
307
322
  */
308
323
  All?: All;
309
324
  /**
325
+ * @public
310
326
  * <p>Inspect only the headers that have a key that matches one of the strings specified here.
311
327
  * </p>
312
328
  */
313
329
  IncludedHeaders?: string[];
314
330
  /**
331
+ * @public
315
332
  * <p>Inspect only the headers whose keys don't match any of the strings specified here.
316
333
  * </p>
317
334
  */
@@ -332,6 +349,7 @@ export interface HeaderMatchPattern {
332
349
  */
333
350
  export interface Headers {
334
351
  /**
352
+ * @public
335
353
  * <p>The filter to use to identify the subset of headers to inspect in a web request. </p>
336
354
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedHeaders</code>, or <code>ExcludedHeaders</code>.</p>
337
355
  * <p>Example JSON: <code>"MatchPattern": \{ "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] \}</code>
@@ -339,11 +357,13 @@ export interface Headers {
339
357
  */
340
358
  MatchPattern: HeaderMatchPattern | undefined;
341
359
  /**
360
+ * @public
342
361
  * <p>The parts of the headers to match with the rule inspection criteria. If you specify
343
362
  * <code>All</code>, WAF inspects both keys and values. </p>
344
363
  */
345
364
  MatchScope: MapMatchScope | string | undefined;
346
365
  /**
366
+ * @public
347
367
  * <p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect.
348
368
  * WAF does not support inspecting the entire contents of request headers
349
369
  * when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers
@@ -388,6 +408,7 @@ export type BodyParsingFallbackBehavior = (typeof BodyParsingFallbackBehavior)[k
388
408
  */
389
409
  export interface JsonMatchPattern {
390
410
  /**
411
+ * @public
391
412
  * <p>Match all of the elements. See also
392
413
  * <code>MatchScope</code>
393
414
  * in <a>JsonBody</a>. </p>
@@ -396,6 +417,7 @@ export interface JsonMatchPattern {
396
417
  */
397
418
  All?: All;
398
419
  /**
420
+ * @public
399
421
  * <p>Match only the specified include paths. See also
400
422
  * <code>MatchScope</code>
401
423
  * in <a>JsonBody</a>. </p>
@@ -440,16 +462,19 @@ export type JsonMatchScope = (typeof JsonMatchScope)[keyof typeof JsonMatchScope
440
462
  */
441
463
  export interface JsonBody {
442
464
  /**
465
+ * @public
443
466
  * <p>The patterns to look for in the JSON body. WAF inspects the results of these
444
467
  * pattern matches against the rule inspection criteria. </p>
445
468
  */
446
469
  MatchPattern: JsonMatchPattern | undefined;
447
470
  /**
471
+ * @public
448
472
  * <p>The parts of the JSON to match against using the <code>MatchPattern</code>. If you
449
473
  * specify <code>All</code>, WAF matches against keys and values. </p>
450
474
  */
451
475
  MatchScope: JsonMatchScope | string | undefined;
452
476
  /**
477
+ * @public
453
478
  * <p>What WAF should do if it fails to completely parse the JSON body. The options are
454
479
  * the following:</p>
455
480
  * <ul>
@@ -493,6 +518,7 @@ export interface JsonBody {
493
518
  */
494
519
  InvalidFallbackBehavior?: BodyParsingFallbackBehavior | string;
495
520
  /**
521
+ * @public
496
522
  * <p>What WAF should do if the body is larger than WAF can inspect.
497
523
  * WAF does not support inspecting the entire contents of the web request body if the body
498
524
  * exceeds the limit for the resource type. If the body is larger than the limit, the underlying host service
@@ -555,6 +581,7 @@ export interface QueryString {
555
581
  */
556
582
  export interface SingleHeader {
557
583
  /**
584
+ * @public
558
585
  * <p>The name of the query header to inspect.</p>
559
586
  */
560
587
  Name: string | undefined;
@@ -570,6 +597,7 @@ export interface SingleHeader {
570
597
  */
571
598
  export interface SingleQueryArgument {
572
599
  /**
600
+ * @public
573
601
  * <p>The name of the query argument to inspect.</p>
574
602
  */
575
603
  Name: string | undefined;
@@ -603,6 +631,7 @@ export interface UriPath {
603
631
  */
604
632
  export interface FieldToMatch {
605
633
  /**
634
+ * @public
606
635
  * <p>Inspect a single header. Provide the name of the header to inspect, for example,
607
636
  * <code>User-Agent</code> or <code>Referer</code>. This setting isn't case
608
637
  * sensitive.</p>
@@ -613,6 +642,7 @@ export interface FieldToMatch {
613
642
  */
614
643
  SingleHeader?: SingleHeader;
615
644
  /**
645
+ * @public
616
646
  * <p>Inspect a single query argument. Provide the name of the query argument to inspect, such
617
647
  * as <i>UserName</i> or <i>SalesRegion</i>. The name can be up to
618
648
  * 30 characters long and isn't case sensitive. </p>
@@ -621,20 +651,24 @@ export interface FieldToMatch {
621
651
  */
622
652
  SingleQueryArgument?: SingleQueryArgument;
623
653
  /**
654
+ * @public
624
655
  * <p>Inspect all query arguments. </p>
625
656
  */
626
657
  AllQueryArguments?: AllQueryArguments;
627
658
  /**
659
+ * @public
628
660
  * <p>Inspect the request URI path. This is the part of the web request that identifies a
629
661
  * resource, for example, <code>/images/daily-ad.jpg</code>.</p>
630
662
  */
631
663
  UriPath?: UriPath;
632
664
  /**
665
+ * @public
633
666
  * <p>Inspect the query string. This is the part of a URL that appears after a <code>?</code>
634
667
  * character, if any.</p>
635
668
  */
636
669
  QueryString?: QueryString;
637
670
  /**
671
+ * @public
638
672
  * <p>Inspect the request body as plain text. The request body immediately follows the request
639
673
  * headers. This is the part of a request that contains any additional data that you want to
640
674
  * send to your web server as the HTTP request body, such as data from a form. </p>
@@ -646,11 +680,13 @@ export interface FieldToMatch {
646
680
  */
647
681
  Body?: Body;
648
682
  /**
683
+ * @public
649
684
  * <p>Inspect the HTTP method. The method indicates the type of operation that the request is
650
685
  * asking the origin to perform. </p>
651
686
  */
652
687
  Method?: Method;
653
688
  /**
689
+ * @public
654
690
  * <p>Inspect the request body as JSON. The request body immediately follows the request
655
691
  * headers. This is the part of a request that contains any additional data that you want to
656
692
  * send to your web server as the HTTP request body, such as data from a form. </p>
@@ -662,6 +698,7 @@ export interface FieldToMatch {
662
698
  */
663
699
  JsonBody?: JsonBody;
664
700
  /**
701
+ * @public
665
702
  * <p>Inspect the request headers. You must configure scope and pattern matching filters in
666
703
  * the <code>Headers</code> object, to define the set of headers to and the parts of the
667
704
  * headers that WAF inspects. </p>
@@ -673,6 +710,7 @@ export interface FieldToMatch {
673
710
  */
674
711
  Headers?: Headers;
675
712
  /**
713
+ * @public
676
714
  * <p>Inspect the request cookies. You must configure scope and pattern matching filters in
677
715
  * the <code>Cookies</code> object, to define the set of cookies and the parts of the cookies
678
716
  * that WAF inspects. </p>
@@ -684,6 +722,7 @@ export interface FieldToMatch {
684
722
  */
685
723
  Cookies?: Cookies;
686
724
  /**
725
+ * @public
687
726
  * <p>Inspect a string containing the list of the request's header names, ordered as they appear in the web request
688
727
  * that WAF receives for inspection.
689
728
  * WAF generates the string and then uses that as the field to match component in its inspection.
@@ -744,6 +783,7 @@ export type TextTransformationType = (typeof TextTransformationType)[keyof typeo
744
783
  */
745
784
  export interface TextTransformation {
746
785
  /**
786
+ * @public
747
787
  * <p>Sets the relative processing order for multiple transformations.
748
788
  * WAF processes all transformations, from lowest priority to highest,
749
789
  * before inspecting the transformed content. The priorities don't need to be consecutive, but
@@ -751,6 +791,7 @@ export interface TextTransformation {
751
791
  */
752
792
  Priority: number | undefined;
753
793
  /**
794
+ * @public
754
795
  * <p>You can specify the following transformation types:</p>
755
796
  * <p>
756
797
  * <b>BASE64_DECODE</b> - Decode a
@@ -918,6 +959,7 @@ export interface TextTransformation {
918
959
  */
919
960
  export interface ByteMatchStatement {
920
961
  /**
962
+ * @public
921
963
  * <p>A string value that you want WAF to search for. WAF searches only in the part of
922
964
  * web requests that you designate for inspection in <a>FieldToMatch</a>. The
923
965
  * maximum length of the value is 200 bytes.</p>
@@ -960,14 +1002,17 @@ export interface ByteMatchStatement {
960
1002
  */
961
1003
  SearchString: Uint8Array | undefined;
962
1004
  /**
1005
+ * @public
963
1006
  * <p>The part of the web request that you want WAF to inspect. </p>
964
1007
  */
965
1008
  FieldToMatch: FieldToMatch | undefined;
966
1009
  /**
1010
+ * @public
967
1011
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
968
1012
  */
969
1013
  TextTransformations: TextTransformation[] | undefined;
970
1014
  /**
1015
+ * @public
971
1016
  * <p>The area within the portion of the web request that you want WAF to search for
972
1017
  * <code>SearchString</code>. Valid values include the following:</p>
973
1018
  * <p>
@@ -1299,6 +1344,7 @@ export type FallbackBehavior = (typeof FallbackBehavior)[keyof typeof FallbackBe
1299
1344
  */
1300
1345
  export interface ForwardedIPConfig {
1301
1346
  /**
1347
+ * @public
1302
1348
  * <p>The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to <code>X-Forwarded-For</code>.</p>
1303
1349
  * <note>
1304
1350
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1306,6 +1352,7 @@ export interface ForwardedIPConfig {
1306
1352
  */
1307
1353
  HeaderName: string | undefined;
1308
1354
  /**
1355
+ * @public
1309
1356
  * <p>The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.</p>
1310
1357
  * <note>
1311
1358
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1342,12 +1389,14 @@ export interface ForwardedIPConfig {
1342
1389
  */
1343
1390
  export interface GeoMatchStatement {
1344
1391
  /**
1392
+ * @public
1345
1393
  * <p>An array of two-character country codes that you want to match against, for example, <code>[ "US", "CN" ]</code>, from
1346
1394
  * the alpha-2 country ISO codes of the ISO 3166 international standard. </p>
1347
1395
  * <p>When you use a geo match statement just for the region and country labels that it adds to requests, you still have to supply a country code for the rule to evaluate. In this case, you configure the rule to only count matching requests, but it will still generate logging and count metrics for any matches. You can reduce the logging and metrics that the rule produces by specifying a country that's unlikely to be a source of traffic to your site.</p>
1348
1396
  */
1349
1397
  CountryCodes?: (CountryCode | string)[];
1350
1398
  /**
1399
+ * @public
1351
1400
  * <p>The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p>
1352
1401
  * <note>
1353
1402
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1378,6 +1427,7 @@ export type ForwardedIPPosition = (typeof ForwardedIPPosition)[keyof typeof Forw
1378
1427
  */
1379
1428
  export interface IPSetForwardedIPConfig {
1380
1429
  /**
1430
+ * @public
1381
1431
  * <p>The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to <code>X-Forwarded-For</code>.</p>
1382
1432
  * <note>
1383
1433
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1385,6 +1435,7 @@ export interface IPSetForwardedIPConfig {
1385
1435
  */
1386
1436
  HeaderName: string | undefined;
1387
1437
  /**
1438
+ * @public
1388
1439
  * <p>The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.</p>
1389
1440
  * <note>
1390
1441
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1403,6 +1454,7 @@ export interface IPSetForwardedIPConfig {
1403
1454
  */
1404
1455
  FallbackBehavior: FallbackBehavior | string | undefined;
1405
1456
  /**
1457
+ * @public
1406
1458
  * <p>The position in the header to search for the IP address. The header can contain IP
1407
1459
  * addresses of the original client and also of proxies. For example, the header value could
1408
1460
  * be <code>10.1.1.1, 127.0.0.0, 10.10.10.10</code> where the first IP address identifies the
@@ -1432,11 +1484,13 @@ export interface IPSetForwardedIPConfig {
1432
1484
  */
1433
1485
  export interface IPSetReferenceStatement {
1434
1486
  /**
1487
+ * @public
1435
1488
  * <p>The Amazon Resource Name (ARN) of the <a>IPSet</a> that this statement
1436
1489
  * references.</p>
1437
1490
  */
1438
1491
  ARN: string | undefined;
1439
1492
  /**
1493
+ * @public
1440
1494
  * <p>The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p>
1441
1495
  * <note>
1442
1496
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1463,10 +1517,12 @@ export type LabelMatchScope = (typeof LabelMatchScope)[keyof typeof LabelMatchSc
1463
1517
  */
1464
1518
  export interface LabelMatchStatement {
1465
1519
  /**
1520
+ * @public
1466
1521
  * <p>Specify whether you want to match using the label name or just the namespace. </p>
1467
1522
  */
1468
1523
  Scope: LabelMatchScope | string | undefined;
1469
1524
  /**
1525
+ * @public
1470
1526
  * <p>The string to match against. The setting you provide for this depends on the match
1471
1527
  * statement's <code>Scope</code> setting: </p>
1472
1528
  * <ul>
@@ -1496,6 +1552,7 @@ export interface LabelMatchStatement {
1496
1552
  */
1497
1553
  export interface ExcludedRule {
1498
1554
  /**
1555
+ * @public
1499
1556
  * <p>The name of the rule whose action you want to override to <code>Count</code>.</p>
1500
1557
  */
1501
1558
  Name: string | undefined;
@@ -1507,6 +1564,7 @@ export interface ExcludedRule {
1507
1564
  */
1508
1565
  export interface EmailField {
1509
1566
  /**
1567
+ * @public
1510
1568
  * <p>The name of the email field. </p>
1511
1569
  * <p>How you specify this depends on the request inspection payload type.</p>
1512
1570
  * <ul>
@@ -1535,6 +1593,7 @@ export interface EmailField {
1535
1593
  */
1536
1594
  export interface PasswordField {
1537
1595
  /**
1596
+ * @public
1538
1597
  * <p>The name of the password field. </p>
1539
1598
  * <p>How you specify this depends on the request inspection payload type.</p>
1540
1599
  * <ul>
@@ -1575,6 +1634,7 @@ export type PayloadType = (typeof PayloadType)[keyof typeof PayloadType];
1575
1634
  */
1576
1635
  export interface PhoneNumberField {
1577
1636
  /**
1637
+ * @public
1578
1638
  * <p>The name of a single primary phone number field. </p>
1579
1639
  * <p>How you specify the phone number fields depends on the request inspection payload type.</p>
1580
1640
  * <ul>
@@ -1603,6 +1663,7 @@ export interface PhoneNumberField {
1603
1663
  */
1604
1664
  export interface UsernameField {
1605
1665
  /**
1666
+ * @public
1606
1667
  * <p>The name of the username field. </p>
1607
1668
  * <p>How you specify this depends on the request inspection payload type.</p>
1608
1669
  * <ul>
@@ -1636,10 +1697,12 @@ export interface UsernameField {
1636
1697
  */
1637
1698
  export interface RequestInspectionACFP {
1638
1699
  /**
1700
+ * @public
1639
1701
  * <p>The payload type for your account creation endpoint, either JSON or form encoded.</p>
1640
1702
  */
1641
1703
  PayloadType: PayloadType | string | undefined;
1642
1704
  /**
1705
+ * @public
1643
1706
  * <p>The name of the field in the request payload that contains your customer's username. </p>
1644
1707
  * <p>How you specify this depends on the request inspection payload type.</p>
1645
1708
  * <ul>
@@ -1663,6 +1726,7 @@ export interface RequestInspectionACFP {
1663
1726
  */
1664
1727
  UsernameField?: UsernameField;
1665
1728
  /**
1729
+ * @public
1666
1730
  * <p>The name of the field in the request payload that contains your customer's password. </p>
1667
1731
  * <p>How you specify this depends on the request inspection payload type.</p>
1668
1732
  * <ul>
@@ -1684,6 +1748,7 @@ export interface RequestInspectionACFP {
1684
1748
  */
1685
1749
  PasswordField?: PasswordField;
1686
1750
  /**
1751
+ * @public
1687
1752
  * <p>The name of the field in the request payload that contains your customer's email. </p>
1688
1753
  * <p>How you specify this depends on the request inspection payload type.</p>
1689
1754
  * <ul>
@@ -1705,6 +1770,7 @@ export interface RequestInspectionACFP {
1705
1770
  */
1706
1771
  EmailField?: EmailField;
1707
1772
  /**
1773
+ * @public
1708
1774
  * <p>The names of the fields in the request payload that contain your customer's primary phone number. </p>
1709
1775
  * <p>Order the phone number fields in the array exactly as they are ordered in the request payload. </p>
1710
1776
  * <p>How you specify the phone number fields depends on the request inspection payload type.</p>
@@ -1727,6 +1793,7 @@ export interface RequestInspectionACFP {
1727
1793
  */
1728
1794
  PhoneNumberFields?: PhoneNumberField[];
1729
1795
  /**
1796
+ * @public
1730
1797
  * <p>The names of the fields in the request payload that contain your customer's primary physical address. </p>
1731
1798
  * <p>Order the address fields in the array exactly as they are ordered in the request payload. </p>
1732
1799
  * <p>How you specify the address fields depends on the request inspection payload type.</p>
@@ -1759,12 +1826,14 @@ export interface RequestInspectionACFP {
1759
1826
  */
1760
1827
  export interface ResponseInspectionBodyContains {
1761
1828
  /**
1829
+ * @public
1762
1830
  * <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
1831
  * <p>JSON examples: <code>"SuccessStrings": [ "Login successful" ]</code> and <code>"SuccessStrings": [ "Account creation successful", "Welcome to our site!" ]</code>
1764
1832
  * </p>
1765
1833
  */
1766
1834
  SuccessStrings: string[] | undefined;
1767
1835
  /**
1836
+ * @public
1768
1837
  * <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
1838
  * <p>JSON example: <code>"FailureStrings": [ "Request failed" ]</code>
1770
1839
  * </p>
@@ -1781,18 +1850,21 @@ export interface ResponseInspectionBodyContains {
1781
1850
  */
1782
1851
  export interface ResponseInspectionHeader {
1783
1852
  /**
1853
+ * @public
1784
1854
  * <p>The name of the header to match against. The name must be an exact match, including case.</p>
1785
1855
  * <p>JSON example: <code>"Name": [ "RequestResult" ]</code>
1786
1856
  * </p>
1787
1857
  */
1788
1858
  Name: string | undefined;
1789
1859
  /**
1860
+ * @public
1790
1861
  * <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
1862
  * <p>JSON examples: <code>"SuccessValues": [ "LoginPassed", "Successful login" ]</code> and <code>"SuccessValues": [ "AccountCreated", "Successful account creation" ]</code>
1792
1863
  * </p>
1793
1864
  */
1794
1865
  SuccessValues: string[] | undefined;
1795
1866
  /**
1867
+ * @public
1796
1868
  * <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
1869
  * <p>JSON examples: <code>"FailureValues": [ "LoginFailed", "Failed login" ]</code> and <code>"FailureValues": [ "AccountCreationFailed" ]</code>
1798
1870
  * </p>
@@ -1809,18 +1881,21 @@ export interface ResponseInspectionHeader {
1809
1881
  */
1810
1882
  export interface ResponseInspectionJson {
1811
1883
  /**
1884
+ * @public
1812
1885
  * <p>The identifier for the value to match against in the JSON. The identifier must be an exact match, including case.</p>
1813
1886
  * <p>JSON examples: <code>"Identifier": [ "/login/success" ]</code> and <code>"Identifier": [ "/sign-up/success" ]</code>
1814
1887
  * </p>
1815
1888
  */
1816
1889
  Identifier: string | undefined;
1817
1890
  /**
1891
+ * @public
1818
1892
  * <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>
1819
1893
  * <p>JSON example: <code>"SuccessValues": [ "True", "Succeeded" ]</code>
1820
1894
  * </p>
1821
1895
  */
1822
1896
  SuccessValues: string[] | undefined;
1823
1897
  /**
1898
+ * @public
1824
1899
  * <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>
1825
1900
  * <p>JSON example: <code>"FailureValues": [ "False", "Failed" ]</code>
1826
1901
  * </p>
@@ -1837,12 +1912,14 @@ export interface ResponseInspectionJson {
1837
1912
  */
1838
1913
  export interface ResponseInspectionStatusCode {
1839
1914
  /**
1915
+ * @public
1840
1916
  * <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>
1841
1917
  * <p>JSON example: <code>"SuccessCodes": [ 200, 201 ]</code>
1842
1918
  * </p>
1843
1919
  */
1844
1920
  SuccessCodes: number[] | undefined;
1845
1921
  /**
1922
+ * @public
1846
1923
  * <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>
1847
1924
  * <p>JSON example: <code>"FailureCodes": [ 400, 404 ]</code>
1848
1925
  * </p>
@@ -1862,18 +1939,22 @@ export interface ResponseInspectionStatusCode {
1862
1939
  */
1863
1940
  export interface ResponseInspection {
1864
1941
  /**
1942
+ * @public
1865
1943
  * <p>Configures inspection of the response status code for success and failure indicators. </p>
1866
1944
  */
1867
1945
  StatusCode?: ResponseInspectionStatusCode;
1868
1946
  /**
1947
+ * @public
1869
1948
  * <p>Configures inspection of the response header for success and failure indicators. </p>
1870
1949
  */
1871
1950
  Header?: ResponseInspectionHeader;
1872
1951
  /**
1952
+ * @public
1873
1953
  * <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>
1874
1954
  */
1875
1955
  BodyContains?: ResponseInspectionBodyContains;
1876
1956
  /**
1957
+ * @public
1877
1958
  * <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>
1878
1959
  */
1879
1960
  Json?: ResponseInspectionJson;
@@ -1884,11 +1965,13 @@ export interface ResponseInspection {
1884
1965
  */
1885
1966
  export interface AWSManagedRulesACFPRuleSet {
1886
1967
  /**
1968
+ * @public
1887
1969
  * <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
1970
  * <p>For example, for the URL <code>https://example.com/web/signup</code>, you would provide the path <code>/web/signup</code>.</p>
1889
1971
  */
1890
1972
  CreationPath: string | undefined;
1891
1973
  /**
1974
+ * @public
1892
1975
  * <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
1976
  * <note>
1894
1977
  * <p>This page must accept <code>GET</code> text/html requests.</p>
@@ -1897,10 +1980,12 @@ export interface AWSManagedRulesACFPRuleSet {
1897
1980
  */
1898
1981
  RegistrationPagePath: string | undefined;
1899
1982
  /**
1983
+ * @public
1900
1984
  * <p>The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts. </p>
1901
1985
  */
1902
1986
  RequestInspection: RequestInspectionACFP | undefined;
1903
1987
  /**
1988
+ * @public
1904
1989
  * <p>The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates. </p>
1905
1990
  * <note>
1906
1991
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1910,6 +1995,7 @@ export interface AWSManagedRulesACFPRuleSet {
1910
1995
  */
1911
1996
  ResponseInspection?: ResponseInspection;
1912
1997
  /**
1998
+ * @public
1913
1999
  * <p>Allow the use of regular expressions in the registration page path and the account creation path. </p>
1914
2000
  */
1915
2001
  EnableRegexInPath?: boolean;
@@ -1924,10 +2010,12 @@ export interface AWSManagedRulesACFPRuleSet {
1924
2010
  */
1925
2011
  export interface RequestInspection {
1926
2012
  /**
2013
+ * @public
1927
2014
  * <p>The payload type for your login endpoint, either JSON or form encoded.</p>
1928
2015
  */
1929
2016
  PayloadType: PayloadType | string | undefined;
1930
2017
  /**
2018
+ * @public
1931
2019
  * <p>The name of the field in the request payload that contains your customer's username. </p>
1932
2020
  * <p>How you specify this depends on the request inspection payload type.</p>
1933
2021
  * <ul>
@@ -1951,6 +2039,7 @@ export interface RequestInspection {
1951
2039
  */
1952
2040
  UsernameField: UsernameField | undefined;
1953
2041
  /**
2042
+ * @public
1954
2043
  * <p>The name of the field in the request payload that contains your customer's password. </p>
1955
2044
  * <p>How you specify this depends on the request inspection payload type.</p>
1956
2045
  * <ul>
@@ -1978,6 +2067,7 @@ export interface RequestInspection {
1978
2067
  */
1979
2068
  export interface AWSManagedRulesATPRuleSet {
1980
2069
  /**
2070
+ * @public
1981
2071
  * <p>The path of the login endpoint for your application. For example, for the URL
1982
2072
  * <code>https://example.com/web/login</code>, you would provide the path
1983
2073
  * <code>/web/login</code>.</p>
@@ -1985,10 +2075,12 @@ export interface AWSManagedRulesATPRuleSet {
1985
2075
  */
1986
2076
  LoginPath: string | undefined;
1987
2077
  /**
2078
+ * @public
1988
2079
  * <p>The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage. </p>
1989
2080
  */
1990
2081
  RequestInspection?: RequestInspection;
1991
2082
  /**
2083
+ * @public
1992
2084
  * <p>The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. </p>
1993
2085
  * <note>
1994
2086
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1998,6 +2090,7 @@ export interface AWSManagedRulesATPRuleSet {
1998
2090
  */
1999
2091
  ResponseInspection?: ResponseInspection;
2000
2092
  /**
2093
+ * @public
2001
2094
  * <p>Allow the use of regular expressions in the login page path. </p>
2002
2095
  */
2003
2096
  EnableRegexInPath?: boolean;
@@ -2020,6 +2113,7 @@ export type InspectionLevel = (typeof InspectionLevel)[keyof typeof InspectionLe
2020
2113
  */
2021
2114
  export interface AWSManagedRulesBotControlRuleSet {
2022
2115
  /**
2116
+ * @public
2023
2117
  * <p>The inspection level to use for the Bot Control rule group. The common level is the least expensive. The
2024
2118
  * targeted level includes all common level rules and adds rules with more advanced inspection criteria. For
2025
2119
  * details, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html">WAF Bot Control rule group</a>
@@ -2047,6 +2141,7 @@ export interface AWSManagedRulesBotControlRuleSet {
2047
2141
  */
2048
2142
  export interface ManagedRuleGroupConfig {
2049
2143
  /**
2144
+ * @public
2050
2145
  * @deprecated
2051
2146
  *
2052
2147
  * <note>
@@ -2055,6 +2150,7 @@ export interface ManagedRuleGroupConfig {
2055
2150
  */
2056
2151
  LoginPath?: string;
2057
2152
  /**
2153
+ * @public
2058
2154
  * @deprecated
2059
2155
  *
2060
2156
  * <note>
@@ -2063,6 +2159,7 @@ export interface ManagedRuleGroupConfig {
2063
2159
  */
2064
2160
  PayloadType?: PayloadType | string;
2065
2161
  /**
2162
+ * @public
2066
2163
  * @deprecated
2067
2164
  *
2068
2165
  * <note>
@@ -2071,6 +2168,7 @@ export interface ManagedRuleGroupConfig {
2071
2168
  */
2072
2169
  UsernameField?: UsernameField;
2073
2170
  /**
2171
+ * @public
2074
2172
  * @deprecated
2075
2173
  *
2076
2174
  * <note>
@@ -2079,6 +2177,7 @@ export interface ManagedRuleGroupConfig {
2079
2177
  */
2080
2178
  PasswordField?: PasswordField;
2081
2179
  /**
2180
+ * @public
2082
2181
  * <p>Additional configuration for using the Bot Control managed rule group. Use this to specify the
2083
2182
  * inspection level that you want to use. For information
2084
2183
  * about using the Bot Control managed rule group, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-bot.html">WAF Bot Control rule group</a>
@@ -2087,6 +2186,7 @@ export interface ManagedRuleGroupConfig {
2087
2186
  */
2088
2187
  AWSManagedRulesBotControlRuleSet?: AWSManagedRulesBotControlRuleSet;
2089
2188
  /**
2189
+ * @public
2090
2190
  * <p>Additional configuration for using the account takeover prevention (ATP) managed rule group, <code>AWSManagedRulesATPRuleSet</code>.
2091
2191
  * Use this to provide login request information to the rule group. For web ACLs that protect CloudFront distributions, use this to also provide
2092
2192
  * the information about how your distribution responds to login requests. </p>
@@ -2098,6 +2198,7 @@ export interface ManagedRuleGroupConfig {
2098
2198
  */
2099
2199
  AWSManagedRulesATPRuleSet?: AWSManagedRulesATPRuleSet;
2100
2200
  /**
2201
+ * @public
2101
2202
  * <p>Additional configuration for using the account creation fraud prevention (ACFP) managed rule group, <code>AWSManagedRulesACFPRuleSet</code>.
2102
2203
  * 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
2204
  * the information about how your distribution responds to account creation requests. </p>
@@ -2118,12 +2219,14 @@ export interface ManagedRuleGroupConfig {
2118
2219
  */
2119
2220
  export interface CustomResponse {
2120
2221
  /**
2222
+ * @public
2121
2223
  * <p>The HTTP status code to return to the client. </p>
2122
2224
  * <p>For a list of status codes that you can use in your custom responses, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-status-codes.html">Supported status codes for custom response</a>
2123
2225
  * in the <i>WAF Developer Guide</i>. </p>
2124
2226
  */
2125
2227
  ResponseCode: number | undefined;
2126
2228
  /**
2229
+ * @public
2127
2230
  * <p>References the response body that you want WAF to return to the web request
2128
2231
  * client. You can define a custom response for a rule action or a default web ACL action that
2129
2232
  * is set to block. To do this, you first define the response body key and value in the
@@ -2133,6 +2236,7 @@ export interface CustomResponse {
2133
2236
  */
2134
2237
  CustomResponseBodyKey?: string;
2135
2238
  /**
2239
+ * @public
2136
2240
  * <p>The HTTP headers to use in the response. Duplicate header names are not allowed. </p>
2137
2241
  * <p>For information about the limits on count and size for custom request and response settings, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/limits.html">WAF quotas</a>
2138
2242
  * in the <i>WAF Developer Guide</i>. </p>
@@ -2147,6 +2251,7 @@ export interface CustomResponse {
2147
2251
  */
2148
2252
  export interface BlockAction {
2149
2253
  /**
2254
+ * @public
2150
2255
  * <p>Defines a custom response for the web request.</p>
2151
2256
  * <p>For information about customizing web requests and responses,
2152
2257
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -2187,6 +2292,7 @@ export interface BlockAction {
2187
2292
  */
2188
2293
  export interface CaptchaAction {
2189
2294
  /**
2295
+ * @public
2190
2296
  * <p>Defines custom handling for the web request, used when the <code>CAPTCHA</code> inspection determines that the request's token is valid and unexpired.</p>
2191
2297
  * <p>For information about customizing web requests and responses,
2192
2298
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -2231,6 +2337,7 @@ export interface CaptchaAction {
2231
2337
  */
2232
2338
  export interface ChallengeAction {
2233
2339
  /**
2340
+ * @public
2234
2341
  * <p>Defines custom handling for the web request, used when the challenge inspection determines that the request's token is valid and unexpired.</p>
2235
2342
  * <p>For information about customizing web requests and responses,
2236
2343
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -2246,6 +2353,7 @@ export interface ChallengeAction {
2246
2353
  */
2247
2354
  export interface CountAction {
2248
2355
  /**
2356
+ * @public
2249
2357
  * <p>Defines custom handling for the web request.</p>
2250
2358
  * <p>For information about customizing web requests and responses,
2251
2359
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -2260,22 +2368,27 @@ export interface CountAction {
2260
2368
  */
2261
2369
  export interface RuleAction {
2262
2370
  /**
2371
+ * @public
2263
2372
  * <p>Instructs WAF to block the web request.</p>
2264
2373
  */
2265
2374
  Block?: BlockAction;
2266
2375
  /**
2376
+ * @public
2267
2377
  * <p>Instructs WAF to allow the web request.</p>
2268
2378
  */
2269
2379
  Allow?: AllowAction;
2270
2380
  /**
2381
+ * @public
2271
2382
  * <p>Instructs WAF to count the web request and then continue evaluating the request using the remaining rules in the web ACL.</p>
2272
2383
  */
2273
2384
  Count?: CountAction;
2274
2385
  /**
2386
+ * @public
2275
2387
  * <p>Instructs WAF to run a <code>CAPTCHA</code> check against the web request.</p>
2276
2388
  */
2277
2389
  Captcha?: CaptchaAction;
2278
2390
  /**
2391
+ * @public
2279
2392
  * <p>Instructs WAF to run a <code>Challenge</code> check against the web request.</p>
2280
2393
  */
2281
2394
  Challenge?: ChallengeAction;
@@ -2287,10 +2400,12 @@ export interface RuleAction {
2287
2400
  */
2288
2401
  export interface RuleActionOverride {
2289
2402
  /**
2403
+ * @public
2290
2404
  * <p>The name of the rule to override.</p>
2291
2405
  */
2292
2406
  Name: string | undefined;
2293
2407
  /**
2408
+ * @public
2294
2409
  * <p>The override action to use, in place of the configured action of the rule in the rule group. </p>
2295
2410
  */
2296
2411
  ActionToUse: RuleAction | undefined;
@@ -2316,10 +2431,12 @@ export type RateBasedStatementAggregateKeyType = (typeof RateBasedStatementAggre
2316
2431
  */
2317
2432
  export interface RateLimitCookie {
2318
2433
  /**
2434
+ * @public
2319
2435
  * <p>The name of the cookie to use. </p>
2320
2436
  */
2321
2437
  Name: string | undefined;
2322
2438
  /**
2439
+ * @public
2323
2440
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2324
2441
  */
2325
2442
  TextTransformations: TextTransformation[] | undefined;
@@ -2344,10 +2461,12 @@ export interface RateLimitForwardedIP {
2344
2461
  */
2345
2462
  export interface RateLimitHeader {
2346
2463
  /**
2464
+ * @public
2347
2465
  * <p>The name of the header to use. </p>
2348
2466
  */
2349
2467
  Name: string | undefined;
2350
2468
  /**
2469
+ * @public
2351
2470
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2352
2471
  */
2353
2472
  TextTransformations: TextTransformation[] | undefined;
@@ -2381,6 +2500,7 @@ export interface RateLimitIP {
2381
2500
  */
2382
2501
  export interface RateLimitLabelNamespace {
2383
2502
  /**
2503
+ * @public
2384
2504
  * <p>The namespace to use for aggregation. </p>
2385
2505
  */
2386
2506
  Namespace: string | undefined;
@@ -2392,10 +2512,12 @@ export interface RateLimitLabelNamespace {
2392
2512
  */
2393
2513
  export interface RateLimitQueryArgument {
2394
2514
  /**
2515
+ * @public
2395
2516
  * <p>The name of the query argument to use. </p>
2396
2517
  */
2397
2518
  Name: string | undefined;
2398
2519
  /**
2520
+ * @public
2399
2521
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2400
2522
  */
2401
2523
  TextTransformations: TextTransformation[] | undefined;
@@ -2407,6 +2529,7 @@ export interface RateLimitQueryArgument {
2407
2529
  */
2408
2530
  export interface RateLimitQueryString {
2409
2531
  /**
2532
+ * @public
2410
2533
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2411
2534
  */
2412
2535
  TextTransformations: TextTransformation[] | undefined;
@@ -2418,6 +2541,7 @@ export interface RateLimitQueryString {
2418
2541
  */
2419
2542
  export interface RateLimitUriPath {
2420
2543
  /**
2544
+ * @public
2421
2545
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2422
2546
  */
2423
2547
  TextTransformations: TextTransformation[] | undefined;
@@ -2432,31 +2556,37 @@ export interface RateLimitUriPath {
2432
2556
  */
2433
2557
  export interface RateBasedStatementCustomKey {
2434
2558
  /**
2559
+ * @public
2435
2560
  * <p>Use the value of a header in the request as an aggregate key. Each distinct value in the header contributes to the aggregation instance. If you use a single
2436
2561
  * header as your custom key, then each value fully defines an aggregation instance. </p>
2437
2562
  */
2438
2563
  Header?: RateLimitHeader;
2439
2564
  /**
2565
+ * @public
2440
2566
  * <p>Use the value of a cookie in the request as an aggregate key. Each distinct value in the cookie contributes to the aggregation instance. If you use a single
2441
2567
  * cookie as your custom key, then each value fully defines an aggregation instance. </p>
2442
2568
  */
2443
2569
  Cookie?: RateLimitCookie;
2444
2570
  /**
2571
+ * @public
2445
2572
  * <p>Use the specified query argument as an aggregate key. Each distinct value for the named query argument contributes to the aggregation instance. If you
2446
2573
  * use a single query argument as your custom key, then each value fully defines an aggregation instance. </p>
2447
2574
  */
2448
2575
  QueryArgument?: RateLimitQueryArgument;
2449
2576
  /**
2577
+ * @public
2450
2578
  * <p>Use the request's query string as an aggregate key. Each distinct string contributes to the aggregation instance. If you use just the
2451
2579
  * query string as your custom key, then each string fully defines an aggregation instance. </p>
2452
2580
  */
2453
2581
  QueryString?: RateLimitQueryString;
2454
2582
  /**
2583
+ * @public
2455
2584
  * <p>Use the request's HTTP method as an aggregate key. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method
2456
2585
  * as your custom key, then each method fully defines an aggregation instance. </p>
2457
2586
  */
2458
2587
  HTTPMethod?: RateLimitHTTPMethod;
2459
2588
  /**
2589
+ * @public
2460
2590
  * <p>Use the first IP address in an HTTP header as an aggregate key. Each distinct forwarded IP address contributes to the aggregation instance.</p>
2461
2591
  * <p>When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use.
2462
2592
  * You can aggregate on only the forwarded IP address by specifying <code>FORWARDED_IP</code> in your rate-based statement's <code>AggregateKeyType</code>. </p>
@@ -2464,12 +2594,14 @@ export interface RateBasedStatementCustomKey {
2464
2594
  */
2465
2595
  ForwardedIP?: RateLimitForwardedIP;
2466
2596
  /**
2597
+ * @public
2467
2598
  * <p>Use the request's originating IP address as an aggregate key. Each distinct IP address contributes to the aggregation instance.</p>
2468
2599
  * <p>When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use.
2469
2600
  * You can aggregate on only the IP address by specifying <code>IP</code> in your rate-based statement's <code>AggregateKeyType</code>. </p>
2470
2601
  */
2471
2602
  IP?: RateLimitIP;
2472
2603
  /**
2604
+ * @public
2473
2605
  * <p>Use the specified label namespace as an aggregate key. Each distinct fully qualified label name that has the specified label namespace contributes to the aggregation instance. If you use just one label namespace as your custom key, then each label name fully defines an aggregation instance. </p>
2474
2606
  * <p>This uses only labels that have been added to the request by rules that are evaluated before this rate-based rule in the web ACL. </p>
2475
2607
  * <p>For information about label namespaces and names, see
@@ -2477,6 +2609,7 @@ export interface RateBasedStatementCustomKey {
2477
2609
  */
2478
2610
  LabelNamespace?: RateLimitLabelNamespace;
2479
2611
  /**
2612
+ * @public
2480
2613
  * <p>Use the request's URI path as an aggregate key. Each distinct URI path contributes to the aggregation instance. If you use just the
2481
2614
  * URI path as your custom key, then each URI path fully defines an aggregation instance. </p>
2482
2615
  */
@@ -2488,14 +2621,17 @@ export interface RateBasedStatementCustomKey {
2488
2621
  */
2489
2622
  export interface RegexMatchStatement {
2490
2623
  /**
2624
+ * @public
2491
2625
  * <p>The string representing the regular expression.</p>
2492
2626
  */
2493
2627
  RegexString: string | undefined;
2494
2628
  /**
2629
+ * @public
2495
2630
  * <p>The part of the web request that you want WAF to inspect. </p>
2496
2631
  */
2497
2632
  FieldToMatch: FieldToMatch | undefined;
2498
2633
  /**
2634
+ * @public
2499
2635
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2500
2636
  */
2501
2637
  TextTransformations: TextTransformation[] | undefined;
@@ -2507,15 +2643,18 @@ export interface RegexMatchStatement {
2507
2643
  */
2508
2644
  export interface RegexPatternSetReferenceStatement {
2509
2645
  /**
2646
+ * @public
2510
2647
  * <p>The Amazon Resource Name (ARN) of the <a>RegexPatternSet</a> that this
2511
2648
  * statement references.</p>
2512
2649
  */
2513
2650
  ARN: string | undefined;
2514
2651
  /**
2652
+ * @public
2515
2653
  * <p>The part of the web request that you want WAF to inspect. </p>
2516
2654
  */
2517
2655
  FieldToMatch: FieldToMatch | undefined;
2518
2656
  /**
2657
+ * @public
2519
2658
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2520
2659
  */
2521
2660
  TextTransformations: TextTransformation[] | undefined;
@@ -2528,10 +2667,12 @@ export interface RegexPatternSetReferenceStatement {
2528
2667
  */
2529
2668
  export interface RuleGroupReferenceStatement {
2530
2669
  /**
2670
+ * @public
2531
2671
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
2532
2672
  */
2533
2673
  ARN: string | undefined;
2534
2674
  /**
2675
+ * @public
2535
2676
  * <p>Rules in the referenced rule group whose actions are set to <code>Count</code>. </p>
2536
2677
  * <note>
2537
2678
  * <p>Instead of this option, use <code>RuleActionOverrides</code>. It accepts any valid action setting, including <code>Count</code>.</p>
@@ -2539,6 +2680,7 @@ export interface RuleGroupReferenceStatement {
2539
2680
  */
2540
2681
  ExcludedRules?: ExcludedRule[];
2541
2682
  /**
2683
+ * @public
2542
2684
  * <p>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. </p>
2543
2685
  * <p>You can use overrides for testing, for example you can override all of rule actions to <code>Count</code> 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.</p>
2544
2686
  */
@@ -2568,18 +2710,22 @@ export type ComparisonOperator = (typeof ComparisonOperator)[keyof typeof Compar
2568
2710
  */
2569
2711
  export interface SizeConstraintStatement {
2570
2712
  /**
2713
+ * @public
2571
2714
  * <p>The part of the web request that you want WAF to inspect. </p>
2572
2715
  */
2573
2716
  FieldToMatch: FieldToMatch | undefined;
2574
2717
  /**
2718
+ * @public
2575
2719
  * <p>The operator to use to compare the request part to the size setting. </p>
2576
2720
  */
2577
2721
  ComparisonOperator: ComparisonOperator | string | undefined;
2578
2722
  /**
2723
+ * @public
2579
2724
  * <p>The size, in byte, to compare to the request part, after any transformations.</p>
2580
2725
  */
2581
2726
  Size: number | undefined;
2582
2727
  /**
2728
+ * @public
2583
2729
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2584
2730
  */
2585
2731
  TextTransformations: TextTransformation[] | undefined;
@@ -2602,14 +2748,17 @@ export type SensitivityLevel = (typeof SensitivityLevel)[keyof typeof Sensitivit
2602
2748
  */
2603
2749
  export interface SqliMatchStatement {
2604
2750
  /**
2751
+ * @public
2605
2752
  * <p>The part of the web request that you want WAF to inspect. </p>
2606
2753
  */
2607
2754
  FieldToMatch: FieldToMatch | undefined;
2608
2755
  /**
2756
+ * @public
2609
2757
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2610
2758
  */
2611
2759
  TextTransformations: TextTransformation[] | undefined;
2612
2760
  /**
2761
+ * @public
2613
2762
  * <p>The sensitivity that you want WAF to use to inspect for SQL injection attacks. </p>
2614
2763
  * <p>
2615
2764
  * <code>HIGH</code> detects more attacks, but might generate more false positives,
@@ -2632,10 +2781,12 @@ export interface SqliMatchStatement {
2632
2781
  */
2633
2782
  export interface XssMatchStatement {
2634
2783
  /**
2784
+ * @public
2635
2785
  * <p>The part of the web request that you want WAF to inspect. </p>
2636
2786
  */
2637
2787
  FieldToMatch: FieldToMatch | undefined;
2638
2788
  /**
2789
+ * @public
2639
2790
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2640
2791
  */
2641
2792
  TextTransformations: TextTransformation[] | undefined;
@@ -2649,18 +2800,22 @@ export interface XssMatchStatement {
2649
2800
  */
2650
2801
  export interface APIKeySummary {
2651
2802
  /**
2803
+ * @public
2652
2804
  * <p>The token domains that are defined in this API key. </p>
2653
2805
  */
2654
2806
  TokenDomains?: string[];
2655
2807
  /**
2808
+ * @public
2656
2809
  * <p>The generated, encrypted API key. You can copy this for use in your JavaScript CAPTCHA integration. </p>
2657
2810
  */
2658
2811
  APIKey?: string;
2659
2812
  /**
2813
+ * @public
2660
2814
  * <p>The date and time that the key was created. </p>
2661
2815
  */
2662
2816
  CreationTimestamp?: Date;
2663
2817
  /**
2818
+ * @public
2664
2819
  * <p>Internal value used by WAF to manage the key. </p>
2665
2820
  */
2666
2821
  Version?: number;
@@ -2681,11 +2836,13 @@ export type AssociatedResourceType = (typeof AssociatedResourceType)[keyof typeo
2681
2836
  */
2682
2837
  export interface AssociateWebACLRequest {
2683
2838
  /**
2839
+ * @public
2684
2840
  * <p>The Amazon Resource Name (ARN) of the web ACL that you want to associate with the
2685
2841
  * resource.</p>
2686
2842
  */
2687
2843
  WebACLArn: string | undefined;
2688
2844
  /**
2845
+ * @public
2689
2846
  * <p>The Amazon Resource Name (ARN) of the resource to associate with the web ACL. </p>
2690
2847
  * <p>The ARN must be in one of the following formats:</p>
2691
2848
  * <ul>
@@ -2861,14 +3018,17 @@ export declare class WAFInvalidParameterException extends __BaseException {
2861
3018
  readonly name: "WAFInvalidParameterException";
2862
3019
  readonly $fault: "client";
2863
3020
  /**
3021
+ * @public
2864
3022
  * <p>The settings where the invalid parameter was found. </p>
2865
3023
  */
2866
3024
  Field?: ParameterExceptionField | string;
2867
3025
  /**
3026
+ * @public
2868
3027
  * <p>The invalid parameter that resulted in the exception. </p>
2869
3028
  */
2870
3029
  Parameter?: string;
2871
3030
  /**
3031
+ * @public
2872
3032
  * <p>Additional information about the exception.</p>
2873
3033
  */
2874
3034
  Reason?: string;
@@ -2934,6 +3094,7 @@ export type SizeInspectionLimit = (typeof SizeInspectionLimit)[keyof typeof Size
2934
3094
  */
2935
3095
  export interface RequestBodyAssociatedResourceTypeConfig {
2936
3096
  /**
3097
+ * @public
2937
3098
  * <p>Specifies the maximum size of the web request body component that an associated CloudFront distribution should send to WAF for inspection. This applies to statements in the web ACL that inspect the body or JSON body. </p>
2938
3099
  * <p>Default: <code>16 KB (16,384 kilobytes)</code>
2939
3100
  * </p>
@@ -2950,6 +3111,7 @@ export interface RequestBodyAssociatedResourceTypeConfig {
2950
3111
  */
2951
3112
  export interface AssociationConfig {
2952
3113
  /**
3114
+ * @public
2953
3115
  * <p>Customizes the maximum size of the request body that your protected CloudFront distributions forward to WAF for inspection. The default size is 16 KB (16,384 kilobytes). </p>
2954
3116
  * <note>
2955
3117
  * <p>You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
@@ -2964,6 +3126,7 @@ export interface AssociationConfig {
2964
3126
  */
2965
3127
  export interface ImmunityTimeProperty {
2966
3128
  /**
3129
+ * @public
2967
3130
  * <p>The amount of time, in seconds, that a <code>CAPTCHA</code> or challenge timestamp is considered valid by WAF. The default
2968
3131
  * setting is 300. </p>
2969
3132
  * <p>For the Challenge action, the minimum setting is 300. </p>
@@ -2977,6 +3140,7 @@ export interface ImmunityTimeProperty {
2977
3140
  */
2978
3141
  export interface CaptchaConfig {
2979
3142
  /**
3143
+ * @public
2980
3144
  * <p>Determines how long a <code>CAPTCHA</code> timestamp in the token remains valid after the client
2981
3145
  * successfully solves a <code>CAPTCHA</code> puzzle. </p>
2982
3146
  */
@@ -2989,6 +3153,7 @@ export interface CaptchaConfig {
2989
3153
  */
2990
3154
  export interface ChallengeConfig {
2991
3155
  /**
3156
+ * @public
2992
3157
  * <p>Determines how long a challenge timestamp in the token remains valid after the client
2993
3158
  * successfully responds to a challenge. </p>
2994
3159
  */
@@ -3016,6 +3181,7 @@ export interface NoneAction {
3016
3181
  */
3017
3182
  export interface OverrideAction {
3018
3183
  /**
3184
+ * @public
3019
3185
  * <p>Override the rule group evaluation result to count only. </p>
3020
3186
  * <note>
3021
3187
  * <p>This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count
@@ -3024,6 +3190,7 @@ export interface OverrideAction {
3024
3190
  */
3025
3191
  Count?: CountAction;
3026
3192
  /**
3193
+ * @public
3027
3194
  * <p>Don't override the rule group evaluation result. This is the most common setting.</p>
3028
3195
  */
3029
3196
  None?: NoneAction;
@@ -3036,6 +3203,7 @@ export interface OverrideAction {
3036
3203
  */
3037
3204
  export interface Label {
3038
3205
  /**
3206
+ * @public
3039
3207
  * <p>The label string. </p>
3040
3208
  */
3041
3209
  Name: string | undefined;
@@ -3046,11 +3214,13 @@ export interface Label {
3046
3214
  */
3047
3215
  export interface VisibilityConfig {
3048
3216
  /**
3217
+ * @public
3049
3218
  * <p>Indicates whether WAF should store a sampling of the web requests that
3050
3219
  * match the rules. You can view the sampled requests through the WAF console. </p>
3051
3220
  */
3052
3221
  SampledRequestsEnabled: boolean | undefined;
3053
3222
  /**
3223
+ * @public
3054
3224
  * <p>Indicates whether the associated resource sends metrics to Amazon CloudWatch. For the
3055
3225
  * list of available metrics, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#waf-metrics">WAF
3056
3226
  * Metrics</a> in the <i>WAF Developer Guide</i>.</p>
@@ -3061,6 +3231,7 @@ export interface VisibilityConfig {
3061
3231
  */
3062
3232
  CloudWatchMetricsEnabled: boolean | undefined;
3063
3233
  /**
3234
+ * @public
3064
3235
  * <p>A name of the Amazon CloudWatch metric dimension. The name can contain only the characters: A-Z, a-z, 0-9,
3065
3236
  * - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't
3066
3237
  * contain whitespace or metric names that are reserved for WAF, for example <code>All</code> and
@@ -3085,6 +3256,7 @@ export type Scope = (typeof Scope)[keyof typeof Scope];
3085
3256
  */
3086
3257
  export interface CheckCapacityResponse {
3087
3258
  /**
3259
+ * @public
3088
3260
  * <p>The capacity required by the rules and scope.</p>
3089
3261
  */
3090
3262
  Capacity?: number;
@@ -3153,6 +3325,7 @@ export declare class WAFSubscriptionNotFoundException extends __BaseException {
3153
3325
  */
3154
3326
  export interface CreateAPIKeyRequest {
3155
3327
  /**
3328
+ * @public
3156
3329
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3157
3330
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3158
3331
  * <ul>
@@ -3166,6 +3339,7 @@ export interface CreateAPIKeyRequest {
3166
3339
  */
3167
3340
  Scope: Scope | string | undefined;
3168
3341
  /**
3342
+ * @public
3169
3343
  * <p>The client application domains that you want to use this API key for. </p>
3170
3344
  * <p>Example JSON: <code>"TokenDomains": ["abc.com", "store.abc.com"]</code>
3171
3345
  * </p>
@@ -3178,6 +3352,7 @@ export interface CreateAPIKeyRequest {
3178
3352
  */
3179
3353
  export interface CreateAPIKeyResponse {
3180
3354
  /**
3355
+ * @public
3181
3356
  * <p>The generated, encrypted API key. You can copy this for use in your JavaScript CAPTCHA integration. </p>
3182
3357
  */
3183
3358
  APIKey?: string;
@@ -3209,11 +3384,13 @@ export type IPAddressVersion = (typeof IPAddressVersion)[keyof typeof IPAddressV
3209
3384
  */
3210
3385
  export interface Tag {
3211
3386
  /**
3387
+ * @public
3212
3388
  * <p>Part of the key:value pair that defines a tag. You can use a tag key to describe a
3213
3389
  * category of information, such as "customer." Tag keys are case-sensitive.</p>
3214
3390
  */
3215
3391
  Key: string | undefined;
3216
3392
  /**
3393
+ * @public
3217
3394
  * <p>Part of the key:value pair that defines a tag. You can use a tag value to describe a
3218
3395
  * specific value within a category, such as "companyA" or "companyB." Tag values are
3219
3396
  * case-sensitive.</p>
@@ -3225,10 +3402,12 @@ export interface Tag {
3225
3402
  */
3226
3403
  export interface CreateIPSetRequest {
3227
3404
  /**
3405
+ * @public
3228
3406
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
3229
3407
  */
3230
3408
  Name: string | undefined;
3231
3409
  /**
3410
+ * @public
3232
3411
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3233
3412
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3234
3413
  * <ul>
@@ -3242,14 +3421,17 @@ export interface CreateIPSetRequest {
3242
3421
  */
3243
3422
  Scope: Scope | string | undefined;
3244
3423
  /**
3424
+ * @public
3245
3425
  * <p>A description of the IP set that helps with identification. </p>
3246
3426
  */
3247
3427
  Description?: string;
3248
3428
  /**
3429
+ * @public
3249
3430
  * <p>The version of the IP addresses, either <code>IPV4</code> or <code>IPV6</code>. </p>
3250
3431
  */
3251
3432
  IPAddressVersion: IPAddressVersion | string | undefined;
3252
3433
  /**
3434
+ * @public
3253
3435
  * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
3254
3436
  * <p>Example address strings: </p>
3255
3437
  * <ul>
@@ -3289,6 +3471,7 @@ export interface CreateIPSetRequest {
3289
3471
  */
3290
3472
  Addresses: string[] | undefined;
3291
3473
  /**
3474
+ * @public
3292
3475
  * <p>An array of key:value pairs to associate with the resource.</p>
3293
3476
  */
3294
3477
  Tags?: Tag[];
@@ -3299,22 +3482,27 @@ export interface CreateIPSetRequest {
3299
3482
  */
3300
3483
  export interface IPSetSummary {
3301
3484
  /**
3485
+ * @public
3302
3486
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
3303
3487
  */
3304
3488
  Name?: string;
3305
3489
  /**
3490
+ * @public
3306
3491
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3307
3492
  */
3308
3493
  Id?: string;
3309
3494
  /**
3495
+ * @public
3310
3496
  * <p>A description of the IP set that helps with identification. </p>
3311
3497
  */
3312
3498
  Description?: string;
3313
3499
  /**
3500
+ * @public
3314
3501
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3315
3502
  */
3316
3503
  LockToken?: string;
3317
3504
  /**
3505
+ * @public
3318
3506
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
3319
3507
  */
3320
3508
  ARN?: string;
@@ -3324,6 +3512,7 @@ export interface IPSetSummary {
3324
3512
  */
3325
3513
  export interface CreateIPSetResponse {
3326
3514
  /**
3515
+ * @public
3327
3516
  * <p>High-level information about an <a>IPSet</a>, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an <code>IPSet</code>, and the ARN, that you provide to the <a>IPSetReferenceStatement</a> to use the address set in a <a>Rule</a>.</p>
3328
3517
  */
3329
3518
  Summary?: IPSetSummary;
@@ -3390,6 +3579,7 @@ export declare class WAFTagOperationInternalErrorException extends __BaseExcepti
3390
3579
  */
3391
3580
  export interface Regex {
3392
3581
  /**
3582
+ * @public
3393
3583
  * <p>The string representing the regular expression.</p>
3394
3584
  */
3395
3585
  RegexString?: string;
@@ -3399,10 +3589,12 @@ export interface Regex {
3399
3589
  */
3400
3590
  export interface CreateRegexPatternSetRequest {
3401
3591
  /**
3592
+ * @public
3402
3593
  * <p>The name of the set. You cannot change the name after you create the set.</p>
3403
3594
  */
3404
3595
  Name: string | undefined;
3405
3596
  /**
3597
+ * @public
3406
3598
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3407
3599
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3408
3600
  * <ul>
@@ -3416,14 +3608,17 @@ export interface CreateRegexPatternSetRequest {
3416
3608
  */
3417
3609
  Scope: Scope | string | undefined;
3418
3610
  /**
3611
+ * @public
3419
3612
  * <p>A description of the set that helps with identification. </p>
3420
3613
  */
3421
3614
  Description?: string;
3422
3615
  /**
3616
+ * @public
3423
3617
  * <p>Array of regular expression strings. </p>
3424
3618
  */
3425
3619
  RegularExpressionList: Regex[] | undefined;
3426
3620
  /**
3621
+ * @public
3427
3622
  * <p>An array of key:value pairs to associate with the resource.</p>
3428
3623
  */
3429
3624
  Tags?: Tag[];
@@ -3434,22 +3629,27 @@ export interface CreateRegexPatternSetRequest {
3434
3629
  */
3435
3630
  export interface RegexPatternSetSummary {
3436
3631
  /**
3632
+ * @public
3437
3633
  * <p>The name of the data type instance. You cannot change the name after you create the instance.</p>
3438
3634
  */
3439
3635
  Name?: string;
3440
3636
  /**
3637
+ * @public
3441
3638
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3442
3639
  */
3443
3640
  Id?: string;
3444
3641
  /**
3642
+ * @public
3445
3643
  * <p>A description of the set that helps with identification. </p>
3446
3644
  */
3447
3645
  Description?: string;
3448
3646
  /**
3647
+ * @public
3449
3648
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3450
3649
  */
3451
3650
  LockToken?: string;
3452
3651
  /**
3652
+ * @public
3453
3653
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
3454
3654
  */
3455
3655
  ARN?: string;
@@ -3459,6 +3659,7 @@ export interface RegexPatternSetSummary {
3459
3659
  */
3460
3660
  export interface CreateRegexPatternSetResponse {
3461
3661
  /**
3662
+ * @public
3462
3663
  * <p>High-level information about a <a>RegexPatternSet</a>, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a <code>RegexPatternSet</code>, and the ARN, that you provide to the <a>RegexPatternSetReferenceStatement</a> to use the pattern set in a <a>Rule</a>.</p>
3463
3664
  */
3464
3665
  Summary?: RegexPatternSetSummary;
@@ -3484,11 +3685,13 @@ export type ResponseContentType = (typeof ResponseContentType)[keyof typeof Resp
3484
3685
  */
3485
3686
  export interface CustomResponseBody {
3486
3687
  /**
3688
+ * @public
3487
3689
  * <p>The type of content in the payload that you are defining in the <code>Content</code>
3488
3690
  * string.</p>
3489
3691
  */
3490
3692
  ContentType: ResponseContentType | string | undefined;
3491
3693
  /**
3694
+ * @public
3492
3695
  * <p>The payload of the custom response. </p>
3493
3696
  * <p>You can use JSON escape strings in JSON content. To do this, you must specify JSON
3494
3697
  * content in the <code>ContentType</code> setting. </p>
@@ -3503,22 +3706,27 @@ export interface CustomResponseBody {
3503
3706
  */
3504
3707
  export interface RuleGroupSummary {
3505
3708
  /**
3709
+ * @public
3506
3710
  * <p>The name of the data type instance. You cannot change the name after you create the instance.</p>
3507
3711
  */
3508
3712
  Name?: string;
3509
3713
  /**
3714
+ * @public
3510
3715
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3511
3716
  */
3512
3717
  Id?: string;
3513
3718
  /**
3719
+ * @public
3514
3720
  * <p>A description of the rule group that helps with identification. </p>
3515
3721
  */
3516
3722
  Description?: string;
3517
3723
  /**
3724
+ * @public
3518
3725
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3519
3726
  */
3520
3727
  LockToken?: string;
3521
3728
  /**
3729
+ * @public
3522
3730
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
3523
3731
  */
3524
3732
  ARN?: string;
@@ -3528,6 +3736,7 @@ export interface RuleGroupSummary {
3528
3736
  */
3529
3737
  export interface CreateRuleGroupResponse {
3530
3738
  /**
3739
+ * @public
3531
3740
  * <p>High-level information about a <a>RuleGroup</a>, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a <code>RuleGroup</code>, and the ARN, that you provide to the <a>RuleGroupReferenceStatement</a> to use the rule group in a <a>Rule</a>.</p>
3532
3741
  */
3533
3742
  Summary?: RuleGroupSummary;
@@ -3540,10 +3749,12 @@ export interface CreateRuleGroupResponse {
3540
3749
  */
3541
3750
  export interface DefaultAction {
3542
3751
  /**
3752
+ * @public
3543
3753
  * <p>Specifies that WAF should block requests by default. </p>
3544
3754
  */
3545
3755
  Block?: BlockAction;
3546
3756
  /**
3757
+ * @public
3547
3758
  * <p>Specifies that WAF should allow requests by default.</p>
3548
3759
  */
3549
3760
  Allow?: AllowAction;
@@ -3554,22 +3765,27 @@ export interface DefaultAction {
3554
3765
  */
3555
3766
  export interface WebACLSummary {
3556
3767
  /**
3768
+ * @public
3557
3769
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
3558
3770
  */
3559
3771
  Name?: string;
3560
3772
  /**
3773
+ * @public
3561
3774
  * <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3562
3775
  */
3563
3776
  Id?: string;
3564
3777
  /**
3778
+ * @public
3565
3779
  * <p>A description of the web ACL that helps with identification. </p>
3566
3780
  */
3567
3781
  Description?: string;
3568
3782
  /**
3783
+ * @public
3569
3784
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3570
3785
  */
3571
3786
  LockToken?: string;
3572
3787
  /**
3788
+ * @public
3573
3789
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
3574
3790
  */
3575
3791
  ARN?: string;
@@ -3579,6 +3795,7 @@ export interface WebACLSummary {
3579
3795
  */
3580
3796
  export interface CreateWebACLResponse {
3581
3797
  /**
3798
+ * @public
3582
3799
  * <p>High-level information about a <a>WebACL</a>, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a <code>WebACL</code>, and the ARN, that you provide to operations like <a>AssociateWebACL</a>.</p>
3583
3800
  */
3584
3801
  Summary?: WebACLSummary;
@@ -3611,10 +3828,12 @@ export declare class WAFConfigurationWarningException extends __BaseException {
3611
3828
  */
3612
3829
  export interface DeleteFirewallManagerRuleGroupsRequest {
3613
3830
  /**
3831
+ * @public
3614
3832
  * <p>The Amazon Resource Name (ARN) of the web ACL.</p>
3615
3833
  */
3616
3834
  WebACLArn: string | undefined;
3617
3835
  /**
3836
+ * @public
3618
3837
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3619
3838
  */
3620
3839
  WebACLLockToken: string | undefined;
@@ -3624,6 +3843,7 @@ export interface DeleteFirewallManagerRuleGroupsRequest {
3624
3843
  */
3625
3844
  export interface DeleteFirewallManagerRuleGroupsResponse {
3626
3845
  /**
3846
+ * @public
3627
3847
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3628
3848
  */
3629
3849
  NextWebACLLockToken?: string;
@@ -3633,10 +3853,12 @@ export interface DeleteFirewallManagerRuleGroupsResponse {
3633
3853
  */
3634
3854
  export interface DeleteIPSetRequest {
3635
3855
  /**
3856
+ * @public
3636
3857
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
3637
3858
  */
3638
3859
  Name: string | undefined;
3639
3860
  /**
3861
+ * @public
3640
3862
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3641
3863
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3642
3864
  * <ul>
@@ -3650,10 +3872,12 @@ export interface DeleteIPSetRequest {
3650
3872
  */
3651
3873
  Scope: Scope | string | undefined;
3652
3874
  /**
3875
+ * @public
3653
3876
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3654
3877
  */
3655
3878
  Id: string | undefined;
3656
3879
  /**
3880
+ * @public
3657
3881
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3658
3882
  */
3659
3883
  LockToken: string | undefined;
@@ -3682,6 +3906,7 @@ export declare class WAFAssociatedItemException extends __BaseException {
3682
3906
  */
3683
3907
  export interface DeleteLoggingConfigurationRequest {
3684
3908
  /**
3909
+ * @public
3685
3910
  * <p>The Amazon Resource Name (ARN) of the web ACL from which you want to delete the <a>LoggingConfiguration</a>.</p>
3686
3911
  */
3687
3912
  ResourceArn: string | undefined;
@@ -3696,6 +3921,7 @@ export interface DeleteLoggingConfigurationResponse {
3696
3921
  */
3697
3922
  export interface DeletePermissionPolicyRequest {
3698
3923
  /**
3924
+ * @public
3699
3925
  * <p>The Amazon Resource Name (ARN) of the rule group from which you want to delete the
3700
3926
  * policy.</p>
3701
3927
  * <p>You must be the owner of the rule group to perform this operation.</p>
@@ -3712,10 +3938,12 @@ export interface DeletePermissionPolicyResponse {
3712
3938
  */
3713
3939
  export interface DeleteRegexPatternSetRequest {
3714
3940
  /**
3941
+ * @public
3715
3942
  * <p>The name of the set. You cannot change the name after you create the set.</p>
3716
3943
  */
3717
3944
  Name: string | undefined;
3718
3945
  /**
3946
+ * @public
3719
3947
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3720
3948
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3721
3949
  * <ul>
@@ -3729,10 +3957,12 @@ export interface DeleteRegexPatternSetRequest {
3729
3957
  */
3730
3958
  Scope: Scope | string | undefined;
3731
3959
  /**
3960
+ * @public
3732
3961
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3733
3962
  */
3734
3963
  Id: string | undefined;
3735
3964
  /**
3965
+ * @public
3736
3966
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3737
3967
  */
3738
3968
  LockToken: string | undefined;
@@ -3747,10 +3977,12 @@ export interface DeleteRegexPatternSetResponse {
3747
3977
  */
3748
3978
  export interface DeleteRuleGroupRequest {
3749
3979
  /**
3980
+ * @public
3750
3981
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
3751
3982
  */
3752
3983
  Name: string | undefined;
3753
3984
  /**
3985
+ * @public
3754
3986
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3755
3987
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3756
3988
  * <ul>
@@ -3764,10 +3996,12 @@ export interface DeleteRuleGroupRequest {
3764
3996
  */
3765
3997
  Scope: Scope | string | undefined;
3766
3998
  /**
3999
+ * @public
3767
4000
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3768
4001
  */
3769
4002
  Id: string | undefined;
3770
4003
  /**
4004
+ * @public
3771
4005
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3772
4006
  */
3773
4007
  LockToken: string | undefined;
@@ -3782,10 +4016,12 @@ export interface DeleteRuleGroupResponse {
3782
4016
  */
3783
4017
  export interface DeleteWebACLRequest {
3784
4018
  /**
4019
+ * @public
3785
4020
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
3786
4021
  */
3787
4022
  Name: string | undefined;
3788
4023
  /**
4024
+ * @public
3789
4025
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3790
4026
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3791
4027
  * <ul>
@@ -3799,10 +4035,12 @@ export interface DeleteWebACLRequest {
3799
4035
  */
3800
4036
  Scope: Scope | string | undefined;
3801
4037
  /**
4038
+ * @public
3802
4039
  * <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3803
4040
  */
3804
4041
  Id: string | undefined;
3805
4042
  /**
4043
+ * @public
3806
4044
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
3807
4045
  */
3808
4046
  LockToken: string | undefined;
@@ -3817,6 +4055,7 @@ export interface DeleteWebACLResponse {
3817
4055
  */
3818
4056
  export interface DescribeAllManagedProductsRequest {
3819
4057
  /**
4058
+ * @public
3820
4059
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3821
4060
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3822
4061
  * <ul>
@@ -3836,30 +4075,37 @@ export interface DescribeAllManagedProductsRequest {
3836
4075
  */
3837
4076
  export interface ManagedProductDescriptor {
3838
4077
  /**
4078
+ * @public
3839
4079
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
3840
4080
  */
3841
4081
  VendorName?: string;
3842
4082
  /**
4083
+ * @public
3843
4084
  * <p>The name of the managed rule group. For example, <code>AWSManagedRulesAnonymousIpList</code> or <code>AWSManagedRulesATPRuleSet</code>.</p>
3844
4085
  */
3845
4086
  ManagedRuleSetName?: string;
3846
4087
  /**
4088
+ * @public
3847
4089
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
3848
4090
  */
3849
4091
  ProductId?: string;
3850
4092
  /**
4093
+ * @public
3851
4094
  * <p>For Amazon Web Services Marketplace managed rule groups only, the link to the rule group product page. </p>
3852
4095
  */
3853
4096
  ProductLink?: string;
3854
4097
  /**
4098
+ * @public
3855
4099
  * <p>The display name for the managed rule group. For example, <code>Anonymous IP list</code> or <code>Account takeover prevention</code>.</p>
3856
4100
  */
3857
4101
  ProductTitle?: string;
3858
4102
  /**
4103
+ * @public
3859
4104
  * <p>A short description of the managed rule group.</p>
3860
4105
  */
3861
4106
  ProductDescription?: string;
3862
4107
  /**
4108
+ * @public
3863
4109
  * <p>The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to provide notification of changes
3864
4110
  * to the managed rule group. You can subscribe to the SNS topic to receive notifications when
3865
4111
  * the managed rule group is modified, such as for new versions and for version expiration.
@@ -3867,10 +4113,12 @@ export interface ManagedProductDescriptor {
3867
4113
  */
3868
4114
  SnsTopicArn?: string;
3869
4115
  /**
4116
+ * @public
3870
4117
  * <p>Indicates whether the rule group is versioned. </p>
3871
4118
  */
3872
4119
  IsVersioningSupported?: boolean;
3873
4120
  /**
4121
+ * @public
3874
4122
  * <p>Indicates whether the rule group provides an advanced set of protections, such as the the Amazon Web Services Managed Rules rule groups that
3875
4123
  * are used for WAF intelligent threat mitigation. </p>
3876
4124
  */
@@ -3881,6 +4129,7 @@ export interface ManagedProductDescriptor {
3881
4129
  */
3882
4130
  export interface DescribeAllManagedProductsResponse {
3883
4131
  /**
4132
+ * @public
3884
4133
  * <p>High-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services Marketplace managed rule groups. </p>
3885
4134
  */
3886
4135
  ManagedProducts?: ManagedProductDescriptor[];
@@ -3890,10 +4139,12 @@ export interface DescribeAllManagedProductsResponse {
3890
4139
  */
3891
4140
  export interface DescribeManagedProductsByVendorRequest {
3892
4141
  /**
4142
+ * @public
3893
4143
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
3894
4144
  */
3895
4145
  VendorName: string | undefined;
3896
4146
  /**
4147
+ * @public
3897
4148
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3898
4149
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3899
4150
  * <ul>
@@ -3912,6 +4163,7 @@ export interface DescribeManagedProductsByVendorRequest {
3912
4163
  */
3913
4164
  export interface DescribeManagedProductsByVendorResponse {
3914
4165
  /**
4166
+ * @public
3915
4167
  * <p>High-level information for the managed rule groups owned by the specified vendor. </p>
3916
4168
  */
3917
4169
  ManagedProducts?: ManagedProductDescriptor[];
@@ -3921,14 +4173,17 @@ export interface DescribeManagedProductsByVendorResponse {
3921
4173
  */
3922
4174
  export interface DescribeManagedRuleGroupRequest {
3923
4175
  /**
4176
+ * @public
3924
4177
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
3925
4178
  */
3926
4179
  VendorName: string | undefined;
3927
4180
  /**
4181
+ * @public
3928
4182
  * <p>The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.</p>
3929
4183
  */
3930
4184
  Name: string | undefined;
3931
4185
  /**
4186
+ * @public
3932
4187
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
3933
4188
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
3934
4189
  * <ul>
@@ -3942,6 +4197,7 @@ export interface DescribeManagedRuleGroupRequest {
3942
4197
  */
3943
4198
  Scope: Scope | string | undefined;
3944
4199
  /**
4200
+ * @public
3945
4201
  * <p>The version of the rule group. You can only use a version that is not scheduled for
3946
4202
  * expiration. If you don't provide this, WAF uses the vendor's default version. </p>
3947
4203
  */
@@ -3966,6 +4222,7 @@ export interface DescribeManagedRuleGroupRequest {
3966
4222
  */
3967
4223
  export interface LabelSummary {
3968
4224
  /**
4225
+ * @public
3969
4226
  * <p>An individual label specification.</p>
3970
4227
  */
3971
4228
  Name?: string;
@@ -3976,10 +4233,12 @@ export interface LabelSummary {
3976
4233
  */
3977
4234
  export interface RuleSummary {
3978
4235
  /**
4236
+ * @public
3979
4237
  * <p>The name of the rule. </p>
3980
4238
  */
3981
4239
  Name?: string;
3982
4240
  /**
4241
+ * @public
3983
4242
  * <p>The action that WAF should take on a web request when it matches a rule's
3984
4243
  * statement. Settings at the web ACL level can override the rule action setting. </p>
3985
4244
  */
@@ -3990,10 +4249,12 @@ export interface RuleSummary {
3990
4249
  */
3991
4250
  export interface DescribeManagedRuleGroupResponse {
3992
4251
  /**
4252
+ * @public
3993
4253
  * <p>The managed rule group's version. </p>
3994
4254
  */
3995
4255
  VersionName?: string;
3996
4256
  /**
4257
+ * @public
3997
4258
  * <p>The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to provide notification of changes
3998
4259
  * to the managed rule group. You can subscribe to the SNS topic to receive notifications when
3999
4260
  * the managed rule group is modified, such as for new versions and for version expiration.
@@ -4001,6 +4262,7 @@ export interface DescribeManagedRuleGroupResponse {
4001
4262
  */
4002
4263
  SnsTopicArn?: string;
4003
4264
  /**
4265
+ * @public
4004
4266
  * <p>The web ACL capacity units (WCUs) required for this rule group.</p>
4005
4267
  * <p>WAF uses WCUs to calculate and control the operating
4006
4268
  * resources that are used to run your rules, rule groups, and web ACLs. WAF
@@ -4013,10 +4275,12 @@ export interface DescribeManagedRuleGroupResponse {
4013
4275
  */
4014
4276
  Capacity?: number;
4015
4277
  /**
4278
+ * @public
4016
4279
  * <p></p>
4017
4280
  */
4018
4281
  Rules?: RuleSummary[];
4019
4282
  /**
4283
+ * @public
4020
4284
  * <p>The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix. </p>
4021
4285
  * <ul>
4022
4286
  * <li>
@@ -4034,10 +4298,12 @@ export interface DescribeManagedRuleGroupResponse {
4034
4298
  */
4035
4299
  LabelNamespace?: string;
4036
4300
  /**
4301
+ * @public
4037
4302
  * <p>The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the <code>RuleLabels</code> for a <a>Rule</a>.</p>
4038
4303
  */
4039
4304
  AvailableLabels?: LabelSummary[];
4040
4305
  /**
4306
+ * @public
4041
4307
  * <p>The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a <code>LabelMatchStatement</code> specification, in the <a>Statement</a> definition of a rule. </p>
4042
4308
  */
4043
4309
  ConsumedLabels?: LabelSummary[];
@@ -4047,6 +4313,7 @@ export interface DescribeManagedRuleGroupResponse {
4047
4313
  */
4048
4314
  export interface DisassociateWebACLRequest {
4049
4315
  /**
4316
+ * @public
4050
4317
  * <p>The Amazon Resource Name (ARN) of the resource to disassociate from the web ACL. </p>
4051
4318
  * <p>The ARN must be in one of the following formats:</p>
4052
4319
  * <ul>
@@ -4106,10 +4373,12 @@ export type Platform = (typeof Platform)[keyof typeof Platform];
4106
4373
  */
4107
4374
  export interface GenerateMobileSdkReleaseUrlRequest {
4108
4375
  /**
4376
+ * @public
4109
4377
  * <p>The device platform.</p>
4110
4378
  */
4111
4379
  Platform: Platform | string | undefined;
4112
4380
  /**
4381
+ * @public
4113
4382
  * <p>The release version. For the latest available version, specify
4114
4383
  * <code>LATEST</code>.</p>
4115
4384
  */
@@ -4120,6 +4389,7 @@ export interface GenerateMobileSdkReleaseUrlRequest {
4120
4389
  */
4121
4390
  export interface GenerateMobileSdkReleaseUrlResponse {
4122
4391
  /**
4392
+ * @public
4123
4393
  * <p>The presigned download URL for the specified SDK release.</p>
4124
4394
  */
4125
4395
  Url?: string;
@@ -4129,6 +4399,7 @@ export interface GenerateMobileSdkReleaseUrlResponse {
4129
4399
  */
4130
4400
  export interface GetDecryptedAPIKeyRequest {
4131
4401
  /**
4402
+ * @public
4132
4403
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4133
4404
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4134
4405
  * <ul>
@@ -4142,6 +4413,7 @@ export interface GetDecryptedAPIKeyRequest {
4142
4413
  */
4143
4414
  Scope: Scope | string | undefined;
4144
4415
  /**
4416
+ * @public
4145
4417
  * <p>The encrypted API key. </p>
4146
4418
  */
4147
4419
  APIKey: string | undefined;
@@ -4151,10 +4423,12 @@ export interface GetDecryptedAPIKeyRequest {
4151
4423
  */
4152
4424
  export interface GetDecryptedAPIKeyResponse {
4153
4425
  /**
4426
+ * @public
4154
4427
  * <p>The token domains that are defined in this API key. </p>
4155
4428
  */
4156
4429
  TokenDomains?: string[];
4157
4430
  /**
4431
+ * @public
4158
4432
  * <p>The date and time that the key was created. </p>
4159
4433
  */
4160
4434
  CreationTimestamp?: Date;
@@ -4164,10 +4438,12 @@ export interface GetDecryptedAPIKeyResponse {
4164
4438
  */
4165
4439
  export interface GetIPSetRequest {
4166
4440
  /**
4441
+ * @public
4167
4442
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
4168
4443
  */
4169
4444
  Name: string | undefined;
4170
4445
  /**
4446
+ * @public
4171
4447
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4172
4448
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4173
4449
  * <ul>
@@ -4181,6 +4457,7 @@ export interface GetIPSetRequest {
4181
4457
  */
4182
4458
  Scope: Scope | string | undefined;
4183
4459
  /**
4460
+ * @public
4184
4461
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4185
4462
  */
4186
4463
  Id: string | undefined;
@@ -4196,26 +4473,32 @@ export interface GetIPSetRequest {
4196
4473
  */
4197
4474
  export interface IPSet {
4198
4475
  /**
4476
+ * @public
4199
4477
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
4200
4478
  */
4201
4479
  Name: string | undefined;
4202
4480
  /**
4481
+ * @public
4203
4482
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4204
4483
  */
4205
4484
  Id: string | undefined;
4206
4485
  /**
4486
+ * @public
4207
4487
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
4208
4488
  */
4209
4489
  ARN: string | undefined;
4210
4490
  /**
4491
+ * @public
4211
4492
  * <p>A description of the IP set that helps with identification. </p>
4212
4493
  */
4213
4494
  Description?: string;
4214
4495
  /**
4496
+ * @public
4215
4497
  * <p>The version of the IP addresses, either <code>IPV4</code> or <code>IPV6</code>. </p>
4216
4498
  */
4217
4499
  IPAddressVersion: IPAddressVersion | string | undefined;
4218
4500
  /**
4501
+ * @public
4219
4502
  * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
4220
4503
  * <p>Example address strings: </p>
4221
4504
  * <ul>
@@ -4260,10 +4543,12 @@ export interface IPSet {
4260
4543
  */
4261
4544
  export interface GetIPSetResponse {
4262
4545
  /**
4546
+ * @public
4263
4547
  * <p></p>
4264
4548
  */
4265
4549
  IPSet?: IPSet;
4266
4550
  /**
4551
+ * @public
4267
4552
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
4268
4553
  */
4269
4554
  LockToken?: string;
@@ -4273,6 +4558,7 @@ export interface GetIPSetResponse {
4273
4558
  */
4274
4559
  export interface GetLoggingConfigurationRequest {
4275
4560
  /**
4561
+ * @public
4276
4562
  * <p>The Amazon Resource Name (ARN) of the web ACL for which you want to get the <a>LoggingConfiguration</a>.</p>
4277
4563
  */
4278
4564
  ResourceArn: string | undefined;
@@ -4296,6 +4582,7 @@ export type FilterBehavior = (typeof FilterBehavior)[keyof typeof FilterBehavior
4296
4582
  */
4297
4583
  export interface LabelNameCondition {
4298
4584
  /**
4585
+ * @public
4299
4586
  * <p>The label name that a log record must contain in order to meet the condition. This must
4300
4587
  * be a fully qualified label name. 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. </p>
4301
4588
  */
@@ -4307,10 +4594,12 @@ export interface LabelNameCondition {
4307
4594
  */
4308
4595
  export interface Condition {
4309
4596
  /**
4597
+ * @public
4310
4598
  * <p>A single action condition. This is the action setting that a log record must contain in order to meet the condition.</p>
4311
4599
  */
4312
4600
  ActionCondition?: ActionCondition;
4313
4601
  /**
4602
+ * @public
4314
4603
  * <p>A single label name condition. This is the fully qualified label name that a log record must contain in order to meet the condition.
4315
4604
  * 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. </p>
4316
4605
  */
@@ -4334,15 +4623,18 @@ export type FilterRequirement = (typeof FilterRequirement)[keyof typeof FilterRe
4334
4623
  */
4335
4624
  export interface Filter {
4336
4625
  /**
4626
+ * @public
4337
4627
  * <p>How to handle logs that satisfy the filter's conditions and requirement. </p>
4338
4628
  */
4339
4629
  Behavior: FilterBehavior | string | undefined;
4340
4630
  /**
4631
+ * @public
4341
4632
  * <p>Logic to apply to the filtering conditions. You can specify that, in order to satisfy
4342
4633
  * the filter, a log must match all conditions or must match at least one condition.</p>
4343
4634
  */
4344
4635
  Requirement: FilterRequirement | string | undefined;
4345
4636
  /**
4637
+ * @public
4346
4638
  * <p>Match conditions for the filter.</p>
4347
4639
  */
4348
4640
  Conditions: Condition[] | undefined;
@@ -4356,10 +4648,12 @@ export interface Filter {
4356
4648
  */
4357
4649
  export interface LoggingFilter {
4358
4650
  /**
4651
+ * @public
4359
4652
  * <p>The filters that you want to apply to the logs. </p>
4360
4653
  */
4361
4654
  Filters: Filter[] | undefined;
4362
4655
  /**
4656
+ * @public
4363
4657
  * <p>Default handling for logs that don't match any of the specified filtering conditions.
4364
4658
  * </p>
4365
4659
  */
@@ -4399,11 +4693,13 @@ export interface LoggingFilter {
4399
4693
  */
4400
4694
  export interface LoggingConfiguration {
4401
4695
  /**
4696
+ * @public
4402
4697
  * <p>The Amazon Resource Name (ARN) of the web ACL that you want to associate with
4403
4698
  * <code>LogDestinationConfigs</code>.</p>
4404
4699
  */
4405
4700
  ResourceArn: string | undefined;
4406
4701
  /**
4702
+ * @public
4407
4703
  * <p>The logging destination configuration that you want to associate with the web
4408
4704
  * ACL.</p>
4409
4705
  * <note>
@@ -4412,6 +4708,7 @@ export interface LoggingConfiguration {
4412
4708
  */
4413
4709
  LogDestinationConfigs: string[] | undefined;
4414
4710
  /**
4711
+ * @public
4415
4712
  * <p>The parts of the request that you want to keep out of the logs.</p>
4416
4713
  * <p>For example, if you
4417
4714
  * redact the <code>SingleHeader</code> field, the <code>HEADER</code> field in the logs will
@@ -4427,12 +4724,14 @@ export interface LoggingConfiguration {
4427
4724
  */
4428
4725
  RedactedFields?: FieldToMatch[];
4429
4726
  /**
4727
+ * @public
4430
4728
  * <p>Indicates whether the logging configuration was created by Firewall Manager, as part of an
4431
4729
  * WAF policy configuration. If true, only Firewall Manager can modify or delete the
4432
4730
  * configuration. </p>
4433
4731
  */
4434
4732
  ManagedByFirewallManager?: boolean;
4435
4733
  /**
4734
+ * @public
4436
4735
  * <p>Filtering that specifies which web requests are kept in the logs and which are dropped.
4437
4736
  * You can filter on the rule action and on the web request labels that were applied by
4438
4737
  * matching rules during web ACL evaluation. </p>
@@ -4444,6 +4743,7 @@ export interface LoggingConfiguration {
4444
4743
  */
4445
4744
  export interface GetLoggingConfigurationResponse {
4446
4745
  /**
4746
+ * @public
4447
4747
  * <p>The <a>LoggingConfiguration</a> for the specified web ACL.</p>
4448
4748
  */
4449
4749
  LoggingConfiguration?: LoggingConfiguration;
@@ -4453,11 +4753,13 @@ export interface GetLoggingConfigurationResponse {
4453
4753
  */
4454
4754
  export interface GetManagedRuleSetRequest {
4455
4755
  /**
4756
+ * @public
4456
4757
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
4457
4758
  * <p>This name is assigned to the corresponding managed rule group, which your customers can access and use. </p>
4458
4759
  */
4459
4760
  Name: string | undefined;
4460
4761
  /**
4762
+ * @public
4461
4763
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4462
4764
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4463
4765
  * <ul>
@@ -4471,6 +4773,7 @@ export interface GetManagedRuleSetRequest {
4471
4773
  */
4472
4774
  Scope: Scope | string | undefined;
4473
4775
  /**
4776
+ * @public
4474
4777
  * <p>A unique identifier for the managed rule set. The ID is returned in the responses to commands like <code>list</code>. You provide it to operations like <code>get</code> and <code>update</code>.</p>
4475
4778
  */
4476
4779
  Id: string | undefined;
@@ -4485,11 +4788,13 @@ export interface GetManagedRuleSetRequest {
4485
4788
  */
4486
4789
  export interface ManagedRuleSetVersion {
4487
4790
  /**
4791
+ * @public
4488
4792
  * <p>The Amazon Resource Name (ARN) of the vendor rule group that's used to define the
4489
4793
  * published version of your managed rule group. </p>
4490
4794
  */
4491
4795
  AssociatedRuleGroupArn?: string;
4492
4796
  /**
4797
+ * @public
4493
4798
  * <p>The web ACL capacity units (WCUs) required for this rule group.</p>
4494
4799
  * <p>WAF uses WCUs to calculate and control the operating
4495
4800
  * resources that are used to run your rules, rule groups, and web ACLs. WAF
@@ -4502,21 +4807,25 @@ export interface ManagedRuleSetVersion {
4502
4807
  */
4503
4808
  Capacity?: number;
4504
4809
  /**
4810
+ * @public
4505
4811
  * <p>The amount of time you expect this version of your managed rule group to last, in days.
4506
4812
  * </p>
4507
4813
  */
4508
4814
  ForecastedLifetime?: number;
4509
4815
  /**
4816
+ * @public
4510
4817
  * <p>The time that you first published this version. </p>
4511
4818
  * <p>Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". </p>
4512
4819
  */
4513
4820
  PublishTimestamp?: Date;
4514
4821
  /**
4822
+ * @public
4515
4823
  * <p>The last time that you updated this version. </p>
4516
4824
  * <p>Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". </p>
4517
4825
  */
4518
4826
  LastUpdateTimestamp?: Date;
4519
4827
  /**
4828
+ * @public
4520
4829
  * <p>The time that this version is set to expire.</p>
4521
4830
  * <p>Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". </p>
4522
4831
  */
@@ -4533,31 +4842,38 @@ export interface ManagedRuleSetVersion {
4533
4842
  */
4534
4843
  export interface ManagedRuleSet {
4535
4844
  /**
4845
+ * @public
4536
4846
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
4537
4847
  * <p>This name is assigned to the corresponding managed rule group, which your customers can access and use. </p>
4538
4848
  */
4539
4849
  Name: string | undefined;
4540
4850
  /**
4851
+ * @public
4541
4852
  * <p>A unique identifier for the managed rule set. The ID is returned in the responses to commands like <code>list</code>. You provide it to operations like <code>get</code> and <code>update</code>.</p>
4542
4853
  */
4543
4854
  Id: string | undefined;
4544
4855
  /**
4856
+ * @public
4545
4857
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
4546
4858
  */
4547
4859
  ARN: string | undefined;
4548
4860
  /**
4861
+ * @public
4549
4862
  * <p>A description of the set that helps with identification. </p>
4550
4863
  */
4551
4864
  Description?: string;
4552
4865
  /**
4866
+ * @public
4553
4867
  * <p>The versions of this managed rule set that are available for use by customers. </p>
4554
4868
  */
4555
4869
  PublishedVersions?: Record<string, ManagedRuleSetVersion>;
4556
4870
  /**
4871
+ * @public
4557
4872
  * <p>The version that you would like your customers to use.</p>
4558
4873
  */
4559
4874
  RecommendedVersion?: string;
4560
4875
  /**
4876
+ * @public
4561
4877
  * <p>The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix. </p>
4562
4878
  * <ul>
4563
4879
  * <li>
@@ -4580,10 +4896,12 @@ export interface ManagedRuleSet {
4580
4896
  */
4581
4897
  export interface GetManagedRuleSetResponse {
4582
4898
  /**
4899
+ * @public
4583
4900
  * <p>The managed rule set that you requested. </p>
4584
4901
  */
4585
4902
  ManagedRuleSet?: ManagedRuleSet;
4586
4903
  /**
4904
+ * @public
4587
4905
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
4588
4906
  */
4589
4907
  LockToken?: string;
@@ -4593,10 +4911,12 @@ export interface GetManagedRuleSetResponse {
4593
4911
  */
4594
4912
  export interface GetMobileSdkReleaseRequest {
4595
4913
  /**
4914
+ * @public
4596
4915
  * <p>The device platform.</p>
4597
4916
  */
4598
4917
  Platform: Platform | string | undefined;
4599
4918
  /**
4919
+ * @public
4600
4920
  * <p>The release version. For the latest available version, specify
4601
4921
  * <code>LATEST</code>.</p>
4602
4922
  */
@@ -4610,18 +4930,22 @@ export interface GetMobileSdkReleaseRequest {
4610
4930
  */
4611
4931
  export interface MobileSdkRelease {
4612
4932
  /**
4933
+ * @public
4613
4934
  * <p>The release version. </p>
4614
4935
  */
4615
4936
  ReleaseVersion?: string;
4616
4937
  /**
4938
+ * @public
4617
4939
  * <p>The timestamp of the release. </p>
4618
4940
  */
4619
4941
  Timestamp?: Date;
4620
4942
  /**
4943
+ * @public
4621
4944
  * <p>Notes describing the release.</p>
4622
4945
  */
4623
4946
  ReleaseNotes?: string;
4624
4947
  /**
4948
+ * @public
4625
4949
  * <p>Tags that are associated with the release. </p>
4626
4950
  */
4627
4951
  Tags?: Tag[];
@@ -4631,6 +4955,7 @@ export interface MobileSdkRelease {
4631
4955
  */
4632
4956
  export interface GetMobileSdkReleaseResponse {
4633
4957
  /**
4958
+ * @public
4634
4959
  * <p>Information for a specified SDK release, including release notes and tags.</p>
4635
4960
  */
4636
4961
  MobileSdkRelease?: MobileSdkRelease;
@@ -4640,6 +4965,7 @@ export interface GetMobileSdkReleaseResponse {
4640
4965
  */
4641
4966
  export interface GetPermissionPolicyRequest {
4642
4967
  /**
4968
+ * @public
4643
4969
  * <p>The Amazon Resource Name (ARN) of the rule group for which you want to get the
4644
4970
  * policy.</p>
4645
4971
  */
@@ -4650,6 +4976,7 @@ export interface GetPermissionPolicyRequest {
4650
4976
  */
4651
4977
  export interface GetPermissionPolicyResponse {
4652
4978
  /**
4979
+ * @public
4653
4980
  * <p>The IAM policy that is attached to the specified rule group.</p>
4654
4981
  */
4655
4982
  Policy?: string;
@@ -4659,6 +4986,7 @@ export interface GetPermissionPolicyResponse {
4659
4986
  */
4660
4987
  export interface GetRateBasedStatementManagedKeysRequest {
4661
4988
  /**
4989
+ * @public
4662
4990
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4663
4991
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4664
4992
  * <ul>
@@ -4672,19 +5000,23 @@ export interface GetRateBasedStatementManagedKeysRequest {
4672
5000
  */
4673
5001
  Scope: Scope | string | undefined;
4674
5002
  /**
5003
+ * @public
4675
5004
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
4676
5005
  */
4677
5006
  WebACLName: string | undefined;
4678
5007
  /**
5008
+ * @public
4679
5009
  * <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4680
5010
  */
4681
5011
  WebACLId: string | undefined;
4682
5012
  /**
5013
+ * @public
4683
5014
  * <p>The name of the rule group reference statement in your web ACL. This is required only
4684
5015
  * when you have the rate-based rule nested inside a rule group. </p>
4685
5016
  */
4686
5017
  RuleGroupRuleName?: string;
4687
5018
  /**
5019
+ * @public
4688
5020
  * <p>The name of the rate-based rule to get the keys for. If you have the rule defined inside
4689
5021
  * a rule group that you're using in your web ACL, also provide the name of the rule group
4690
5022
  * reference statement in the request parameter <code>RuleGroupRuleName</code>.</p>
@@ -4700,10 +5032,12 @@ export interface GetRateBasedStatementManagedKeysRequest {
4700
5032
  */
4701
5033
  export interface RateBasedStatementManagedKeysIPSet {
4702
5034
  /**
5035
+ * @public
4703
5036
  * <p>The version of the IP addresses, either <code>IPV4</code> or <code>IPV6</code>. </p>
4704
5037
  */
4705
5038
  IPAddressVersion?: IPAddressVersion | string;
4706
5039
  /**
5040
+ * @public
4707
5041
  * <p>The IP addresses that are currently blocked.</p>
4708
5042
  */
4709
5043
  Addresses?: string[];
@@ -4713,10 +5047,12 @@ export interface RateBasedStatementManagedKeysIPSet {
4713
5047
  */
4714
5048
  export interface GetRateBasedStatementManagedKeysResponse {
4715
5049
  /**
5050
+ * @public
4716
5051
  * <p>The keys that are of Internet Protocol version 4 (IPv4). </p>
4717
5052
  */
4718
5053
  ManagedKeysIPV4?: RateBasedStatementManagedKeysIPSet;
4719
5054
  /**
5055
+ * @public
4720
5056
  * <p>The keys that are of Internet Protocol version 6 (IPv6). </p>
4721
5057
  */
4722
5058
  ManagedKeysIPV6?: RateBasedStatementManagedKeysIPSet;
@@ -4740,10 +5076,12 @@ export declare class WAFUnsupportedAggregateKeyTypeException extends __BaseExcep
4740
5076
  */
4741
5077
  export interface GetRegexPatternSetRequest {
4742
5078
  /**
5079
+ * @public
4743
5080
  * <p>The name of the set. You cannot change the name after you create the set.</p>
4744
5081
  */
4745
5082
  Name: string | undefined;
4746
5083
  /**
5084
+ * @public
4747
5085
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4748
5086
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4749
5087
  * <ul>
@@ -4757,6 +5095,7 @@ export interface GetRegexPatternSetRequest {
4757
5095
  */
4758
5096
  Scope: Scope | string | undefined;
4759
5097
  /**
5098
+ * @public
4760
5099
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4761
5100
  */
4762
5101
  Id: string | undefined;
@@ -4769,22 +5108,27 @@ export interface GetRegexPatternSetRequest {
4769
5108
  */
4770
5109
  export interface RegexPatternSet {
4771
5110
  /**
5111
+ * @public
4772
5112
  * <p>The name of the set. You cannot change the name after you create the set.</p>
4773
5113
  */
4774
5114
  Name?: string;
4775
5115
  /**
5116
+ * @public
4776
5117
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4777
5118
  */
4778
5119
  Id?: string;
4779
5120
  /**
5121
+ * @public
4780
5122
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
4781
5123
  */
4782
5124
  ARN?: string;
4783
5125
  /**
5126
+ * @public
4784
5127
  * <p>A description of the set that helps with identification. </p>
4785
5128
  */
4786
5129
  Description?: string;
4787
5130
  /**
5131
+ * @public
4788
5132
  * <p>The regular expression patterns in the set.</p>
4789
5133
  */
4790
5134
  RegularExpressionList?: Regex[];
@@ -4794,10 +5138,12 @@ export interface RegexPatternSet {
4794
5138
  */
4795
5139
  export interface GetRegexPatternSetResponse {
4796
5140
  /**
5141
+ * @public
4797
5142
  * <p></p>
4798
5143
  */
4799
5144
  RegexPatternSet?: RegexPatternSet;
4800
5145
  /**
5146
+ * @public
4801
5147
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
4802
5148
  */
4803
5149
  LockToken?: string;
@@ -4807,10 +5153,12 @@ export interface GetRegexPatternSetResponse {
4807
5153
  */
4808
5154
  export interface GetRuleGroupRequest {
4809
5155
  /**
5156
+ * @public
4810
5157
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
4811
5158
  */
4812
5159
  Name?: string;
4813
5160
  /**
5161
+ * @public
4814
5162
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4815
5163
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4816
5164
  * <ul>
@@ -4824,10 +5172,12 @@ export interface GetRuleGroupRequest {
4824
5172
  */
4825
5173
  Scope?: Scope | string;
4826
5174
  /**
5175
+ * @public
4827
5176
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
4828
5177
  */
4829
5178
  Id?: string;
4830
5179
  /**
5180
+ * @public
4831
5181
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
4832
5182
  */
4833
5183
  ARN?: string;
@@ -4851,6 +5201,7 @@ export interface GetRuleGroupRequest {
4851
5201
  */
4852
5202
  export interface TimeWindow {
4853
5203
  /**
5204
+ * @public
4854
5205
  * <p>The beginning of the time range from which you want <code>GetSampledRequests</code> to
4855
5206
  * return a sample of the requests that your Amazon Web Services resource received. You must specify the
4856
5207
  * times in Coordinated Universal Time (UTC) format. UTC format includes the special
@@ -4859,6 +5210,7 @@ export interface TimeWindow {
4859
5210
  */
4860
5211
  StartTime: Date | undefined;
4861
5212
  /**
5213
+ * @public
4862
5214
  * <p>The end of the time range from which you want <code>GetSampledRequests</code> to return
4863
5215
  * a sample of the requests that your Amazon Web Services resource received. You must specify the times in
4864
5216
  * Coordinated Universal Time (UTC) format. UTC format includes the special designator,
@@ -4872,16 +5224,19 @@ export interface TimeWindow {
4872
5224
  */
4873
5225
  export interface GetSampledRequestsRequest {
4874
5226
  /**
5227
+ * @public
4875
5228
  * <p>The Amazon resource name (ARN) of the <code>WebACL</code> for which you want a sample of
4876
5229
  * requests.</p>
4877
5230
  */
4878
5231
  WebAclArn: string | undefined;
4879
5232
  /**
5233
+ * @public
4880
5234
  * <p>The metric name assigned to the <code>Rule</code> or <code>RuleGroup</code> dimension for which
4881
5235
  * you want a sample of requests.</p>
4882
5236
  */
4883
5237
  RuleMetricName: string | undefined;
4884
5238
  /**
5239
+ * @public
4885
5240
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
4886
5241
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
4887
5242
  * <ul>
@@ -4895,6 +5250,7 @@ export interface GetSampledRequestsRequest {
4895
5250
  */
4896
5251
  Scope: Scope | string | undefined;
4897
5252
  /**
5253
+ * @public
4898
5254
  * <p>The start date and time and the end date and time of the range for which you want
4899
5255
  * <code>GetSampledRequests</code> to return a sample of requests. You must specify the
4900
5256
  * times in Coordinated Universal Time (UTC) format. UTC format includes the special
@@ -4904,6 +5260,7 @@ export interface GetSampledRequestsRequest {
4904
5260
  */
4905
5261
  TimeWindow: TimeWindow | undefined;
4906
5262
  /**
5263
+ * @public
4907
5264
  * <p>The number of requests that you want WAF to return from among the first 5,000
4908
5265
  * requests that your Amazon Web Services resource received during the time range. If your resource received
4909
5266
  * fewer requests than the value of <code>MaxItems</code>, <code>GetSampledRequests</code>
@@ -4931,16 +5288,19 @@ export type FailureReason = (typeof FailureReason)[keyof typeof FailureReason];
4931
5288
  */
4932
5289
  export interface CaptchaResponse {
4933
5290
  /**
5291
+ * @public
4934
5292
  * <p>The HTTP response code indicating the status of the <code>CAPTCHA</code> token in the
4935
5293
  * web request. If the token is missing, invalid, or expired, this code is <code>405 Method
4936
5294
  * Not Allowed</code>.</p>
4937
5295
  */
4938
5296
  ResponseCode?: number;
4939
5297
  /**
5298
+ * @public
4940
5299
  * <p>The time that the <code>CAPTCHA</code> was last solved for the supplied token. </p>
4941
5300
  */
4942
5301
  SolveTimestamp?: number;
4943
5302
  /**
5303
+ * @public
4944
5304
  * <p>The reason for failure, populated when the evaluation of the token fails.</p>
4945
5305
  */
4946
5306
  FailureReason?: FailureReason | string;
@@ -4951,15 +5311,18 @@ export interface CaptchaResponse {
4951
5311
  */
4952
5312
  export interface ChallengeResponse {
4953
5313
  /**
5314
+ * @public
4954
5315
  * <p>The HTTP response code indicating the status of the challenge token in the
4955
5316
  * web request. If the token is missing, invalid, or expired, this code is <code>202 Request Accepted</code>.</p>
4956
5317
  */
4957
5318
  ResponseCode?: number;
4958
5319
  /**
5320
+ * @public
4959
5321
  * <p>The time that the challenge was last solved for the supplied token. </p>
4960
5322
  */
4961
5323
  SolveTimestamp?: number;
4962
5324
  /**
5325
+ * @public
4963
5326
  * <p>The reason for failure, populated when the evaluation of the token fails.</p>
4964
5327
  */
4965
5328
  FailureReason?: FailureReason | string;
@@ -4973,10 +5336,12 @@ export interface ChallengeResponse {
4973
5336
  */
4974
5337
  export interface HTTPHeader {
4975
5338
  /**
5339
+ * @public
4976
5340
  * <p>The name of the HTTP header.</p>
4977
5341
  */
4978
5342
  Name?: string;
4979
5343
  /**
5344
+ * @public
4980
5345
  * <p>The value of the HTTP header.</p>
4981
5346
  */
4982
5347
  Value?: string;
@@ -4989,6 +5354,7 @@ export interface HTTPHeader {
4989
5354
  */
4990
5355
  export interface HTTPRequest {
4991
5356
  /**
5357
+ * @public
4992
5358
  * <p>The IP address that the request originated from. If the web ACL is associated with a
4993
5359
  * CloudFront distribution, this is the value of one of the following fields in CloudFront access
4994
5360
  * logs:</p>
@@ -5007,26 +5373,31 @@ export interface HTTPRequest {
5007
5373
  */
5008
5374
  ClientIP?: string;
5009
5375
  /**
5376
+ * @public
5010
5377
  * <p>The two-letter country code for the country that the request originated from. For a
5011
5378
  * current list of country codes, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1
5012
5379
  * alpha-2</a>.</p>
5013
5380
  */
5014
5381
  Country?: string;
5015
5382
  /**
5383
+ * @public
5016
5384
  * <p>The URI path of the request, which identifies the resource, for example,
5017
5385
  * <code>/images/daily-ad.jpg</code>.</p>
5018
5386
  */
5019
5387
  URI?: string;
5020
5388
  /**
5389
+ * @public
5021
5390
  * <p>The HTTP method specified in the sampled web request. </p>
5022
5391
  */
5023
5392
  Method?: string;
5024
5393
  /**
5394
+ * @public
5025
5395
  * <p>The HTTP version specified in the sampled web request, for example,
5026
5396
  * <code>HTTP/1.1</code>.</p>
5027
5397
  */
5028
5398
  HTTPVersion?: string;
5029
5399
  /**
5400
+ * @public
5030
5401
  * <p>A complex type that contains the name and value for each header in the sampled web
5031
5402
  * request.</p>
5032
5403
  */
@@ -5041,10 +5412,12 @@ export interface HTTPRequest {
5041
5412
  */
5042
5413
  export interface SampledHTTPRequest {
5043
5414
  /**
5415
+ * @public
5044
5416
  * <p>A complex type that contains detailed information about the request.</p>
5045
5417
  */
5046
5418
  Request: HTTPRequest | undefined;
5047
5419
  /**
5420
+ * @public
5048
5421
  * <p>A value that indicates how one result in the response relates proportionally to other
5049
5422
  * results in the response. For example, a result that has a weight of <code>2</code>
5050
5423
  * represents roughly twice as many web requests as a result that has a weight of
@@ -5052,15 +5425,18 @@ export interface SampledHTTPRequest {
5052
5425
  */
5053
5426
  Weight: number | undefined;
5054
5427
  /**
5428
+ * @public
5055
5429
  * <p>The time at which WAF received the request from your Amazon Web Services resource, in Unix time
5056
5430
  * format (in seconds).</p>
5057
5431
  */
5058
5432
  Timestamp?: Date;
5059
5433
  /**
5434
+ * @public
5060
5435
  * <p>The action that WAF applied to the request.</p>
5061
5436
  */
5062
5437
  Action?: string;
5063
5438
  /**
5439
+ * @public
5064
5440
  * <p>The name of the <code>Rule</code> that the request matched. For managed rule groups, the
5065
5441
  * format for this name is <code><vendor name>#<managed rule group name>#<rule
5066
5442
  * name></code>. For your own rule groups, the format for this name is <code><rule
@@ -5069,15 +5445,18 @@ export interface SampledHTTPRequest {
5069
5445
  */
5070
5446
  RuleNameWithinRuleGroup?: string;
5071
5447
  /**
5448
+ * @public
5072
5449
  * <p>Custom request headers inserted by WAF into the request, according to the custom
5073
5450
  * request configuration for the matching rule action.</p>
5074
5451
  */
5075
5452
  RequestHeadersInserted?: HTTPHeader[];
5076
5453
  /**
5454
+ * @public
5077
5455
  * <p>The response code that was sent for the request.</p>
5078
5456
  */
5079
5457
  ResponseCodeSent?: number;
5080
5458
  /**
5459
+ * @public
5081
5460
  * <p>Labels applied to the web request by matching rules. WAF applies fully qualified
5082
5461
  * labels to matching web requests. A fully qualified label is the concatenation of a label
5083
5462
  * namespace and a rule label. The rule's rule group or web ACL defines the label namespace. </p>
@@ -5087,14 +5466,17 @@ export interface SampledHTTPRequest {
5087
5466
  */
5088
5467
  Labels?: Label[];
5089
5468
  /**
5469
+ * @public
5090
5470
  * <p>The <code>CAPTCHA</code> response for the request.</p>
5091
5471
  */
5092
5472
  CaptchaResponse?: CaptchaResponse;
5093
5473
  /**
5474
+ * @public
5094
5475
  * <p>The <code>Challenge</code> response for the request.</p>
5095
5476
  */
5096
5477
  ChallengeResponse?: ChallengeResponse;
5097
5478
  /**
5479
+ * @public
5098
5480
  * <p>Used only for rule group rules that have a rule action override in place in the web ACL. This is the action that the rule group rule is configured for, and not the action that was applied to the request. The action that WAF applied is the <code>Action</code> value. </p>
5099
5481
  */
5100
5482
  OverriddenAction?: string;
@@ -5104,11 +5486,13 @@ export interface SampledHTTPRequest {
5104
5486
  */
5105
5487
  export interface GetSampledRequestsResponse {
5106
5488
  /**
5489
+ * @public
5107
5490
  * <p>A complex type that contains detailed information about each of the requests in the
5108
5491
  * sample.</p>
5109
5492
  */
5110
5493
  SampledRequests?: SampledHTTPRequest[];
5111
5494
  /**
5495
+ * @public
5112
5496
  * <p>The total number of requests from which <code>GetSampledRequests</code> got a sample of
5113
5497
  * <code>MaxItems</code> requests. If <code>PopulationSize</code> is less than
5114
5498
  * <code>MaxItems</code>, the sample includes every request that your Amazon Web Services resource
@@ -5116,6 +5500,7 @@ export interface GetSampledRequestsResponse {
5116
5500
  */
5117
5501
  PopulationSize?: number;
5118
5502
  /**
5503
+ * @public
5119
5504
  * <p>Usually, <code>TimeWindow</code> is the time range that you specified in the
5120
5505
  * <code>GetSampledRequests</code> request. However, if your Amazon Web Services resource received more
5121
5506
  * than 5,000 requests during the time range that you specified in the request,
@@ -5129,10 +5514,12 @@ export interface GetSampledRequestsResponse {
5129
5514
  */
5130
5515
  export interface GetWebACLRequest {
5131
5516
  /**
5517
+ * @public
5132
5518
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
5133
5519
  */
5134
5520
  Name: string | undefined;
5135
5521
  /**
5522
+ * @public
5136
5523
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5137
5524
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5138
5525
  * <ul>
@@ -5146,6 +5533,7 @@ export interface GetWebACLRequest {
5146
5533
  */
5147
5534
  Scope: Scope | string | undefined;
5148
5535
  /**
5536
+ * @public
5149
5537
  * <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
5150
5538
  */
5151
5539
  Id: string | undefined;
@@ -5155,6 +5543,7 @@ export interface GetWebACLRequest {
5155
5543
  */
5156
5544
  export interface GetWebACLForResourceRequest {
5157
5545
  /**
5546
+ * @public
5158
5547
  * <p>The Amazon Resource Name (ARN) of the resource whose web ACL you want to retrieve. </p>
5159
5548
  * <p>The ARN must be in one of the following formats:</p>
5160
5549
  * <ul>
@@ -5197,6 +5586,7 @@ export interface GetWebACLForResourceRequest {
5197
5586
  */
5198
5587
  export interface ListAPIKeysRequest {
5199
5588
  /**
5589
+ * @public
5200
5590
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5201
5591
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5202
5592
  * <ul>
@@ -5210,12 +5600,14 @@ export interface ListAPIKeysRequest {
5210
5600
  */
5211
5601
  Scope: Scope | string | undefined;
5212
5602
  /**
5603
+ * @public
5213
5604
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5214
5605
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5215
5606
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5216
5607
  */
5217
5608
  NextMarker?: string;
5218
5609
  /**
5610
+ * @public
5219
5611
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5220
5612
  * objects are available, in the response, WAF provides a
5221
5613
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5227,16 +5619,19 @@ export interface ListAPIKeysRequest {
5227
5619
  */
5228
5620
  export interface ListAPIKeysResponse {
5229
5621
  /**
5622
+ * @public
5230
5623
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5231
5624
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5232
5625
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5233
5626
  */
5234
5627
  NextMarker?: string;
5235
5628
  /**
5629
+ * @public
5236
5630
  * <p>The array of key summaries. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5237
5631
  */
5238
5632
  APIKeySummaries?: APIKeySummary[];
5239
5633
  /**
5634
+ * @public
5240
5635
  * <p>The CAPTCHA application integration URL, for use in your JavaScript implementation. </p>
5241
5636
  */
5242
5637
  ApplicationIntegrationURL?: string;
@@ -5246,6 +5641,7 @@ export interface ListAPIKeysResponse {
5246
5641
  */
5247
5642
  export interface ListAvailableManagedRuleGroupsRequest {
5248
5643
  /**
5644
+ * @public
5249
5645
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5250
5646
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5251
5647
  * <ul>
@@ -5259,12 +5655,14 @@ export interface ListAvailableManagedRuleGroupsRequest {
5259
5655
  */
5260
5656
  Scope: Scope | string | undefined;
5261
5657
  /**
5658
+ * @public
5262
5659
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5263
5660
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5264
5661
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5265
5662
  */
5266
5663
  NextMarker?: string;
5267
5664
  /**
5665
+ * @public
5268
5666
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5269
5667
  * objects are available, in the response, WAF provides a
5270
5668
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5277,19 +5675,23 @@ export interface ListAvailableManagedRuleGroupsRequest {
5277
5675
  */
5278
5676
  export interface ManagedRuleGroupSummary {
5279
5677
  /**
5678
+ * @public
5280
5679
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
5281
5680
  */
5282
5681
  VendorName?: string;
5283
5682
  /**
5683
+ * @public
5284
5684
  * <p>The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.</p>
5285
5685
  */
5286
5686
  Name?: string;
5287
5687
  /**
5688
+ * @public
5288
5689
  * <p>Indicates whether the managed rule group is versioned. If it is, you can retrieve the
5289
5690
  * versions list by calling <a>ListAvailableManagedRuleGroupVersions</a>. </p>
5290
5691
  */
5291
5692
  VersioningSupported?: boolean;
5292
5693
  /**
5694
+ * @public
5293
5695
  * <p>The description of the managed rule group, provided by Amazon Web Services Managed Rules or the Amazon Web Services Marketplace seller who manages it.</p>
5294
5696
  */
5295
5697
  Description?: string;
@@ -5299,12 +5701,14 @@ export interface ManagedRuleGroupSummary {
5299
5701
  */
5300
5702
  export interface ListAvailableManagedRuleGroupsResponse {
5301
5703
  /**
5704
+ * @public
5302
5705
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5303
5706
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5304
5707
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5305
5708
  */
5306
5709
  NextMarker?: string;
5307
5710
  /**
5711
+ * @public
5308
5712
  * <p>Array of managed rule groups that you can use. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5309
5713
  */
5310
5714
  ManagedRuleGroups?: ManagedRuleGroupSummary[];
@@ -5314,14 +5718,17 @@ export interface ListAvailableManagedRuleGroupsResponse {
5314
5718
  */
5315
5719
  export interface ListAvailableManagedRuleGroupVersionsRequest {
5316
5720
  /**
5721
+ * @public
5317
5722
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
5318
5723
  */
5319
5724
  VendorName: string | undefined;
5320
5725
  /**
5726
+ * @public
5321
5727
  * <p>The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.</p>
5322
5728
  */
5323
5729
  Name: string | undefined;
5324
5730
  /**
5731
+ * @public
5325
5732
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5326
5733
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5327
5734
  * <ul>
@@ -5335,12 +5742,14 @@ export interface ListAvailableManagedRuleGroupVersionsRequest {
5335
5742
  */
5336
5743
  Scope: Scope | string | undefined;
5337
5744
  /**
5745
+ * @public
5338
5746
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5339
5747
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5340
5748
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5341
5749
  */
5342
5750
  NextMarker?: string;
5343
5751
  /**
5752
+ * @public
5344
5753
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5345
5754
  * objects are available, in the response, WAF provides a
5346
5755
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5353,10 +5762,12 @@ export interface ListAvailableManagedRuleGroupVersionsRequest {
5353
5762
  */
5354
5763
  export interface ManagedRuleGroupVersion {
5355
5764
  /**
5765
+ * @public
5356
5766
  * <p>The version name. </p>
5357
5767
  */
5358
5768
  Name?: string;
5359
5769
  /**
5770
+ * @public
5360
5771
  * <p>The date and time that the managed rule group owner updated the rule group version
5361
5772
  * information. </p>
5362
5773
  */
@@ -5367,16 +5778,19 @@ export interface ManagedRuleGroupVersion {
5367
5778
  */
5368
5779
  export interface ListAvailableManagedRuleGroupVersionsResponse {
5369
5780
  /**
5781
+ * @public
5370
5782
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5371
5783
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5372
5784
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5373
5785
  */
5374
5786
  NextMarker?: string;
5375
5787
  /**
5788
+ * @public
5376
5789
  * <p>The versions that are currently available for the specified managed rule group. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5377
5790
  */
5378
5791
  Versions?: ManagedRuleGroupVersion[];
5379
5792
  /**
5793
+ * @public
5380
5794
  * <p>The name of the version that's currently set as the default. </p>
5381
5795
  */
5382
5796
  CurrentDefaultVersion?: string;
@@ -5386,6 +5800,7 @@ export interface ListAvailableManagedRuleGroupVersionsResponse {
5386
5800
  */
5387
5801
  export interface ListIPSetsRequest {
5388
5802
  /**
5803
+ * @public
5389
5804
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5390
5805
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5391
5806
  * <ul>
@@ -5399,12 +5814,14 @@ export interface ListIPSetsRequest {
5399
5814
  */
5400
5815
  Scope: Scope | string | undefined;
5401
5816
  /**
5817
+ * @public
5402
5818
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5403
5819
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5404
5820
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5405
5821
  */
5406
5822
  NextMarker?: string;
5407
5823
  /**
5824
+ * @public
5408
5825
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5409
5826
  * objects are available, in the response, WAF provides a
5410
5827
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5416,12 +5833,14 @@ export interface ListIPSetsRequest {
5416
5833
  */
5417
5834
  export interface ListIPSetsResponse {
5418
5835
  /**
5836
+ * @public
5419
5837
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5420
5838
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5421
5839
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5422
5840
  */
5423
5841
  NextMarker?: string;
5424
5842
  /**
5843
+ * @public
5425
5844
  * <p>Array of IPSets. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5426
5845
  */
5427
5846
  IPSets?: IPSetSummary[];
@@ -5431,6 +5850,7 @@ export interface ListIPSetsResponse {
5431
5850
  */
5432
5851
  export interface ListLoggingConfigurationsRequest {
5433
5852
  /**
5853
+ * @public
5434
5854
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5435
5855
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5436
5856
  * <ul>
@@ -5444,12 +5864,14 @@ export interface ListLoggingConfigurationsRequest {
5444
5864
  */
5445
5865
  Scope: Scope | string | undefined;
5446
5866
  /**
5867
+ * @public
5447
5868
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5448
5869
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5449
5870
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5450
5871
  */
5451
5872
  NextMarker?: string;
5452
5873
  /**
5874
+ * @public
5453
5875
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5454
5876
  * objects are available, in the response, WAF provides a
5455
5877
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5461,10 +5883,12 @@ export interface ListLoggingConfigurationsRequest {
5461
5883
  */
5462
5884
  export interface ListLoggingConfigurationsResponse {
5463
5885
  /**
5886
+ * @public
5464
5887
  * <p>Array of logging configurations. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5465
5888
  */
5466
5889
  LoggingConfigurations?: LoggingConfiguration[];
5467
5890
  /**
5891
+ * @public
5468
5892
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5469
5893
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5470
5894
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
@@ -5476,6 +5900,7 @@ export interface ListLoggingConfigurationsResponse {
5476
5900
  */
5477
5901
  export interface ListManagedRuleSetsRequest {
5478
5902
  /**
5903
+ * @public
5479
5904
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5480
5905
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5481
5906
  * <ul>
@@ -5489,12 +5914,14 @@ export interface ListManagedRuleSetsRequest {
5489
5914
  */
5490
5915
  Scope: Scope | string | undefined;
5491
5916
  /**
5917
+ * @public
5492
5918
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5493
5919
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5494
5920
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5495
5921
  */
5496
5922
  NextMarker?: string;
5497
5923
  /**
5924
+ * @public
5498
5925
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5499
5926
  * objects are available, in the response, WAF provides a
5500
5927
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5511,27 +5938,33 @@ export interface ListManagedRuleSetsRequest {
5511
5938
  */
5512
5939
  export interface ManagedRuleSetSummary {
5513
5940
  /**
5941
+ * @public
5514
5942
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
5515
5943
  * <p>This name is assigned to the corresponding managed rule group, which your customers can access and use. </p>
5516
5944
  */
5517
5945
  Name?: string;
5518
5946
  /**
5947
+ * @public
5519
5948
  * <p>A unique identifier for the managed rule set. The ID is returned in the responses to commands like <code>list</code>. You provide it to operations like <code>get</code> and <code>update</code>.</p>
5520
5949
  */
5521
5950
  Id?: string;
5522
5951
  /**
5952
+ * @public
5523
5953
  * <p>A description of the set that helps with identification. </p>
5524
5954
  */
5525
5955
  Description?: string;
5526
5956
  /**
5957
+ * @public
5527
5958
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
5528
5959
  */
5529
5960
  LockToken?: string;
5530
5961
  /**
5962
+ * @public
5531
5963
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
5532
5964
  */
5533
5965
  ARN?: string;
5534
5966
  /**
5967
+ * @public
5535
5968
  * <p>The label namespace prefix for the managed rule groups that are offered to customers from this managed rule set. All labels that are added by rules in the managed rule group have this prefix. </p>
5536
5969
  * <ul>
5537
5970
  * <li>
@@ -5554,12 +5987,14 @@ export interface ManagedRuleSetSummary {
5554
5987
  */
5555
5988
  export interface ListManagedRuleSetsResponse {
5556
5989
  /**
5990
+ * @public
5557
5991
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5558
5992
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5559
5993
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5560
5994
  */
5561
5995
  NextMarker?: string;
5562
5996
  /**
5997
+ * @public
5563
5998
  * <p>Your managed rule sets. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5564
5999
  */
5565
6000
  ManagedRuleSets?: ManagedRuleSetSummary[];
@@ -5569,16 +6004,19 @@ export interface ListManagedRuleSetsResponse {
5569
6004
  */
5570
6005
  export interface ListMobileSdkReleasesRequest {
5571
6006
  /**
6007
+ * @public
5572
6008
  * <p>The device platform to retrieve the list for.</p>
5573
6009
  */
5574
6010
  Platform: Platform | string | undefined;
5575
6011
  /**
6012
+ * @public
5576
6013
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5577
6014
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5578
6015
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5579
6016
  */
5580
6017
  NextMarker?: string;
5581
6018
  /**
6019
+ * @public
5582
6020
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5583
6021
  * objects are available, in the response, WAF provides a
5584
6022
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5591,10 +6029,12 @@ export interface ListMobileSdkReleasesRequest {
5591
6029
  */
5592
6030
  export interface ReleaseSummary {
5593
6031
  /**
6032
+ * @public
5594
6033
  * <p>The release version. </p>
5595
6034
  */
5596
6035
  ReleaseVersion?: string;
5597
6036
  /**
6037
+ * @public
5598
6038
  * <p>The timestamp of the release. </p>
5599
6039
  */
5600
6040
  Timestamp?: Date;
@@ -5604,10 +6044,12 @@ export interface ReleaseSummary {
5604
6044
  */
5605
6045
  export interface ListMobileSdkReleasesResponse {
5606
6046
  /**
6047
+ * @public
5607
6048
  * <p>The high level information for the available SDK releases. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5608
6049
  */
5609
6050
  ReleaseSummaries?: ReleaseSummary[];
5610
6051
  /**
6052
+ * @public
5611
6053
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5612
6054
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5613
6055
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
@@ -5619,6 +6061,7 @@ export interface ListMobileSdkReleasesResponse {
5619
6061
  */
5620
6062
  export interface ListRegexPatternSetsRequest {
5621
6063
  /**
6064
+ * @public
5622
6065
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5623
6066
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5624
6067
  * <ul>
@@ -5632,12 +6075,14 @@ export interface ListRegexPatternSetsRequest {
5632
6075
  */
5633
6076
  Scope: Scope | string | undefined;
5634
6077
  /**
6078
+ * @public
5635
6079
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5636
6080
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5637
6081
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5638
6082
  */
5639
6083
  NextMarker?: string;
5640
6084
  /**
6085
+ * @public
5641
6086
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5642
6087
  * objects are available, in the response, WAF provides a
5643
6088
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5649,12 +6094,14 @@ export interface ListRegexPatternSetsRequest {
5649
6094
  */
5650
6095
  export interface ListRegexPatternSetsResponse {
5651
6096
  /**
6097
+ * @public
5652
6098
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5653
6099
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5654
6100
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5655
6101
  */
5656
6102
  NextMarker?: string;
5657
6103
  /**
6104
+ * @public
5658
6105
  * <p>Array of regex pattern sets. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5659
6106
  */
5660
6107
  RegexPatternSets?: RegexPatternSetSummary[];
@@ -5680,10 +6127,12 @@ export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType];
5680
6127
  */
5681
6128
  export interface ListResourcesForWebACLRequest {
5682
6129
  /**
6130
+ * @public
5683
6131
  * <p>The Amazon Resource Name (ARN) of the web ACL.</p>
5684
6132
  */
5685
6133
  WebACLArn: string | undefined;
5686
6134
  /**
6135
+ * @public
5687
6136
  * <p>Used for web ACLs that are scoped for regional applications.
5688
6137
  * A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5689
6138
  * <note>
@@ -5699,6 +6148,7 @@ export interface ListResourcesForWebACLRequest {
5699
6148
  */
5700
6149
  export interface ListResourcesForWebACLResponse {
5701
6150
  /**
6151
+ * @public
5702
6152
  * <p>The array of Amazon Resource Names (ARNs) of the associated resources.</p>
5703
6153
  */
5704
6154
  ResourceArns?: string[];
@@ -5708,6 +6158,7 @@ export interface ListResourcesForWebACLResponse {
5708
6158
  */
5709
6159
  export interface ListRuleGroupsRequest {
5710
6160
  /**
6161
+ * @public
5711
6162
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5712
6163
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5713
6164
  * <ul>
@@ -5721,12 +6172,14 @@ export interface ListRuleGroupsRequest {
5721
6172
  */
5722
6173
  Scope: Scope | string | undefined;
5723
6174
  /**
6175
+ * @public
5724
6176
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5725
6177
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5726
6178
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5727
6179
  */
5728
6180
  NextMarker?: string;
5729
6181
  /**
6182
+ * @public
5730
6183
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5731
6184
  * objects are available, in the response, WAF provides a
5732
6185
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5738,12 +6191,14 @@ export interface ListRuleGroupsRequest {
5738
6191
  */
5739
6192
  export interface ListRuleGroupsResponse {
5740
6193
  /**
6194
+ * @public
5741
6195
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5742
6196
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5743
6197
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5744
6198
  */
5745
6199
  NextMarker?: string;
5746
6200
  /**
6201
+ * @public
5747
6202
  * <p>Array of rule groups. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5748
6203
  */
5749
6204
  RuleGroups?: RuleGroupSummary[];
@@ -5753,18 +6208,21 @@ export interface ListRuleGroupsResponse {
5753
6208
  */
5754
6209
  export interface ListTagsForResourceRequest {
5755
6210
  /**
6211
+ * @public
5756
6212
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5757
6213
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5758
6214
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5759
6215
  */
5760
6216
  NextMarker?: string;
5761
6217
  /**
6218
+ * @public
5762
6219
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5763
6220
  * objects are available, in the response, WAF provides a
5764
6221
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
5765
6222
  */
5766
6223
  Limit?: number;
5767
6224
  /**
6225
+ * @public
5768
6226
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
5769
6227
  */
5770
6228
  ResourceARN: string | undefined;
@@ -5784,10 +6242,12 @@ export interface ListTagsForResourceRequest {
5784
6242
  */
5785
6243
  export interface TagInfoForResource {
5786
6244
  /**
6245
+ * @public
5787
6246
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
5788
6247
  */
5789
6248
  ResourceARN?: string;
5790
6249
  /**
6250
+ * @public
5791
6251
  * <p>The array of <a>Tag</a> objects defined for the resource. </p>
5792
6252
  */
5793
6253
  TagList?: Tag[];
@@ -5797,12 +6257,14 @@ export interface TagInfoForResource {
5797
6257
  */
5798
6258
  export interface ListTagsForResourceResponse {
5799
6259
  /**
6260
+ * @public
5800
6261
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5801
6262
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5802
6263
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5803
6264
  */
5804
6265
  NextMarker?: string;
5805
6266
  /**
6267
+ * @public
5806
6268
  * <p>The collection of tagging definitions for the resource. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5807
6269
  */
5808
6270
  TagInfoForResource?: TagInfoForResource;
@@ -5812,6 +6274,7 @@ export interface ListTagsForResourceResponse {
5812
6274
  */
5813
6275
  export interface ListWebACLsRequest {
5814
6276
  /**
6277
+ * @public
5815
6278
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5816
6279
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5817
6280
  * <ul>
@@ -5825,12 +6288,14 @@ export interface ListWebACLsRequest {
5825
6288
  */
5826
6289
  Scope: Scope | string | undefined;
5827
6290
  /**
6291
+ * @public
5828
6292
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5829
6293
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5830
6294
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5831
6295
  */
5832
6296
  NextMarker?: string;
5833
6297
  /**
6298
+ * @public
5834
6299
  * <p>The maximum number of objects that you want WAF to return for this request. If more
5835
6300
  * objects are available, in the response, WAF provides a
5836
6301
  * <code>NextMarker</code> value that you can use in a subsequent call to get the next batch of objects.</p>
@@ -5842,12 +6307,14 @@ export interface ListWebACLsRequest {
5842
6307
  */
5843
6308
  export interface ListWebACLsResponse {
5844
6309
  /**
6310
+ * @public
5845
6311
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
5846
6312
  * for retrieval exceeds the limit, WAF returns a <code>NextMarker</code>
5847
6313
  * value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.</p>
5848
6314
  */
5849
6315
  NextMarker?: string;
5850
6316
  /**
6317
+ * @public
5851
6318
  * <p>Array of web ACLs. If you specified a <code>Limit</code> in your request, this might not be the full list. </p>
5852
6319
  */
5853
6320
  WebACLs?: WebACLSummary[];
@@ -5857,6 +6324,7 @@ export interface ListWebACLsResponse {
5857
6324
  */
5858
6325
  export interface PutLoggingConfigurationRequest {
5859
6326
  /**
6327
+ * @public
5860
6328
  * <p></p>
5861
6329
  */
5862
6330
  LoggingConfiguration: LoggingConfiguration | undefined;
@@ -5866,6 +6334,7 @@ export interface PutLoggingConfigurationRequest {
5866
6334
  */
5867
6335
  export interface PutLoggingConfigurationResponse {
5868
6336
  /**
6337
+ * @public
5869
6338
  * <p></p>
5870
6339
  */
5871
6340
  LoggingConfiguration?: LoggingConfiguration;
@@ -5915,11 +6384,13 @@ export declare class WAFServiceLinkedRoleErrorException extends __BaseException
5915
6384
  */
5916
6385
  export interface VersionToPublish {
5917
6386
  /**
6387
+ * @public
5918
6388
  * <p>The Amazon Resource Name (ARN) of the vendor's rule group that's used in the published
5919
6389
  * managed rule group version. </p>
5920
6390
  */
5921
6391
  AssociatedRuleGroupArn?: string;
5922
6392
  /**
6393
+ * @public
5923
6394
  * <p>The amount of time the vendor expects this version of the managed rule group to last, in
5924
6395
  * days. </p>
5925
6396
  */
@@ -5930,11 +6401,13 @@ export interface VersionToPublish {
5930
6401
  */
5931
6402
  export interface PutManagedRuleSetVersionsRequest {
5932
6403
  /**
6404
+ * @public
5933
6405
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
5934
6406
  * <p>This name is assigned to the corresponding managed rule group, which your customers can access and use. </p>
5935
6407
  */
5936
6408
  Name: string | undefined;
5937
6409
  /**
6410
+ * @public
5938
6411
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
5939
6412
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
5940
6413
  * <ul>
@@ -5948,19 +6421,23 @@ export interface PutManagedRuleSetVersionsRequest {
5948
6421
  */
5949
6422
  Scope: Scope | string | undefined;
5950
6423
  /**
6424
+ * @public
5951
6425
  * <p>A unique identifier for the managed rule set. The ID is returned in the responses to commands like <code>list</code>. You provide it to operations like <code>get</code> and <code>update</code>.</p>
5952
6426
  */
5953
6427
  Id: string | undefined;
5954
6428
  /**
6429
+ * @public
5955
6430
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
5956
6431
  */
5957
6432
  LockToken: string | undefined;
5958
6433
  /**
6434
+ * @public
5959
6435
  * <p>The version of the named managed rule group that you'd like your customers to choose,
5960
6436
  * from among your version offerings. </p>
5961
6437
  */
5962
6438
  RecommendedVersion?: string;
5963
6439
  /**
6440
+ * @public
5964
6441
  * <p>The versions of the named managed rule group that you want to offer to your customers.
5965
6442
  * </p>
5966
6443
  */
@@ -5971,6 +6448,7 @@ export interface PutManagedRuleSetVersionsRequest {
5971
6448
  */
5972
6449
  export interface PutManagedRuleSetVersionsResponse {
5973
6450
  /**
6451
+ * @public
5974
6452
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
5975
6453
  */
5976
6454
  NextLockToken?: string;
@@ -5980,11 +6458,13 @@ export interface PutManagedRuleSetVersionsResponse {
5980
6458
  */
5981
6459
  export interface PutPermissionPolicyRequest {
5982
6460
  /**
6461
+ * @public
5983
6462
  * <p>The Amazon Resource Name (ARN) of the <a>RuleGroup</a> to which you want to
5984
6463
  * attach the policy.</p>
5985
6464
  */
5986
6465
  ResourceArn: string | undefined;
5987
6466
  /**
6467
+ * @public
5988
6468
  * <p>The policy to attach to the specified rule group. </p>
5989
6469
  * <p>The policy specifications must conform to the following:</p>
5990
6470
  * <ul>
@@ -6058,10 +6538,12 @@ export declare class WAFInvalidPermissionPolicyException extends __BaseException
6058
6538
  */
6059
6539
  export interface TagResourceRequest {
6060
6540
  /**
6541
+ * @public
6061
6542
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
6062
6543
  */
6063
6544
  ResourceARN: string | undefined;
6064
6545
  /**
6546
+ * @public
6065
6547
  * <p>An array of key:value pairs to associate with the resource.</p>
6066
6548
  */
6067
6549
  Tags: Tag[] | undefined;
@@ -6076,10 +6558,12 @@ export interface TagResourceResponse {
6076
6558
  */
6077
6559
  export interface UntagResourceRequest {
6078
6560
  /**
6561
+ * @public
6079
6562
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
6080
6563
  */
6081
6564
  ResourceARN: string | undefined;
6082
6565
  /**
6566
+ * @public
6083
6567
  * <p>An array of keys identifying the tags to disassociate from the resource.</p>
6084
6568
  */
6085
6569
  TagKeys: string[] | undefined;
@@ -6094,10 +6578,12 @@ export interface UntagResourceResponse {
6094
6578
  */
6095
6579
  export interface UpdateIPSetRequest {
6096
6580
  /**
6581
+ * @public
6097
6582
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
6098
6583
  */
6099
6584
  Name: string | undefined;
6100
6585
  /**
6586
+ * @public
6101
6587
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6102
6588
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6103
6589
  * <ul>
@@ -6111,14 +6597,17 @@ export interface UpdateIPSetRequest {
6111
6597
  */
6112
6598
  Scope: Scope | string | undefined;
6113
6599
  /**
6600
+ * @public
6114
6601
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
6115
6602
  */
6116
6603
  Id: string | undefined;
6117
6604
  /**
6605
+ * @public
6118
6606
  * <p>A description of the IP set that helps with identification. </p>
6119
6607
  */
6120
6608
  Description?: string;
6121
6609
  /**
6610
+ * @public
6122
6611
  * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
6123
6612
  * <p>Example address strings: </p>
6124
6613
  * <ul>
@@ -6158,6 +6647,7 @@ export interface UpdateIPSetRequest {
6158
6647
  */
6159
6648
  Addresses: string[] | undefined;
6160
6649
  /**
6650
+ * @public
6161
6651
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
6162
6652
  */
6163
6653
  LockToken: string | undefined;
@@ -6167,6 +6657,7 @@ export interface UpdateIPSetRequest {
6167
6657
  */
6168
6658
  export interface UpdateIPSetResponse {
6169
6659
  /**
6660
+ * @public
6170
6661
  * <p>A token used for optimistic locking. WAF returns this token to your <code>update</code> requests. You use <code>NextLockToken</code> in the same manner as you use <code>LockToken</code>. </p>
6171
6662
  */
6172
6663
  NextLockToken?: string;
@@ -6176,11 +6667,13 @@ export interface UpdateIPSetResponse {
6176
6667
  */
6177
6668
  export interface UpdateManagedRuleSetVersionExpiryDateRequest {
6178
6669
  /**
6670
+ * @public
6179
6671
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
6180
6672
  * <p>This name is assigned to the corresponding managed rule group, which your customers can access and use. </p>
6181
6673
  */
6182
6674
  Name: string | undefined;
6183
6675
  /**
6676
+ * @public
6184
6677
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6185
6678
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6186
6679
  * <ul>
@@ -6194,19 +6687,23 @@ export interface UpdateManagedRuleSetVersionExpiryDateRequest {
6194
6687
  */
6195
6688
  Scope: Scope | string | undefined;
6196
6689
  /**
6690
+ * @public
6197
6691
  * <p>A unique identifier for the managed rule set. The ID is returned in the responses to commands like <code>list</code>. You provide it to operations like <code>get</code> and <code>update</code>.</p>
6198
6692
  */
6199
6693
  Id: string | undefined;
6200
6694
  /**
6695
+ * @public
6201
6696
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
6202
6697
  */
6203
6698
  LockToken: string | undefined;
6204
6699
  /**
6700
+ * @public
6205
6701
  * <p>The version that you want to remove from your list of offerings for the named managed
6206
6702
  * rule group. </p>
6207
6703
  */
6208
6704
  VersionToExpire: string | undefined;
6209
6705
  /**
6706
+ * @public
6210
6707
  * <p>The time that you want the version to expire.</p>
6211
6708
  * <p>Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". </p>
6212
6709
  */
@@ -6217,15 +6714,18 @@ export interface UpdateManagedRuleSetVersionExpiryDateRequest {
6217
6714
  */
6218
6715
  export interface UpdateManagedRuleSetVersionExpiryDateResponse {
6219
6716
  /**
6717
+ * @public
6220
6718
  * <p>The version that is set to expire. </p>
6221
6719
  */
6222
6720
  ExpiringVersion?: string;
6223
6721
  /**
6722
+ * @public
6224
6723
  * <p>The time that the version will expire. </p>
6225
6724
  * <p>Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z". </p>
6226
6725
  */
6227
6726
  ExpiryTimestamp?: Date;
6228
6727
  /**
6728
+ * @public
6229
6729
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
6230
6730
  */
6231
6731
  NextLockToken?: string;
@@ -6235,10 +6735,12 @@ export interface UpdateManagedRuleSetVersionExpiryDateResponse {
6235
6735
  */
6236
6736
  export interface UpdateRegexPatternSetRequest {
6237
6737
  /**
6738
+ * @public
6238
6739
  * <p>The name of the set. You cannot change the name after you create the set.</p>
6239
6740
  */
6240
6741
  Name: string | undefined;
6241
6742
  /**
6743
+ * @public
6242
6744
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6243
6745
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6244
6746
  * <ul>
@@ -6252,18 +6754,22 @@ export interface UpdateRegexPatternSetRequest {
6252
6754
  */
6253
6755
  Scope: Scope | string | undefined;
6254
6756
  /**
6757
+ * @public
6255
6758
  * <p>A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
6256
6759
  */
6257
6760
  Id: string | undefined;
6258
6761
  /**
6762
+ * @public
6259
6763
  * <p>A description of the set that helps with identification. </p>
6260
6764
  */
6261
6765
  Description?: string;
6262
6766
  /**
6767
+ * @public
6263
6768
  * <p></p>
6264
6769
  */
6265
6770
  RegularExpressionList: Regex[] | undefined;
6266
6771
  /**
6772
+ * @public
6267
6773
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
6268
6774
  */
6269
6775
  LockToken: string | undefined;
@@ -6273,6 +6779,7 @@ export interface UpdateRegexPatternSetRequest {
6273
6779
  */
6274
6780
  export interface UpdateRegexPatternSetResponse {
6275
6781
  /**
6782
+ * @public
6276
6783
  * <p>A token used for optimistic locking. WAF returns this token to your <code>update</code> requests. You use <code>NextLockToken</code> in the same manner as you use <code>LockToken</code>. </p>
6277
6784
  */
6278
6785
  NextLockToken?: string;
@@ -6282,6 +6789,7 @@ export interface UpdateRegexPatternSetResponse {
6282
6789
  */
6283
6790
  export interface UpdateRuleGroupResponse {
6284
6791
  /**
6792
+ * @public
6285
6793
  * <p>A token used for optimistic locking. WAF returns this token to your <code>update</code> requests. You use <code>NextLockToken</code> in the same manner as you use <code>LockToken</code>. </p>
6286
6794
  */
6287
6795
  NextLockToken?: string;
@@ -6291,6 +6799,7 @@ export interface UpdateRuleGroupResponse {
6291
6799
  */
6292
6800
  export interface UpdateWebACLResponse {
6293
6801
  /**
6802
+ * @public
6294
6803
  * <p>A token used for optimistic locking. WAF returns this token to your <code>update</code> requests. You use <code>NextLockToken</code> in the same manner as you use <code>LockToken</code>. </p>
6295
6804
  */
6296
6805
  NextLockToken?: string;
@@ -6303,25 +6812,30 @@ export interface UpdateWebACLResponse {
6303
6812
  */
6304
6813
  export interface Statement {
6305
6814
  /**
6815
+ * @public
6306
6816
  * <p>A rule statement that defines a string match search for WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the WAF console and the developer guide, this is called a string match statement.</p>
6307
6817
  */
6308
6818
  ByteMatchStatement?: ByteMatchStatement;
6309
6819
  /**
6820
+ * @public
6310
6821
  * <p>A rule statement that inspects for malicious SQL code. Attackers insert malicious SQL code into web requests to do things like modify your database or extract data from it. </p>
6311
6822
  */
6312
6823
  SqliMatchStatement?: SqliMatchStatement;
6313
6824
  /**
6825
+ * @public
6314
6826
  * <p>A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker
6315
6827
  * uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers. </p>
6316
6828
  */
6317
6829
  XssMatchStatement?: XssMatchStatement;
6318
6830
  /**
6831
+ * @public
6319
6832
  * <p>A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes. </p>
6320
6833
  * <p>If you configure WAF to inspect the request body, WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 kilobytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 kilobytes). For CloudFront web ACLs, you can increase the limit in the web ACL <code>AssociationConfig</code>, for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.</p>
6321
6834
  * <p>If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI <code>/logo.jpg</code> is nine characters long.</p>
6322
6835
  */
6323
6836
  SizeConstraintStatement?: SizeConstraintStatement;
6324
6837
  /**
6838
+ * @public
6325
6839
  * <p>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.</p>
6326
6840
  * <ul>
6327
6841
  * <li>
@@ -6338,22 +6852,26 @@ export interface Statement {
6338
6852
  */
6339
6853
  GeoMatchStatement?: GeoMatchStatement;
6340
6854
  /**
6855
+ * @public
6341
6856
  * <p>A rule statement used to run the rules that are defined in a <a>RuleGroup</a>. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.</p>
6342
6857
  * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You
6343
6858
  * can only use a rule group reference statement at the top level inside a web ACL. </p>
6344
6859
  */
6345
6860
  RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
6346
6861
  /**
6862
+ * @public
6347
6863
  * <p>A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an <a>IPSet</a> that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see <a>CreateIPSet</a>.</p>
6348
6864
  * <p>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, WAF automatically updates all rules that reference it.</p>
6349
6865
  */
6350
6866
  IPSetReferenceStatement?: IPSetReferenceStatement;
6351
6867
  /**
6868
+ * @public
6352
6869
  * <p>A rule statement used to search web request components for matches with regular expressions. To use this, create a <a>RegexPatternSet</a> that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see <a>CreateRegexPatternSet</a>.</p>
6353
6870
  * <p>Each regex pattern set rule statement references a regex pattern 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, WAF automatically updates all rules that reference it.</p>
6354
6871
  */
6355
6872
  RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
6356
6873
  /**
6874
+ * @public
6357
6875
  * <p>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. </p>
6358
6876
  * <p>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. </p>
6359
6877
  * <p>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. </p>
@@ -6423,18 +6941,22 @@ export interface Statement {
6423
6941
  */
6424
6942
  RateBasedStatement?: RateBasedStatement;
6425
6943
  /**
6944
+ * @public
6426
6945
  * <p>A logical rule statement used to combine other rule statements with AND logic. You provide more than one <a>Statement</a> within the <code>AndStatement</code>. </p>
6427
6946
  */
6428
6947
  AndStatement?: AndStatement;
6429
6948
  /**
6949
+ * @public
6430
6950
  * <p>A logical rule statement used to combine other rule statements with OR logic. You provide more than one <a>Statement</a> within the <code>OrStatement</code>. </p>
6431
6951
  */
6432
6952
  OrStatement?: OrStatement;
6433
6953
  /**
6954
+ * @public
6434
6955
  * <p>A logical rule statement used to negate the results of another rule statement. You provide one <a>Statement</a> within the <code>NotStatement</code>.</p>
6435
6956
  */
6436
6957
  NotStatement?: NotStatement;
6437
6958
  /**
6959
+ * @public
6438
6960
  * <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>
6439
6961
  * <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>
6440
6962
  * <note>
@@ -6443,11 +6965,13 @@ export interface Statement {
6443
6965
  */
6444
6966
  ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
6445
6967
  /**
6968
+ * @public
6446
6969
  * <p>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. </p>
6447
6970
  * <p>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, WAF performs the search for labels that were added in the same context as the label match statement. </p>
6448
6971
  */
6449
6972
  LabelMatchStatement?: LabelMatchStatement;
6450
6973
  /**
6974
+ * @public
6451
6975
  * <p>A rule statement used to search web request components for a match against a single regular expression. </p>
6452
6976
  */
6453
6977
  RegexMatchStatement?: RegexMatchStatement;
@@ -6462,14 +6986,17 @@ export interface Statement {
6462
6986
  */
6463
6987
  export interface ManagedRuleGroupStatement {
6464
6988
  /**
6989
+ * @public
6465
6990
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.</p>
6466
6991
  */
6467
6992
  VendorName: string | undefined;
6468
6993
  /**
6994
+ * @public
6469
6995
  * <p>The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.</p>
6470
6996
  */
6471
6997
  Name: string | undefined;
6472
6998
  /**
6999
+ * @public
6473
7000
  * <p>The version of the managed rule group to use. If you specify this, the version setting
6474
7001
  * is fixed until you change it. If you don't specify this, WAF uses the vendor's
6475
7002
  * default version, and then keeps the version at the vendor's default when the vendor updates
@@ -6477,6 +7004,7 @@ export interface ManagedRuleGroupStatement {
6477
7004
  */
6478
7005
  Version?: string;
6479
7006
  /**
7007
+ * @public
6480
7008
  * <p>Rules in the referenced rule group whose actions are set to <code>Count</code>. </p>
6481
7009
  * <note>
6482
7010
  * <p>Instead of this option, use <code>RuleActionOverrides</code>. It accepts any valid action setting, including <code>Count</code>.</p>
@@ -6484,6 +7012,7 @@ export interface ManagedRuleGroupStatement {
6484
7012
  */
6485
7013
  ExcludedRules?: ExcludedRule[];
6486
7014
  /**
7015
+ * @public
6487
7016
  * <p>An optional nested statement that narrows the scope of the web requests that are
6488
7017
  * evaluated by the managed rule group. Requests are only evaluated by the rule group if they
6489
7018
  * match the scope-down statement. You can use any nestable <a>Statement</a> in the
@@ -6492,6 +7021,7 @@ export interface ManagedRuleGroupStatement {
6492
7021
  */
6493
7022
  ScopeDownStatement?: Statement;
6494
7023
  /**
7024
+ * @public
6495
7025
  * <p>Additional information that's used by a managed rule group. Many managed rule groups don't require this.</p>
6496
7026
  * <p>The rule groups used for intelligent threat mitigation require additional configuration: </p>
6497
7027
  * <ul>
@@ -6509,6 +7039,7 @@ export interface ManagedRuleGroupStatement {
6509
7039
  */
6510
7040
  ManagedRuleGroupConfigs?: ManagedRuleGroupConfig[];
6511
7041
  /**
7042
+ * @public
6512
7043
  * <p>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. </p>
6513
7044
  * <p>You can use overrides for testing, for example you can override all of rule actions to <code>Count</code> 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.</p>
6514
7045
  */
@@ -6520,6 +7051,7 @@ export interface ManagedRuleGroupStatement {
6520
7051
  */
6521
7052
  export interface NotStatement {
6522
7053
  /**
7054
+ * @public
6523
7055
  * <p>The statement to negate. You can use any statement that can be nested.</p>
6524
7056
  */
6525
7057
  Statement: Statement | undefined;
@@ -6595,6 +7127,7 @@ export interface NotStatement {
6595
7127
  */
6596
7128
  export interface RateBasedStatement {
6597
7129
  /**
7130
+ * @public
6598
7131
  * <p>The limit on requests per 5-minute period for a single aggregation instance for the rate-based rule.
6599
7132
  * If the rate-based statement includes a <code>ScopeDownStatement</code>, this limit is applied only to the
6600
7133
  * requests that match the statement.</p>
@@ -6611,6 +7144,7 @@ export interface RateBasedStatement {
6611
7144
  */
6612
7145
  Limit: number | undefined;
6613
7146
  /**
7147
+ * @public
6614
7148
  * <p>Setting that indicates how to aggregate the request counts. </p>
6615
7149
  * <note>
6616
7150
  * <p>Web requests that are missing any of the components specified in the aggregation keys
@@ -6648,6 +7182,7 @@ export interface RateBasedStatement {
6648
7182
  */
6649
7183
  AggregateKeyType: RateBasedStatementAggregateKeyType | string | undefined;
6650
7184
  /**
7185
+ * @public
6651
7186
  * <p>An optional nested statement that narrows the scope of the web requests that are
6652
7187
  * evaluated and managed by the rate-based statement. When you use a scope-down statement,
6653
7188
  * the rate-based rule only tracks and rate limits
@@ -6656,6 +7191,7 @@ export interface RateBasedStatement {
6656
7191
  */
6657
7192
  ScopeDownStatement?: Statement;
6658
7193
  /**
7194
+ * @public
6659
7195
  * <p>The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p>
6660
7196
  * <note>
6661
7197
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -6664,6 +7200,7 @@ export interface RateBasedStatement {
6664
7200
  */
6665
7201
  ForwardedIPConfig?: ForwardedIPConfig;
6666
7202
  /**
7203
+ * @public
6667
7204
  * <p>Specifies the aggregate keys to use in a rate-base rule. </p>
6668
7205
  */
6669
7206
  CustomKeys?: RateBasedStatementCustomKey[];
@@ -6676,11 +7213,13 @@ export interface RateBasedStatement {
6676
7213
  */
6677
7214
  export interface Rule {
6678
7215
  /**
7216
+ * @public
6679
7217
  * <p>The name of the rule. You can't change the name of a <code>Rule</code> after you create
6680
7218
  * it. </p>
6681
7219
  */
6682
7220
  Name: string | undefined;
6683
7221
  /**
7222
+ * @public
6684
7223
  * <p>If you define more than one <code>Rule</code> in a <code>WebACL</code>, WAF
6685
7224
  * evaluates each request against the <code>Rules</code> in order based on the value of
6686
7225
  * <code>Priority</code>. WAF processes rules with lower priority first. The priorities
@@ -6688,10 +7227,12 @@ export interface Rule {
6688
7227
  */
6689
7228
  Priority: number | undefined;
6690
7229
  /**
7230
+ * @public
6691
7231
  * <p>The WAF processing statement for the rule, for example <a>ByteMatchStatement</a> or <a>SizeConstraintStatement</a>. </p>
6692
7232
  */
6693
7233
  Statement: Statement | undefined;
6694
7234
  /**
7235
+ * @public
6695
7236
  * <p>The action that WAF should take on a web request when it matches the rule statement. Settings at the web ACL level can override the rule action setting. </p>
6696
7237
  * <p>This is used only for rules whose statements do not reference a rule group. Rule statements that reference a rule group include <code>RuleGroupReferenceStatement</code> and <code>ManagedRuleGroupStatement</code>. </p>
6697
7238
  * <p>You must specify either this <code>Action</code> setting or the rule <code>OverrideAction</code> setting, but not both:</p>
@@ -6706,6 +7247,7 @@ export interface Rule {
6706
7247
  */
6707
7248
  Action?: RuleAction;
6708
7249
  /**
7250
+ * @public
6709
7251
  * <p>The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only. </p>
6710
7252
  * <p>You can only use this for rule statements that reference a rule group, like <code>RuleGroupReferenceStatement</code> and <code>ManagedRuleGroupStatement</code>. </p>
6711
7253
  * <note>
@@ -6715,6 +7257,7 @@ export interface Rule {
6715
7257
  */
6716
7258
  OverrideAction?: OverrideAction;
6717
7259
  /**
7260
+ * @public
6718
7261
  * <p>Labels to apply to web requests that match the rule match statement. WAF applies
6719
7262
  * fully qualified labels to matching web requests. A fully qualified label is the
6720
7263
  * concatenation of a label namespace and a rule label. The rule's rule group or web ACL
@@ -6744,14 +7287,17 @@ export interface Rule {
6744
7287
  */
6745
7288
  RuleLabels?: Label[];
6746
7289
  /**
7290
+ * @public
6747
7291
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
6748
7292
  */
6749
7293
  VisibilityConfig: VisibilityConfig | undefined;
6750
7294
  /**
7295
+ * @public
6751
7296
  * <p>Specifies how WAF should handle <code>CAPTCHA</code> evaluations. If you don't specify this, WAF uses the <code>CAPTCHA</code> configuration that's defined for the web ACL. </p>
6752
7297
  */
6753
7298
  CaptchaConfig?: CaptchaConfig;
6754
7299
  /**
7300
+ * @public
6755
7301
  * <p>Specifies how WAF should handle <code>Challenge</code> evaluations. If you don't specify this, WAF uses the challenge configuration that's defined for the web ACL. </p>
6756
7302
  */
6757
7303
  ChallengeConfig?: ChallengeConfig;
@@ -6762,6 +7308,7 @@ export interface Rule {
6762
7308
  */
6763
7309
  export interface AndStatement {
6764
7310
  /**
7311
+ * @public
6765
7312
  * <p>The statements to combine with AND logic. You can use any statements that can be nested.
6766
7313
  * </p>
6767
7314
  */
@@ -6773,6 +7320,7 @@ export interface AndStatement {
6773
7320
  */
6774
7321
  export interface OrStatement {
6775
7322
  /**
7323
+ * @public
6776
7324
  * <p>The statements to combine with OR logic. You can use any statements that can be
6777
7325
  * nested.</p>
6778
7326
  */
@@ -6784,10 +7332,12 @@ export interface OrStatement {
6784
7332
  */
6785
7333
  export interface FirewallManagerStatement {
6786
7334
  /**
7335
+ * @public
6787
7336
  * <p>A statement used by Firewall Manager to run the rules that are defined in a managed rule group. This is managed by Firewall Manager for an Firewall Manager WAF policy.</p>
6788
7337
  */
6789
7338
  ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
6790
7339
  /**
7340
+ * @public
6791
7341
  * <p>A statement used by Firewall Manager to run the rules that are defined in a rule group. This is managed by Firewall Manager for an Firewall Manager WAF policy.</p>
6792
7342
  */
6793
7343
  RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
@@ -6798,10 +7348,12 @@ export interface FirewallManagerStatement {
6798
7348
  */
6799
7349
  export interface FirewallManagerRuleGroup {
6800
7350
  /**
7351
+ * @public
6801
7352
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
6802
7353
  */
6803
7354
  Name: string | undefined;
6804
7355
  /**
7356
+ * @public
6805
7357
  * <p>If you define more than one rule group in the first or last Firewall Manager rule groups, WAF
6806
7358
  * evaluates each request against the rule groups in order, starting from the lowest priority
6807
7359
  * setting. The priorities don't need to be consecutive, but they must all be
@@ -6809,10 +7361,12 @@ export interface FirewallManagerRuleGroup {
6809
7361
  */
6810
7362
  Priority: number | undefined;
6811
7363
  /**
7364
+ * @public
6812
7365
  * <p>The processing guidance for an Firewall Manager rule. This is like a regular rule <a>Statement</a>, but it can only contain a rule group reference.</p>
6813
7366
  */
6814
7367
  FirewallManagerStatement: FirewallManagerStatement | undefined;
6815
7368
  /**
7369
+ * @public
6816
7370
  * <p>The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only. </p>
6817
7371
  * <p>You can only use this for rule statements that reference a rule group, like <code>RuleGroupReferenceStatement</code> and <code>ManagedRuleGroupStatement</code>. </p>
6818
7372
  * <note>
@@ -6822,6 +7376,7 @@ export interface FirewallManagerRuleGroup {
6822
7376
  */
6823
7377
  OverrideAction: OverrideAction | undefined;
6824
7378
  /**
7379
+ * @public
6825
7380
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
6826
7381
  */
6827
7382
  VisibilityConfig: VisibilityConfig | undefined;
@@ -6831,6 +7386,7 @@ export interface FirewallManagerRuleGroup {
6831
7386
  */
6832
7387
  export interface CheckCapacityRequest {
6833
7388
  /**
7389
+ * @public
6834
7390
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6835
7391
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6836
7392
  * <ul>
@@ -6844,6 +7400,7 @@ export interface CheckCapacityRequest {
6844
7400
  */
6845
7401
  Scope: Scope | string | undefined;
6846
7402
  /**
7403
+ * @public
6847
7404
  * <p>An array of <a>Rule</a> that you're configuring to use in a rule group or web
6848
7405
  * ACL. </p>
6849
7406
  */
@@ -6854,10 +7411,12 @@ export interface CheckCapacityRequest {
6854
7411
  */
6855
7412
  export interface CreateRuleGroupRequest {
6856
7413
  /**
7414
+ * @public
6857
7415
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
6858
7416
  */
6859
7417
  Name: string | undefined;
6860
7418
  /**
7419
+ * @public
6861
7420
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6862
7421
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6863
7422
  * <ul>
@@ -6871,6 +7430,7 @@ export interface CreateRuleGroupRequest {
6871
7430
  */
6872
7431
  Scope: Scope | string | undefined;
6873
7432
  /**
7433
+ * @public
6874
7434
  * <p>The web ACL capacity units (WCUs) required for this rule group.</p>
6875
7435
  * <p>When you create your own rule group, you define this, and you cannot change it after creation.
6876
7436
  * When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity
@@ -6886,10 +7446,12 @@ export interface CreateRuleGroupRequest {
6886
7446
  */
6887
7447
  Capacity: number | undefined;
6888
7448
  /**
7449
+ * @public
6889
7450
  * <p>A description of the rule group that helps with identification. </p>
6890
7451
  */
6891
7452
  Description?: string;
6892
7453
  /**
7454
+ * @public
6893
7455
  * <p>The <a>Rule</a> statements used to identify the web requests that you
6894
7456
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
6895
7457
  * web requests, and parameters that govern how WAF handles them.
@@ -6897,14 +7459,17 @@ export interface CreateRuleGroupRequest {
6897
7459
  */
6898
7460
  Rules?: Rule[];
6899
7461
  /**
7462
+ * @public
6900
7463
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
6901
7464
  */
6902
7465
  VisibilityConfig: VisibilityConfig | undefined;
6903
7466
  /**
7467
+ * @public
6904
7468
  * <p>An array of key:value pairs to associate with the resource.</p>
6905
7469
  */
6906
7470
  Tags?: Tag[];
6907
7471
  /**
7472
+ * @public
6908
7473
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group. </p>
6909
7474
  * <p>For information about customizing web requests and responses,
6910
7475
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -6919,10 +7484,12 @@ export interface CreateRuleGroupRequest {
6919
7484
  */
6920
7485
  export interface CreateWebACLRequest {
6921
7486
  /**
7487
+ * @public
6922
7488
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
6923
7489
  */
6924
7490
  Name: string | undefined;
6925
7491
  /**
7492
+ * @public
6926
7493
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
6927
7494
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
6928
7495
  * <ul>
@@ -6936,14 +7503,17 @@ export interface CreateWebACLRequest {
6936
7503
  */
6937
7504
  Scope: Scope | string | undefined;
6938
7505
  /**
7506
+ * @public
6939
7507
  * <p>The action to perform if none of the <code>Rules</code> contained in the <code>WebACL</code> match. </p>
6940
7508
  */
6941
7509
  DefaultAction: DefaultAction | undefined;
6942
7510
  /**
7511
+ * @public
6943
7512
  * <p>A description of the web ACL that helps with identification. </p>
6944
7513
  */
6945
7514
  Description?: string;
6946
7515
  /**
7516
+ * @public
6947
7517
  * <p>The <a>Rule</a> statements used to identify the web requests that you
6948
7518
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
6949
7519
  * web requests, and parameters that govern how WAF handles them.
@@ -6951,14 +7521,17 @@ export interface CreateWebACLRequest {
6951
7521
  */
6952
7522
  Rules?: Rule[];
6953
7523
  /**
7524
+ * @public
6954
7525
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
6955
7526
  */
6956
7527
  VisibilityConfig: VisibilityConfig | undefined;
6957
7528
  /**
7529
+ * @public
6958
7530
  * <p>An array of key:value pairs to associate with the resource.</p>
6959
7531
  */
6960
7532
  Tags?: Tag[];
6961
7533
  /**
7534
+ * @public
6962
7535
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL. </p>
6963
7536
  * <p>For information about customizing web requests and responses,
6964
7537
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -6968,15 +7541,18 @@ export interface CreateWebACLRequest {
6968
7541
  */
6969
7542
  CustomResponseBodies?: Record<string, CustomResponseBody>;
6970
7543
  /**
7544
+ * @public
6971
7545
  * <p>Specifies how WAF should handle <code>CAPTCHA</code> evaluations for rules that don't have their own <code>CaptchaConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>CaptchaConfig</code>. </p>
6972
7546
  */
6973
7547
  CaptchaConfig?: CaptchaConfig;
6974
7548
  /**
7549
+ * @public
6975
7550
  * <p>Specifies how WAF should handle challenge evaluations for rules that don't have
6976
7551
  * their own <code>ChallengeConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>ChallengeConfig</code>. </p>
6977
7552
  */
6978
7553
  ChallengeConfig?: ChallengeConfig;
6979
7554
  /**
7555
+ * @public
6980
7556
  * <p>Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.</p>
6981
7557
  * <p>Example JSON: <code>"TokenDomains": \{ "mywebsite.com", "myotherwebsite.com" \}</code>
6982
7558
  * </p>
@@ -6984,6 +7560,7 @@ export interface CreateWebACLRequest {
6984
7560
  */
6985
7561
  TokenDomains?: string[];
6986
7562
  /**
7563
+ * @public
6987
7564
  * <p>Specifies custom configurations for the associations between the web ACL and protected resources. </p>
6988
7565
  * <p>Use this to customize the maximum size of the request body that your protected CloudFront distributions forward to WAF for inspection. The default is 16 KB (16,384 kilobytes). </p>
6989
7566
  * <note>
@@ -6998,14 +7575,17 @@ export interface CreateWebACLRequest {
6998
7575
  */
6999
7576
  export interface RuleGroup {
7000
7577
  /**
7578
+ * @public
7001
7579
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
7002
7580
  */
7003
7581
  Name: string | undefined;
7004
7582
  /**
7583
+ * @public
7005
7584
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
7006
7585
  */
7007
7586
  Id: string | undefined;
7008
7587
  /**
7588
+ * @public
7009
7589
  * <p>The web ACL capacity units (WCUs) required for this rule group.</p>
7010
7590
  * <p>When you create your own rule group, you define this, and you cannot change it after creation.
7011
7591
  * When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity
@@ -7021,14 +7601,17 @@ export interface RuleGroup {
7021
7601
  */
7022
7602
  Capacity: number | undefined;
7023
7603
  /**
7604
+ * @public
7024
7605
  * <p>The Amazon Resource Name (ARN) of the entity.</p>
7025
7606
  */
7026
7607
  ARN: string | undefined;
7027
7608
  /**
7609
+ * @public
7028
7610
  * <p>A description of the rule group that helps with identification. </p>
7029
7611
  */
7030
7612
  Description?: string;
7031
7613
  /**
7614
+ * @public
7032
7615
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7033
7616
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7034
7617
  * web requests, and parameters that govern how WAF handles them.
@@ -7036,10 +7619,12 @@ export interface RuleGroup {
7036
7619
  */
7037
7620
  Rules?: Rule[];
7038
7621
  /**
7622
+ * @public
7039
7623
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
7040
7624
  */
7041
7625
  VisibilityConfig: VisibilityConfig | undefined;
7042
7626
  /**
7627
+ * @public
7043
7628
  * <p>The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix. </p>
7044
7629
  * <ul>
7045
7630
  * <li>
@@ -7058,6 +7643,7 @@ export interface RuleGroup {
7058
7643
  */
7059
7644
  LabelNamespace?: string;
7060
7645
  /**
7646
+ * @public
7061
7647
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group. </p>
7062
7648
  * <p>For information about customizing web requests and responses,
7063
7649
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -7067,10 +7653,12 @@ export interface RuleGroup {
7067
7653
  */
7068
7654
  CustomResponseBodies?: Record<string, CustomResponseBody>;
7069
7655
  /**
7656
+ * @public
7070
7657
  * <p>The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the <code>RuleLabels</code> for a <a>Rule</a>.</p>
7071
7658
  */
7072
7659
  AvailableLabels?: LabelSummary[];
7073
7660
  /**
7661
+ * @public
7074
7662
  * <p>The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a <code>LabelMatchStatement</code> specification, in the <a>Statement</a> definition of a rule. </p>
7075
7663
  */
7076
7664
  ConsumedLabels?: LabelSummary[];
@@ -7080,10 +7668,12 @@ export interface RuleGroup {
7080
7668
  */
7081
7669
  export interface UpdateRuleGroupRequest {
7082
7670
  /**
7671
+ * @public
7083
7672
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
7084
7673
  */
7085
7674
  Name: string | undefined;
7086
7675
  /**
7676
+ * @public
7087
7677
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
7088
7678
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
7089
7679
  * <ul>
@@ -7097,14 +7687,17 @@ export interface UpdateRuleGroupRequest {
7097
7687
  */
7098
7688
  Scope: Scope | string | undefined;
7099
7689
  /**
7690
+ * @public
7100
7691
  * <p>A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
7101
7692
  */
7102
7693
  Id: string | undefined;
7103
7694
  /**
7695
+ * @public
7104
7696
  * <p>A description of the rule group that helps with identification. </p>
7105
7697
  */
7106
7698
  Description?: string;
7107
7699
  /**
7700
+ * @public
7108
7701
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7109
7702
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7110
7703
  * web requests, and parameters that govern how WAF handles them.
@@ -7112,14 +7705,17 @@ export interface UpdateRuleGroupRequest {
7112
7705
  */
7113
7706
  Rules?: Rule[];
7114
7707
  /**
7708
+ * @public
7115
7709
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
7116
7710
  */
7117
7711
  VisibilityConfig: VisibilityConfig | undefined;
7118
7712
  /**
7713
+ * @public
7119
7714
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
7120
7715
  */
7121
7716
  LockToken: string | undefined;
7122
7717
  /**
7718
+ * @public
7123
7719
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group. </p>
7124
7720
  * <p>For information about customizing web requests and responses,
7125
7721
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -7134,10 +7730,12 @@ export interface UpdateRuleGroupRequest {
7134
7730
  */
7135
7731
  export interface UpdateWebACLRequest {
7136
7732
  /**
7733
+ * @public
7137
7734
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
7138
7735
  */
7139
7736
  Name: string | undefined;
7140
7737
  /**
7738
+ * @public
7141
7739
  * <p>Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
7142
7740
  * <p>To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows: </p>
7143
7741
  * <ul>
@@ -7151,18 +7749,22 @@ export interface UpdateWebACLRequest {
7151
7749
  */
7152
7750
  Scope: Scope | string | undefined;
7153
7751
  /**
7752
+ * @public
7154
7753
  * <p>The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.</p>
7155
7754
  */
7156
7755
  Id: string | undefined;
7157
7756
  /**
7757
+ * @public
7158
7758
  * <p>The action to perform if none of the <code>Rules</code> contained in the <code>WebACL</code> match. </p>
7159
7759
  */
7160
7760
  DefaultAction: DefaultAction | undefined;
7161
7761
  /**
7762
+ * @public
7162
7763
  * <p>A description of the web ACL that helps with identification. </p>
7163
7764
  */
7164
7765
  Description?: string;
7165
7766
  /**
7767
+ * @public
7166
7768
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7167
7769
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7168
7770
  * web requests, and parameters that govern how WAF handles them.
@@ -7170,14 +7772,17 @@ export interface UpdateWebACLRequest {
7170
7772
  */
7171
7773
  Rules?: Rule[];
7172
7774
  /**
7775
+ * @public
7173
7776
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
7174
7777
  */
7175
7778
  VisibilityConfig: VisibilityConfig | undefined;
7176
7779
  /**
7780
+ * @public
7177
7781
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
7178
7782
  */
7179
7783
  LockToken: string | undefined;
7180
7784
  /**
7785
+ * @public
7181
7786
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL. </p>
7182
7787
  * <p>For information about customizing web requests and responses,
7183
7788
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -7187,15 +7792,18 @@ export interface UpdateWebACLRequest {
7187
7792
  */
7188
7793
  CustomResponseBodies?: Record<string, CustomResponseBody>;
7189
7794
  /**
7795
+ * @public
7190
7796
  * <p>Specifies how WAF should handle <code>CAPTCHA</code> evaluations for rules that don't have their own <code>CaptchaConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>CaptchaConfig</code>. </p>
7191
7797
  */
7192
7798
  CaptchaConfig?: CaptchaConfig;
7193
7799
  /**
7800
+ * @public
7194
7801
  * <p>Specifies how WAF should handle challenge evaluations for rules that don't have
7195
7802
  * their own <code>ChallengeConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>ChallengeConfig</code>. </p>
7196
7803
  */
7197
7804
  ChallengeConfig?: ChallengeConfig;
7198
7805
  /**
7806
+ * @public
7199
7807
  * <p>Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.</p>
7200
7808
  * <p>Example JSON: <code>"TokenDomains": \{ "mywebsite.com", "myotherwebsite.com" \}</code>
7201
7809
  * </p>
@@ -7203,6 +7811,7 @@ export interface UpdateWebACLRequest {
7203
7811
  */
7204
7812
  TokenDomains?: string[];
7205
7813
  /**
7814
+ * @public
7206
7815
  * <p>Specifies custom configurations for the associations between the web ACL and protected resources. </p>
7207
7816
  * <p>Use this to customize the maximum size of the request body that your protected CloudFront distributions forward to WAF for inspection. The default is 16 KB (16,384 kilobytes). </p>
7208
7817
  * <note>
@@ -7216,10 +7825,12 @@ export interface UpdateWebACLRequest {
7216
7825
  */
7217
7826
  export interface GetRuleGroupResponse {
7218
7827
  /**
7828
+ * @public
7219
7829
  * <p></p>
7220
7830
  */
7221
7831
  RuleGroup?: RuleGroup;
7222
7832
  /**
7833
+ * @public
7223
7834
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
7224
7835
  */
7225
7836
  LockToken?: string;
@@ -7230,29 +7841,35 @@ export interface GetRuleGroupResponse {
7230
7841
  */
7231
7842
  export interface WebACL {
7232
7843
  /**
7844
+ * @public
7233
7845
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
7234
7846
  */
7235
7847
  Name: string | undefined;
7236
7848
  /**
7849
+ * @public
7237
7850
  * <p>A unique identifier for the <code>WebACL</code>. This ID is returned in the responses to
7238
7851
  * create and list commands. You use this ID to do things like get, update, and delete a
7239
7852
  * <code>WebACL</code>.</p>
7240
7853
  */
7241
7854
  Id: string | undefined;
7242
7855
  /**
7856
+ * @public
7243
7857
  * <p>The Amazon Resource Name (ARN) of the web ACL that you want to associate with the
7244
7858
  * resource.</p>
7245
7859
  */
7246
7860
  ARN: string | undefined;
7247
7861
  /**
7862
+ * @public
7248
7863
  * <p>The action to perform if none of the <code>Rules</code> contained in the <code>WebACL</code> match. </p>
7249
7864
  */
7250
7865
  DefaultAction: DefaultAction | undefined;
7251
7866
  /**
7867
+ * @public
7252
7868
  * <p>A description of the web ACL that helps with identification. </p>
7253
7869
  */
7254
7870
  Description?: string;
7255
7871
  /**
7872
+ * @public
7256
7873
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7257
7874
  * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7258
7875
  * web requests, and parameters that govern how WAF handles them.
@@ -7260,10 +7877,12 @@ export interface WebACL {
7260
7877
  */
7261
7878
  Rules?: Rule[];
7262
7879
  /**
7880
+ * @public
7263
7881
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
7264
7882
  */
7265
7883
  VisibilityConfig: VisibilityConfig | undefined;
7266
7884
  /**
7885
+ * @public
7267
7886
  * <p>The web ACL capacity units (WCUs) currently being used by this web ACL. </p>
7268
7887
  * <p>WAF uses WCUs to calculate and control the operating
7269
7888
  * resources that are used to run your rules, rule groups, and web ACLs. WAF
@@ -7276,6 +7895,7 @@ export interface WebACL {
7276
7895
  */
7277
7896
  Capacity?: number;
7278
7897
  /**
7898
+ * @public
7279
7899
  * <p>The first set of rules for WAF to process in the web ACL. This is defined in an
7280
7900
  * Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any
7281
7901
  * rules and rule groups that you define for the web ACL are prioritized after these. </p>
@@ -7286,6 +7906,7 @@ export interface WebACL {
7286
7906
  */
7287
7907
  PreProcessFirewallManagerRuleGroups?: FirewallManagerRuleGroup[];
7288
7908
  /**
7909
+ * @public
7289
7910
  * <p>The last set of rules for WAF to process in the web ACL. This is defined in an
7290
7911
  * Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any
7291
7912
  * rules and rule groups that you define for the web ACL are prioritized before these. </p>
@@ -7296,11 +7917,13 @@ export interface WebACL {
7296
7917
  */
7297
7918
  PostProcessFirewallManagerRuleGroups?: FirewallManagerRuleGroup[];
7298
7919
  /**
7920
+ * @public
7299
7921
  * <p>Indicates whether this web ACL is managed by Firewall Manager. If true, then only Firewall Manager can
7300
7922
  * delete the web ACL or any Firewall Manager rule groups in the web ACL. </p>
7301
7923
  */
7302
7924
  ManagedByFirewallManager?: boolean;
7303
7925
  /**
7926
+ * @public
7304
7927
  * <p>The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix. </p>
7305
7928
  * <ul>
7306
7929
  * <li>
@@ -7319,6 +7942,7 @@ export interface WebACL {
7319
7942
  */
7320
7943
  LabelNamespace?: string;
7321
7944
  /**
7945
+ * @public
7322
7946
  * <p>A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL. </p>
7323
7947
  * <p>For information about customizing web requests and responses,
7324
7948
  * see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a>
@@ -7328,19 +7952,23 @@ export interface WebACL {
7328
7952
  */
7329
7953
  CustomResponseBodies?: Record<string, CustomResponseBody>;
7330
7954
  /**
7955
+ * @public
7331
7956
  * <p>Specifies how WAF should handle <code>CAPTCHA</code> evaluations for rules that don't have their own <code>CaptchaConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>CaptchaConfig</code>. </p>
7332
7957
  */
7333
7958
  CaptchaConfig?: CaptchaConfig;
7334
7959
  /**
7960
+ * @public
7335
7961
  * <p>Specifies how WAF should handle challenge evaluations for rules that don't have
7336
7962
  * their own <code>ChallengeConfig</code> settings. If you don't specify this, WAF uses its default settings for <code>ChallengeConfig</code>. </p>
7337
7963
  */
7338
7964
  ChallengeConfig?: ChallengeConfig;
7339
7965
  /**
7966
+ * @public
7340
7967
  * <p>Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.</p>
7341
7968
  */
7342
7969
  TokenDomains?: string[];
7343
7970
  /**
7971
+ * @public
7344
7972
  * <p>Specifies custom configurations for the associations between the web ACL and protected resources. </p>
7345
7973
  * <p>Use this to customize the maximum size of the request body that your protected CloudFront distributions forward to WAF for inspection. The default is 16 KB (16,384 kilobytes). </p>
7346
7974
  * <note>
@@ -7354,6 +7982,7 @@ export interface WebACL {
7354
7982
  */
7355
7983
  export interface GetWebACLForResourceResponse {
7356
7984
  /**
7985
+ * @public
7357
7986
  * <p>The web ACL that is associated with the resource. If there is no associated resource,
7358
7987
  * WAF returns a null web ACL.</p>
7359
7988
  */
@@ -7364,15 +7993,18 @@ export interface GetWebACLForResourceResponse {
7364
7993
  */
7365
7994
  export interface GetWebACLResponse {
7366
7995
  /**
7996
+ * @public
7367
7997
  * <p>The web ACL specification. You can modify the settings in this web ACL and use it to
7368
7998
  * update this web ACL or create a new one.</p>
7369
7999
  */
7370
8000
  WebACL?: WebACL;
7371
8001
  /**
8002
+ * @public
7372
8003
  * <p>A token used for optimistic locking. WAF returns a token to your <code>get</code> and <code>list</code> requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like <code>update</code> and <code>delete</code>. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a <code>WAFOptimisticLockException</code>. If this happens, perform another <code>get</code>, and use the new token returned by that operation. </p>
7373
8004
  */
7374
8005
  LockToken?: string;
7375
8006
  /**
8007
+ * @public
7376
8008
  * <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>
7377
8009
  * in the <i>WAF Developer Guide</i>.</p>
7378
8010
  */