@aws-sdk/client-wafv2 3.295.0 → 3.297.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.
Files changed (53) hide show
  1. package/dist-types/WAFV2.d.ts +49 -0
  2. package/dist-types/WAFV2Client.d.ts +24 -4
  3. package/dist-types/commands/AssociateWebACLCommand.d.ts +16 -0
  4. package/dist-types/commands/CheckCapacityCommand.d.ts +16 -0
  5. package/dist-types/commands/CreateIPSetCommand.d.ts +16 -0
  6. package/dist-types/commands/CreateRegexPatternSetCommand.d.ts +16 -0
  7. package/dist-types/commands/CreateRuleGroupCommand.d.ts +16 -0
  8. package/dist-types/commands/CreateWebACLCommand.d.ts +16 -0
  9. package/dist-types/commands/DeleteFirewallManagerRuleGroupsCommand.d.ts +16 -0
  10. package/dist-types/commands/DeleteIPSetCommand.d.ts +16 -0
  11. package/dist-types/commands/DeleteLoggingConfigurationCommand.d.ts +16 -0
  12. package/dist-types/commands/DeletePermissionPolicyCommand.d.ts +16 -0
  13. package/dist-types/commands/DeleteRegexPatternSetCommand.d.ts +16 -0
  14. package/dist-types/commands/DeleteRuleGroupCommand.d.ts +16 -0
  15. package/dist-types/commands/DeleteWebACLCommand.d.ts +16 -0
  16. package/dist-types/commands/DescribeManagedRuleGroupCommand.d.ts +16 -0
  17. package/dist-types/commands/DisassociateWebACLCommand.d.ts +16 -0
  18. package/dist-types/commands/GenerateMobileSdkReleaseUrlCommand.d.ts +16 -0
  19. package/dist-types/commands/GetIPSetCommand.d.ts +16 -0
  20. package/dist-types/commands/GetLoggingConfigurationCommand.d.ts +16 -0
  21. package/dist-types/commands/GetManagedRuleSetCommand.d.ts +16 -0
  22. package/dist-types/commands/GetMobileSdkReleaseCommand.d.ts +16 -0
  23. package/dist-types/commands/GetPermissionPolicyCommand.d.ts +16 -0
  24. package/dist-types/commands/GetRateBasedStatementManagedKeysCommand.d.ts +16 -0
  25. package/dist-types/commands/GetRegexPatternSetCommand.d.ts +16 -0
  26. package/dist-types/commands/GetRuleGroupCommand.d.ts +16 -0
  27. package/dist-types/commands/GetSampledRequestsCommand.d.ts +16 -0
  28. package/dist-types/commands/GetWebACLCommand.d.ts +16 -0
  29. package/dist-types/commands/GetWebACLForResourceCommand.d.ts +16 -0
  30. package/dist-types/commands/ListAvailableManagedRuleGroupVersionsCommand.d.ts +16 -0
  31. package/dist-types/commands/ListAvailableManagedRuleGroupsCommand.d.ts +16 -0
  32. package/dist-types/commands/ListIPSetsCommand.d.ts +16 -0
  33. package/dist-types/commands/ListLoggingConfigurationsCommand.d.ts +16 -0
  34. package/dist-types/commands/ListManagedRuleSetsCommand.d.ts +16 -0
  35. package/dist-types/commands/ListMobileSdkReleasesCommand.d.ts +16 -0
  36. package/dist-types/commands/ListRegexPatternSetsCommand.d.ts +16 -0
  37. package/dist-types/commands/ListResourcesForWebACLCommand.d.ts +16 -0
  38. package/dist-types/commands/ListRuleGroupsCommand.d.ts +16 -0
  39. package/dist-types/commands/ListTagsForResourceCommand.d.ts +16 -0
  40. package/dist-types/commands/ListWebACLsCommand.d.ts +16 -0
  41. package/dist-types/commands/PutLoggingConfigurationCommand.d.ts +16 -0
  42. package/dist-types/commands/PutManagedRuleSetVersionsCommand.d.ts +16 -0
  43. package/dist-types/commands/PutPermissionPolicyCommand.d.ts +16 -0
  44. package/dist-types/commands/TagResourceCommand.d.ts +16 -0
  45. package/dist-types/commands/UntagResourceCommand.d.ts +16 -0
  46. package/dist-types/commands/UpdateIPSetCommand.d.ts +16 -0
  47. package/dist-types/commands/UpdateManagedRuleSetVersionExpiryDateCommand.d.ts +16 -0
  48. package/dist-types/commands/UpdateRegexPatternSetCommand.d.ts +16 -0
  49. package/dist-types/commands/UpdateRuleGroupCommand.d.ts +16 -0
  50. package/dist-types/commands/UpdateWebACLCommand.d.ts +16 -0
  51. package/dist-types/models/WAFV2ServiceException.d.ts +2 -0
  52. package/dist-types/models/models_0.d.ts +512 -29
  53. package/package.json +29 -29
@@ -1,5 +1,8 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@aws-sdk/smithy-client";
2
2
  import { WAFV2ServiceException as __BaseException } from "./WAFV2ServiceException";
3
+ /**
4
+ * @public
5
+ */
3
6
  export declare enum ActionValue {
4
7
  ALLOW = "ALLOW",
5
8
  BLOCK = "BLOCK",
@@ -9,6 +12,7 @@ export declare enum ActionValue {
9
12
  EXCLUDED_AS_COUNT = "EXCLUDED_AS_COUNT"
10
13
  }
11
14
  /**
15
+ * @public
12
16
  * <p>A single action condition for a <a>Condition</a> in a logging filter.</p>
13
17
  */
14
18
  export interface ActionCondition {
@@ -21,15 +25,17 @@ export interface ActionCondition {
21
25
  Action: ActionValue | string | undefined;
22
26
  }
23
27
  /**
28
+ * @public
24
29
  * <p>Inspect all of the elements that WAF has parsed and extracted from the web request
25
30
  * component that you've identified in your <a>FieldToMatch</a> specifications. </p>
26
31
  * <p>This is used only in the <a>FieldToMatch</a> specification for some web request component types. </p>
27
- * <p>JSON specification: <code>"All": {}</code>
32
+ * <p>JSON specification: <code>"All": \{\}</code>
28
33
  * </p>
29
34
  */
30
35
  export interface All {
31
36
  }
32
37
  /**
38
+ * @public
33
39
  * <p>A custom header for custom request and response handling. This is used in <a>CustomResponse</a> and <a>CustomRequestHandling</a>.</p>
34
40
  */
35
41
  export interface CustomHTTPHeader {
@@ -47,6 +53,7 @@ export interface CustomHTTPHeader {
47
53
  Value: string | undefined;
48
54
  }
49
55
  /**
56
+ * @public
50
57
  * <p>Custom request handling behavior that inserts custom headers into a web request. You can
51
58
  * add custom request handling for WAF to use when the rule action doesn't block the request.
52
59
  * For example, <code>CaptchaAction</code> for requests with valid t okens, and <code>AllowAction</code>. </p>
@@ -62,6 +69,7 @@ export interface CustomRequestHandling {
62
69
  InsertHeaders: CustomHTTPHeader[] | undefined;
63
70
  }
64
71
  /**
72
+ * @public
65
73
  * <p>Specifies that WAF should allow the request and optionally defines additional
66
74
  * custom handling for the request.</p>
67
75
  * <p>This is used in the context of other settings, for example to specify values for <a>RuleAction</a> and web ACL <a>DefaultAction</a>. </p>
@@ -75,19 +83,24 @@ export interface AllowAction {
75
83
  CustomRequestHandling?: CustomRequestHandling;
76
84
  }
77
85
  /**
86
+ * @public
78
87
  * <p>Inspect all query arguments of the web request. </p>
79
88
  * <p>This is used only in the <a>FieldToMatch</a> specification for some web request component types. </p>
80
- * <p>JSON specification: <code>"AllQueryArguments": {}</code>
89
+ * <p>JSON specification: <code>"AllQueryArguments": \{\}</code>
81
90
  * </p>
82
91
  */
83
92
  export interface AllQueryArguments {
84
93
  }
94
+ /**
95
+ * @public
96
+ */
85
97
  export declare enum OversizeHandling {
86
98
  CONTINUE = "CONTINUE",
87
99
  MATCH = "MATCH",
88
100
  NO_MATCH = "NO_MATCH"
89
101
  }
90
102
  /**
103
+ * @public
91
104
  * <p>Inspect the body of the web request. The body immediately follows the request
92
105
  * headers.</p>
93
106
  * <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
@@ -123,9 +136,10 @@ export interface Body {
123
136
  OversizeHandling?: OversizeHandling | string;
124
137
  }
125
138
  /**
139
+ * @public
126
140
  * <p>The filter to use to identify the subset of cookies to inspect in a web request. </p>
127
141
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedCookies</code>, or <code>ExcludedCookies</code>.</p>
128
- * <p>Example JSON: <code>"MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }</code>
142
+ * <p>Example JSON: <code>"MatchPattern": \{ "IncludedCookies": \{"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"\} \}</code>
129
143
  * </p>
130
144
  */
131
145
  export interface CookieMatchPattern {
@@ -144,25 +158,29 @@ export interface CookieMatchPattern {
144
158
  */
145
159
  ExcludedCookies?: string[];
146
160
  }
161
+ /**
162
+ * @public
163
+ */
147
164
  export declare enum MapMatchScope {
148
165
  ALL = "ALL",
149
166
  KEY = "KEY",
150
167
  VALUE = "VALUE"
151
168
  }
152
169
  /**
170
+ * @public
153
171
  * <p>Inspect the cookies in the web request. You can specify the parts of the cookies to
154
172
  * inspect and you can narrow the set of cookies to inspect by including or excluding specific
155
173
  * keys.</p>
156
174
  * <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
157
- * <p>Example JSON: <code>"Cookies": { "MatchPattern": { "All": {} }, "MatchScope": "KEY",
158
- * "OversizeHandling": "MATCH" }</code>
175
+ * <p>Example JSON: <code>"Cookies": \{ "MatchPattern": \{ "All": \{\} \}, "MatchScope": "KEY",
176
+ * "OversizeHandling": "MATCH" \}</code>
159
177
  * </p>
160
178
  */
161
179
  export interface Cookies {
162
180
  /**
163
181
  * <p>The filter to use to identify the subset of cookies to inspect in a web request. </p>
164
182
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedCookies</code>, or <code>ExcludedCookies</code>.</p>
165
- * <p>Example JSON: <code>"MatchPattern": { "IncludedCookies": {"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"} }</code>
183
+ * <p>Example JSON: <code>"MatchPattern": \{ "IncludedCookies": \{"KeyToInclude1", "KeyToInclude2", "KeyToInclude3"\} \}</code>
166
184
  * </p>
167
185
  */
168
186
  MatchPattern: CookieMatchPattern | undefined;
@@ -197,9 +215,10 @@ export interface Cookies {
197
215
  OversizeHandling: OversizeHandling | string | undefined;
198
216
  }
199
217
  /**
218
+ * @public
200
219
  * <p>The filter to use to identify the subset of headers to inspect in a web request. </p>
201
220
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedHeaders</code>, or <code>ExcludedHeaders</code>.</p>
202
- * <p>Example JSON: <code>"MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }</code>
221
+ * <p>Example JSON: <code>"MatchPattern": \{ "ExcludedHeaders": \{"KeyToExclude1", "KeyToExclude2"\} \}</code>
203
222
  * </p>
204
223
  */
205
224
  export interface HeaderMatchPattern {
@@ -219,6 +238,7 @@ export interface HeaderMatchPattern {
219
238
  ExcludedHeaders?: string[];
220
239
  }
221
240
  /**
241
+ * @public
222
242
  * <p>Inspect all headers in the web request. You can specify the parts of the headers to
223
243
  * inspect and you can narrow the set of headers to inspect by including or excluding specific
224
244
  * keys.</p>
@@ -226,15 +246,15 @@ export interface HeaderMatchPattern {
226
246
  * <p>If you want to inspect just the value of a single header, use the
227
247
  * <code>SingleHeader</code>
228
248
  * <code>FieldToMatch</code> setting instead.</p>
229
- * <p>Example JSON: <code>"Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY",
230
- * "OversizeHandling": "MATCH" }</code>
249
+ * <p>Example JSON: <code>"Headers": \{ "MatchPattern": \{ "All": \{\} \}, "MatchScope": "KEY",
250
+ * "OversizeHandling": "MATCH" \}</code>
231
251
  * </p>
232
252
  */
233
253
  export interface Headers {
234
254
  /**
235
255
  * <p>The filter to use to identify the subset of headers to inspect in a web request. </p>
236
256
  * <p>You must specify exactly one setting: either <code>All</code>, <code>IncludedHeaders</code>, or <code>ExcludedHeaders</code>.</p>
237
- * <p>Example JSON: <code>"MatchPattern": { "ExcludedHeaders": {"KeyToExclude1", "KeyToExclude2"} }</code>
257
+ * <p>Example JSON: <code>"MatchPattern": \{ "ExcludedHeaders": \{"KeyToExclude1", "KeyToExclude2"\} \}</code>
238
258
  * </p>
239
259
  */
240
260
  MatchPattern: HeaderMatchPattern | undefined;
@@ -268,12 +288,16 @@ export interface Headers {
268
288
  */
269
289
  OversizeHandling: OversizeHandling | string | undefined;
270
290
  }
291
+ /**
292
+ * @public
293
+ */
271
294
  export declare enum BodyParsingFallbackBehavior {
272
295
  EVALUATE_AS_STRING = "EVALUATE_AS_STRING",
273
296
  MATCH = "MATCH",
274
297
  NO_MATCH = "NO_MATCH"
275
298
  }
276
299
  /**
300
+ * @public
277
301
  * <p>The patterns to look for in the JSON body. WAF inspects the results of these
278
302
  * pattern matches against the rule inspection criteria. This is used with the <a>FieldToMatch</a> option <code>JsonBody</code>. </p>
279
303
  */
@@ -303,12 +327,16 @@ export interface JsonMatchPattern {
303
327
  */
304
328
  IncludedPaths?: string[];
305
329
  }
330
+ /**
331
+ * @public
332
+ */
306
333
  export declare enum JsonMatchScope {
307
334
  ALL = "ALL",
308
335
  KEY = "KEY",
309
336
  VALUE = "VALUE"
310
337
  }
311
338
  /**
339
+ * @public
312
340
  * <p>Inspect the body of the web request as JSON. The body immediately follows the request
313
341
  * headers. </p>
314
342
  * <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
@@ -316,8 +344,8 @@ export declare enum JsonMatchScope {
316
344
  * inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON
317
345
  * that result from the matches that you indicate.
318
346
  * </p>
319
- * <p>Example JSON: <code>"JsonBody": { "MatchPattern": { "All": {} }, "MatchScope": "ALL"
320
- * }</code>
347
+ * <p>Example JSON: <code>"JsonBody": \{ "MatchPattern": \{ "All": \{\} \}, "MatchScope": "ALL"
348
+ * \}</code>
321
349
  * </p>
322
350
  */
323
351
  export interface JsonBody {
@@ -360,15 +388,15 @@ export interface JsonBody {
360
388
  * <p>WAF parses the JSON in the following examples as two valid key, value pairs: </p>
361
389
  * <ul>
362
390
  * <li>
363
- * <p>Missing comma: <code>{"key1":"value1""key2":"value2"}</code>
391
+ * <p>Missing comma: <code>\{"key1":"value1""key2":"value2"\}</code>
364
392
  * </p>
365
393
  * </li>
366
394
  * <li>
367
- * <p>Missing colon: <code>{"key1":"value1","key2""value2"}</code>
395
+ * <p>Missing colon: <code>\{"key1":"value1","key2""value2"\}</code>
368
396
  * </p>
369
397
  * </li>
370
398
  * <li>
371
- * <p>Extra colons: <code>{"key1"::"value1","key2""value2"}</code>
399
+ * <p>Extra colons: <code>\{"key1"::"value1","key2""value2"\}</code>
372
400
  * </p>
373
401
  * </li>
374
402
  * </ul>
@@ -404,30 +432,33 @@ export interface JsonBody {
404
432
  OversizeHandling?: OversizeHandling | string;
405
433
  }
406
434
  /**
435
+ * @public
407
436
  * <p>Inspect the HTTP method of the web request. The method indicates the type of operation
408
437
  * that the request is asking the origin to perform. </p>
409
438
  * <p>This is used only in the <a>FieldToMatch</a> specification for some web request component types. </p>
410
- * <p>JSON specification: <code>"Method": {}</code>
439
+ * <p>JSON specification: <code>"Method": \{\}</code>
411
440
  * </p>
412
441
  */
413
442
  export interface Method {
414
443
  }
415
444
  /**
445
+ * @public
416
446
  * <p>Inspect the query string of the web request. This is the part of a URL that appears
417
447
  * after a <code>?</code> character, if any.</p>
418
448
  * <p>This is used only in the <a>FieldToMatch</a> specification for some web request component types. </p>
419
- * <p>JSON specification: <code>"QueryString": {}</code>
449
+ * <p>JSON specification: <code>"QueryString": \{\}</code>
420
450
  * </p>
421
451
  */
422
452
  export interface QueryString {
423
453
  }
424
454
  /**
455
+ * @public
425
456
  * <p>Inspect one of the headers in the web request, identified by name, for example,
426
457
  * <code>User-Agent</code> or <code>Referer</code>. The name isn't case sensitive.</p>
427
458
  * <p>You can filter and inspect all headers with the <code>FieldToMatch</code> setting
428
459
  * <code>Headers</code>.</p>
429
460
  * <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
430
- * <p>Example JSON: <code>"SingleHeader": { "Name": "haystack" }</code>
461
+ * <p>Example JSON: <code>"SingleHeader": \{ "Name": "haystack" \}</code>
431
462
  * </p>
432
463
  */
433
464
  export interface SingleHeader {
@@ -437,11 +468,12 @@ export interface SingleHeader {
437
468
  Name: string | undefined;
438
469
  }
439
470
  /**
471
+ * @public
440
472
  * <p>Inspect one query argument in the web request, identified by name, for example
441
473
  * <i>UserName</i> or <i>SalesRegion</i>. The name isn't case
442
474
  * sensitive. </p>
443
475
  * <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p>
444
- * <p>Example JSON: <code>"SingleQueryArgument": { "Name": "myArgument" }</code>
476
+ * <p>Example JSON: <code>"SingleQueryArgument": \{ "Name": "myArgument" \}</code>
445
477
  * </p>
446
478
  */
447
479
  export interface SingleQueryArgument {
@@ -451,15 +483,17 @@ export interface SingleQueryArgument {
451
483
  Name: string | undefined;
452
484
  }
453
485
  /**
486
+ * @public
454
487
  * <p>Inspect the path component of the URI of the web request. This is the part of the web
455
488
  * request that identifies a resource. For example, <code>/images/daily-ad.jpg</code>.</p>
456
489
  * <p>This is used only in the <a>FieldToMatch</a> specification for some web request component types. </p>
457
- * <p>JSON specification: <code>"UriPath": {}</code>
490
+ * <p>JSON specification: <code>"UriPath": \{\}</code>
458
491
  * </p>
459
492
  */
460
493
  export interface UriPath {
461
494
  }
462
495
  /**
496
+ * @public
463
497
  * <p>The part of the web request that you want WAF to inspect. Include the single
464
498
  * <code>FieldToMatch</code> type that you want to inspect, with additional specifications
465
499
  * as needed, according to the type. You specify a single request component in
@@ -468,11 +502,11 @@ export interface UriPath {
468
502
  * component.</p>
469
503
  * <p>Example JSON for a <code>QueryString</code> field to match: </p>
470
504
  * <p>
471
- * <code> "FieldToMatch": { "QueryString": {} }</code>
505
+ * <code> "FieldToMatch": \{ "QueryString": \{\} \}</code>
472
506
  * </p>
473
507
  * <p>Example JSON for a <code>Method</code> field to match specification:</p>
474
508
  * <p>
475
- * <code> "FieldToMatch": { "Method": { "Name": "DELETE" } }</code>
509
+ * <code> "FieldToMatch": \{ "Method": \{ "Name": "DELETE" \} \}</code>
476
510
  * </p>
477
511
  */
478
512
  export interface FieldToMatch {
@@ -480,7 +514,7 @@ export interface FieldToMatch {
480
514
  * <p>Inspect a single header. Provide the name of the header to inspect, for example,
481
515
  * <code>User-Agent</code> or <code>Referer</code>. This setting isn't case
482
516
  * sensitive.</p>
483
- * <p>Example JSON: <code>"SingleHeader": { "Name": "haystack" }</code>
517
+ * <p>Example JSON: <code>"SingleHeader": \{ "Name": "haystack" \}</code>
484
518
  * </p>
485
519
  * <p>Alternately, you can filter and inspect all headers with the <code>Headers</code>
486
520
  * <code>FieldToMatch</code> setting. </p>
@@ -490,7 +524,7 @@ export interface FieldToMatch {
490
524
  * <p>Inspect a single query argument. Provide the name of the query argument to inspect, such
491
525
  * as <i>UserName</i> or <i>SalesRegion</i>. The name can be up to
492
526
  * 30 characters long and isn't case sensitive. </p>
493
- * <p>Example JSON: <code>"SingleQueryArgument": { "Name": "myArgument" }</code>
527
+ * <p>Example JSON: <code>"SingleQueryArgument": \{ "Name": "myArgument" \}</code>
494
528
  * </p>
495
529
  */
496
530
  SingleQueryArgument?: SingleQueryArgument;
@@ -554,6 +588,9 @@ export interface FieldToMatch {
554
588
  */
555
589
  Cookies?: Cookies;
556
590
  }
591
+ /**
592
+ * @public
593
+ */
557
594
  export declare enum PositionalConstraint {
558
595
  CONTAINS = "CONTAINS",
559
596
  CONTAINS_WORD = "CONTAINS_WORD",
@@ -561,6 +598,9 @@ export declare enum PositionalConstraint {
561
598
  EXACTLY = "EXACTLY",
562
599
  STARTS_WITH = "STARTS_WITH"
563
600
  }
601
+ /**
602
+ * @public
603
+ */
564
604
  export declare enum TextTransformationType {
565
605
  BASE64_DECODE = "BASE64_DECODE",
566
606
  BASE64_DECODE_EXT = "BASE64_DECODE_EXT",
@@ -585,6 +625,7 @@ export declare enum TextTransformationType {
585
625
  UTF8_TO_UNICODE = "UTF8_TO_UNICODE"
586
626
  }
587
627
  /**
628
+ * @public
588
629
  * <p>Text transformations eliminate some of the unusual formatting that attackers use in web
589
630
  * requests in an effort to bypass detection. </p>
590
631
  */
@@ -759,6 +800,7 @@ export interface TextTransformation {
759
800
  Type: TextTransformationType | string | undefined;
760
801
  }
761
802
  /**
803
+ * @public
762
804
  * <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>
763
805
  */
764
806
  export interface ByteMatchStatement {
@@ -857,6 +899,9 @@ export interface ByteMatchStatement {
857
899
  */
858
900
  PositionalConstraint: PositionalConstraint | string | undefined;
859
901
  }
902
+ /**
903
+ * @public
904
+ */
860
905
  export declare enum CountryCode {
861
906
  AD = "AD",
862
907
  AE = "AE",
@@ -1109,11 +1154,15 @@ export declare enum CountryCode {
1109
1154
  ZM = "ZM",
1110
1155
  ZW = "ZW"
1111
1156
  }
1157
+ /**
1158
+ * @public
1159
+ */
1112
1160
  export declare enum FallbackBehavior {
1113
1161
  MATCH = "MATCH",
1114
1162
  NO_MATCH = "NO_MATCH"
1115
1163
  }
1116
1164
  /**
1165
+ * @public
1117
1166
  * <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>
1118
1167
  * <note>
1119
1168
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1150,6 +1199,7 @@ export interface ForwardedIPConfig {
1150
1199
  FallbackBehavior: FallbackBehavior | string | undefined;
1151
1200
  }
1152
1201
  /**
1202
+ * @public
1153
1203
  * <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>
1154
1204
  * <ul>
1155
1205
  * <li>
@@ -1179,12 +1229,16 @@ export interface GeoMatchStatement {
1179
1229
  */
1180
1230
  ForwardedIPConfig?: ForwardedIPConfig;
1181
1231
  }
1232
+ /**
1233
+ * @public
1234
+ */
1182
1235
  export declare enum ForwardedIPPosition {
1183
1236
  ANY = "ANY",
1184
1237
  FIRST = "FIRST",
1185
1238
  LAST = "LAST"
1186
1239
  }
1187
1240
  /**
1241
+ * @public
1188
1242
  * <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>
1189
1243
  * <note>
1190
1244
  * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
@@ -1241,6 +1295,7 @@ export interface IPSetForwardedIPConfig {
1241
1295
  Position: ForwardedIPPosition | string | undefined;
1242
1296
  }
1243
1297
  /**
1298
+ * @public
1244
1299
  * <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>
1245
1300
  * <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>
1246
1301
  */
@@ -1258,11 +1313,15 @@ export interface IPSetReferenceStatement {
1258
1313
  */
1259
1314
  IPSetForwardedIPConfig?: IPSetForwardedIPConfig;
1260
1315
  }
1316
+ /**
1317
+ * @public
1318
+ */
1261
1319
  export declare enum LabelMatchScope {
1262
1320
  LABEL = "LABEL",
1263
1321
  NAMESPACE = "NAMESPACE"
1264
1322
  }
1265
1323
  /**
1324
+ * @public
1266
1325
  * <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>
1267
1326
  * <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>
1268
1327
  */
@@ -1293,6 +1352,7 @@ export interface LabelMatchStatement {
1293
1352
  Key: string | undefined;
1294
1353
  }
1295
1354
  /**
1355
+ * @public
1296
1356
  * <p>Specifies a single rule in a rule group whose action you want to override to <code>Count</code>. </p>
1297
1357
  * <note>
1298
1358
  * <p>Instead of this option, use <code>RuleActionOverrides</code>. It accepts any valid action setting, including <code>Count</code>.</p>
@@ -1305,6 +1365,7 @@ export interface ExcludedRule {
1305
1365
  Name: string | undefined;
1306
1366
  }
1307
1367
  /**
1368
+ * @public
1308
1369
  * <p>Details about your login page password field for request inspection, used in the
1309
1370
  * <code>AWSManagedRulesATPRuleSet</code>
1310
1371
  * <code>RequestInspection</code> configuration.</p>
@@ -1315,11 +1376,15 @@ export interface PasswordField {
1315
1376
  */
1316
1377
  Identifier: string | undefined;
1317
1378
  }
1379
+ /**
1380
+ * @public
1381
+ */
1318
1382
  export declare enum PayloadType {
1319
1383
  FORM_ENCODED = "FORM_ENCODED",
1320
1384
  JSON = "JSON"
1321
1385
  }
1322
1386
  /**
1387
+ * @public
1323
1388
  * <p>Details about your login page username field for request inspection, used in the
1324
1389
  * <code>AWSManagedRulesATPRuleSet</code>
1325
1390
  * <code>RequestInspection</code> configuration.</p>
@@ -1331,6 +1396,7 @@ export interface UsernameField {
1331
1396
  Identifier: string | undefined;
1332
1397
  }
1333
1398
  /**
1399
+ * @public
1334
1400
  * <p>The criteria for inspecting login requests, used by the ATP rule group to validate credentials usage. </p>
1335
1401
  * <p>This is part of the <code>AWSManagedRulesATPRuleSet</code> configuration in <code>ManagedRuleGroupConfig</code>.</p>
1336
1402
  * <p>In these settings, you specify how your application accepts login attempts
@@ -1352,7 +1418,7 @@ export interface RequestInspection {
1352
1418
  * syntax, see the Internet Engineering Task Force (IETF)
1353
1419
  * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1354
1420
  * Object Notation (JSON) Pointer</a>. </p>
1355
- * <p>For example, for the JSON payload <code>{ "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }</code>,
1421
+ * <p>For example, for the JSON payload <code>\{ "login": \{ "username": "THE_USERNAME", "password": "THE_PASSWORD" \} \}</code>,
1356
1422
  * the username field specification is
1357
1423
  * <code>/login/username</code> and the password field
1358
1424
  * specification is <code>/login/password</code>.</p>
@@ -1378,7 +1444,7 @@ export interface RequestInspection {
1378
1444
  * syntax, see the Internet Engineering Task Force (IETF)
1379
1445
  * documentation <a href="https://tools.ietf.org/html/rfc6901">JavaScript
1380
1446
  * Object Notation (JSON) Pointer</a>. </p>
1381
- * <p>For example, for the JSON payload <code>{ "login": { "username": "THE_USERNAME", "password": "THE_PASSWORD" } }</code>,
1447
+ * <p>For example, for the JSON payload <code>\{ "login": \{ "username": "THE_USERNAME", "password": "THE_PASSWORD" \} \}</code>,
1382
1448
  * the username field specification is
1383
1449
  * <code>/login/username</code> and the password field
1384
1450
  * specification is <code>/login/password</code>.</p>
@@ -1396,6 +1462,7 @@ export interface RequestInspection {
1396
1462
  PasswordField: PasswordField | undefined;
1397
1463
  }
1398
1464
  /**
1465
+ * @public
1399
1466
  * <p>Configures inspection of the response body. WAF can inspect the first 65,536 bytes (64 KB) of the response body. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1400
1467
  * <note>
1401
1468
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1416,6 +1483,7 @@ export interface ResponseInspectionBodyContains {
1416
1483
  FailureStrings: string[] | undefined;
1417
1484
  }
1418
1485
  /**
1486
+ * @public
1419
1487
  * <p>Configures inspection of the response header. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1420
1488
  * <note>
1421
1489
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1442,6 +1510,7 @@ export interface ResponseInspectionHeader {
1442
1510
  FailureValues: string[] | undefined;
1443
1511
  }
1444
1512
  /**
1513
+ * @public
1445
1514
  * <p>Configures inspection of the response JSON. WAF can inspect the first 65,536 bytes (64 KB) of the response JSON. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1446
1515
  * <note>
1447
1516
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1468,6 +1537,7 @@ export interface ResponseInspectionJson {
1468
1537
  FailureValues: string[] | undefined;
1469
1538
  }
1470
1539
  /**
1540
+ * @public
1471
1541
  * <p>Configures inspection of the response status code. This is part of the <code>ResponseInspection</code> configuration for <code>AWSManagedRulesATPRuleSet</code>. </p>
1472
1542
  * <note>
1473
1543
  * <p>Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.</p>
@@ -1488,6 +1558,7 @@ export interface ResponseInspectionStatusCode {
1488
1558
  FailureCodes: number[] | undefined;
1489
1559
  }
1490
1560
  /**
1561
+ * @public
1491
1562
  * <p>The criteria for inspecting responses to login requests, used by the ATP rule group to track login failure rates. </p>
1492
1563
  * <p>The ATP rule group evaluates the responses that your protected resources send back to client login attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels
1493
1564
  * and mitigates requests from client sessions and IP addresses that submit too many failed login attempts in a short amount of time. </p>
@@ -1516,6 +1587,7 @@ export interface ResponseInspection {
1516
1587
  Json?: ResponseInspectionJson;
1517
1588
  }
1518
1589
  /**
1590
+ * @public
1519
1591
  * <p>Details for your use of the account takeover prevention managed rule group, <code>AWSManagedRulesATPRuleSet</code>. This configuration is used in <code>ManagedRuleGroupConfig</code>. </p>
1520
1592
  */
1521
1593
  export interface AWSManagedRulesATPRuleSet {
@@ -1540,11 +1612,15 @@ export interface AWSManagedRulesATPRuleSet {
1540
1612
  */
1541
1613
  ResponseInspection?: ResponseInspection;
1542
1614
  }
1615
+ /**
1616
+ * @public
1617
+ */
1543
1618
  export declare enum InspectionLevel {
1544
1619
  COMMON = "COMMON",
1545
1620
  TARGETED = "TARGETED"
1546
1621
  }
1547
1622
  /**
1623
+ * @public
1548
1624
  * <p>Details for your use of the Bot Control managed rule group, <code>AWSManagedRulesBotControlRuleSet</code>. This configuration is used in <code>ManagedRuleGroupConfig</code>. </p>
1549
1625
  */
1550
1626
  export interface AWSManagedRulesBotControlRuleSet {
@@ -1556,6 +1632,7 @@ export interface AWSManagedRulesBotControlRuleSet {
1556
1632
  InspectionLevel: InspectionLevel | string | undefined;
1557
1633
  }
1558
1634
  /**
1635
+ * @public
1559
1636
  * <p>Additional information that's used by a managed rule group. Many managed rule groups don't require this.</p>
1560
1637
  * <p>Use the <code>AWSManagedRulesATPRuleSet</code> configuration object for the account takeover prevention managed rule group, to provide information such as the sign-in page of your application and the type of content to accept or reject from the client. </p>
1561
1638
  * <p>Use the <code>AWSManagedRulesBotControlRuleSet</code> configuration object to configure the
@@ -1619,6 +1696,7 @@ export interface ManagedRuleGroupConfig {
1619
1696
  AWSManagedRulesATPRuleSet?: AWSManagedRulesATPRuleSet;
1620
1697
  }
1621
1698
  /**
1699
+ * @public
1622
1700
  * <p>A custom response to send to the client. You can define a custom response for rule
1623
1701
  * actions and default web ACL actions that are set to <a>BlockAction</a>. </p>
1624
1702
  * <p>For information about customizing web requests and responses, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html">Customizing web requests and responses in WAF</a> in the
@@ -1648,6 +1726,7 @@ export interface CustomResponse {
1648
1726
  ResponseHeaders?: CustomHTTPHeader[];
1649
1727
  }
1650
1728
  /**
1729
+ * @public
1651
1730
  * <p>Specifies that WAF should block the request and optionally defines additional
1652
1731
  * custom handling for the response to the web request.</p>
1653
1732
  * <p>This is used in the context of other settings, for example to specify values for <a>RuleAction</a> and web ACL <a>DefaultAction</a>. </p>
@@ -1661,6 +1740,7 @@ export interface BlockAction {
1661
1740
  CustomResponse?: CustomResponse;
1662
1741
  }
1663
1742
  /**
1743
+ * @public
1664
1744
  * <p>Specifies that WAF should run a <code>CAPTCHA</code> check against the request: </p>
1665
1745
  * <ul>
1666
1746
  * <li>
@@ -1699,6 +1779,7 @@ export interface CaptchaAction {
1699
1779
  CustomRequestHandling?: CustomRequestHandling;
1700
1780
  }
1701
1781
  /**
1782
+ * @public
1702
1783
  * <p>Specifies that WAF should run a <code>Challenge</code> check against the request to verify that the request is coming from a legitimate client session: </p>
1703
1784
  * <ul>
1704
1785
  * <li>
@@ -1741,6 +1822,7 @@ export interface ChallengeAction {
1741
1822
  CustomRequestHandling?: CustomRequestHandling;
1742
1823
  }
1743
1824
  /**
1825
+ * @public
1744
1826
  * <p>Specifies that WAF should count the request. Optionally defines additional custom
1745
1827
  * handling for the request.</p>
1746
1828
  * <p>This is used in the context of other settings, for example to specify values for <a>RuleAction</a> and web ACL <a>DefaultAction</a>. </p>
@@ -1754,6 +1836,7 @@ export interface CountAction {
1754
1836
  CustomRequestHandling?: CustomRequestHandling;
1755
1837
  }
1756
1838
  /**
1839
+ * @public
1757
1840
  * <p>The action that WAF should take on a web request when it matches a rule's
1758
1841
  * statement. Settings at the web ACL level can override the rule action setting. </p>
1759
1842
  */
@@ -1780,6 +1863,7 @@ export interface RuleAction {
1780
1863
  Challenge?: ChallengeAction;
1781
1864
  }
1782
1865
  /**
1866
+ * @public
1783
1867
  * <p>Action setting to use in the place of a rule action that is configured inside the rule group. You specify one override for each rule whose action you want to change. </p>
1784
1868
  * <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>
1785
1869
  */
@@ -1793,11 +1877,15 @@ export interface RuleActionOverride {
1793
1877
  */
1794
1878
  ActionToUse: RuleAction | undefined;
1795
1879
  }
1880
+ /**
1881
+ * @public
1882
+ */
1796
1883
  export declare enum RateBasedStatementAggregateKeyType {
1797
1884
  FORWARDED_IP = "FORWARDED_IP",
1798
1885
  IP = "IP"
1799
1886
  }
1800
1887
  /**
1888
+ * @public
1801
1889
  * <p>A rule statement used to search web request components for a match against a single regular expression. </p>
1802
1890
  */
1803
1891
  export interface RegexMatchStatement {
@@ -1817,6 +1905,7 @@ export interface RegexMatchStatement {
1817
1905
  TextTransformations: TextTransformation[] | undefined;
1818
1906
  }
1819
1907
  /**
1908
+ * @public
1820
1909
  * <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>
1821
1910
  * <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>
1822
1911
  */
@@ -1838,6 +1927,7 @@ export interface RegexPatternSetReferenceStatement {
1838
1927
  TextTransformations: TextTransformation[] | undefined;
1839
1928
  }
1840
1929
  /**
1930
+ * @public
1841
1931
  * <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>
1842
1932
  * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You
1843
1933
  * can only use a rule group reference statement at the top level inside a web ACL. </p>
@@ -1860,6 +1950,9 @@ export interface RuleGroupReferenceStatement {
1860
1950
  */
1861
1951
  RuleActionOverrides?: RuleActionOverride[];
1862
1952
  }
1953
+ /**
1954
+ * @public
1955
+ */
1863
1956
  export declare enum ComparisonOperator {
1864
1957
  EQ = "EQ",
1865
1958
  GE = "GE",
@@ -1869,6 +1962,7 @@ export declare enum ComparisonOperator {
1869
1962
  NE = "NE"
1870
1963
  }
1871
1964
  /**
1965
+ * @public
1872
1966
  * <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>
1873
1967
  * <p>If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you could use a size constraint statement to block requests that have a request body greater than 8192 bytes.</p>
1874
1968
  * <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>
@@ -1893,11 +1987,15 @@ export interface SizeConstraintStatement {
1893
1987
  */
1894
1988
  TextTransformations: TextTransformation[] | undefined;
1895
1989
  }
1990
+ /**
1991
+ * @public
1992
+ */
1896
1993
  export declare enum SensitivityLevel {
1897
1994
  HIGH = "HIGH",
1898
1995
  LOW = "LOW"
1899
1996
  }
1900
1997
  /**
1998
+ * @public
1901
1999
  * <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>
1902
2000
  */
1903
2001
  export interface SqliMatchStatement {
@@ -1928,6 +2026,7 @@ export interface SqliMatchStatement {
1928
2026
  SensitivityLevel?: SensitivityLevel | string;
1929
2027
  }
1930
2028
  /**
2029
+ * @public
1931
2030
  * <p>A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker
1932
2031
  * uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers. </p>
1933
2032
  */
@@ -1943,6 +2042,9 @@ export interface XssMatchStatement {
1943
2042
  */
1944
2043
  TextTransformations: TextTransformation[] | undefined;
1945
2044
  }
2045
+ /**
2046
+ * @public
2047
+ */
1946
2048
  export interface AssociateWebACLRequest {
1947
2049
  /**
1948
2050
  * <p>The Amazon Resource Name (ARN) of the web ACL that you want to associate with the
@@ -1982,9 +2084,13 @@ export interface AssociateWebACLRequest {
1982
2084
  */
1983
2085
  ResourceArn: string | undefined;
1984
2086
  }
2087
+ /**
2088
+ * @public
2089
+ */
1985
2090
  export interface AssociateWebACLResponse {
1986
2091
  }
1987
2092
  /**
2093
+ * @public
1988
2094
  * <p>Your request is valid, but WAF couldn’t perform the operation because of a system
1989
2095
  * problem. Retry your request. </p>
1990
2096
  */
@@ -1998,6 +2104,7 @@ export declare class WAFInternalErrorException extends __BaseException {
1998
2104
  constructor(opts: __ExceptionOptionType<WAFInternalErrorException, __BaseException>);
1999
2105
  }
2000
2106
  /**
2107
+ * @public
2001
2108
  * <p>The operation isn't valid. </p>
2002
2109
  */
2003
2110
  export declare class WAFInvalidOperationException extends __BaseException {
@@ -2009,6 +2116,9 @@ export declare class WAFInvalidOperationException extends __BaseException {
2009
2116
  */
2010
2117
  constructor(opts: __ExceptionOptionType<WAFInvalidOperationException, __BaseException>);
2011
2118
  }
2119
+ /**
2120
+ * @public
2121
+ */
2012
2122
  export declare enum ParameterExceptionField {
2013
2123
  AND_STATEMENT = "AND_STATEMENT",
2014
2124
  ASSOCIABLE_RESOURCE = "ASSOCIABLE_RESOURCE",
@@ -2078,6 +2188,7 @@ export declare enum ParameterExceptionField {
2078
2188
  XSS_MATCH_STATEMENT = "XSS_MATCH_STATEMENT"
2079
2189
  }
2080
2190
  /**
2191
+ * @public
2081
2192
  * <p>The operation failed because WAF didn't recognize a parameter in the request. For
2082
2193
  * example: </p>
2083
2194
  * <ul>
@@ -2119,6 +2230,7 @@ export declare class WAFInvalidParameterException extends __BaseException {
2119
2230
  constructor(opts: __ExceptionOptionType<WAFInvalidParameterException, __BaseException>);
2120
2231
  }
2121
2232
  /**
2233
+ * @public
2122
2234
  * <p>WAF couldn’t perform the operation because your resource doesn't exist.
2123
2235
  * If you've just created a resource that you're using in this operation, you might
2124
2236
  * just need to wait a few minutes. It can take from a few seconds to a number of minutes
@@ -2134,6 +2246,7 @@ export declare class WAFNonexistentItemException extends __BaseException {
2134
2246
  constructor(opts: __ExceptionOptionType<WAFNonexistentItemException, __BaseException>);
2135
2247
  }
2136
2248
  /**
2249
+ * @public
2137
2250
  * <p>WAF couldn’t retrieve a resource that you specified for this operation.
2138
2251
  * If you've just created a resource that you're using in this operation, you might
2139
2252
  * just need to wait a few minutes. It can take from a few seconds to a number of minutes
@@ -2150,6 +2263,7 @@ export declare class WAFUnavailableEntityException extends __BaseException {
2150
2263
  constructor(opts: __ExceptionOptionType<WAFUnavailableEntityException, __BaseException>);
2151
2264
  }
2152
2265
  /**
2266
+ * @public
2153
2267
  * <p>Used for CAPTCHA and challenge token settings. Determines
2154
2268
  * how long a <code>CAPTCHA</code> or challenge timestamp remains valid after WAF updates it for a successful <code>CAPTCHA</code> or challenge response. </p>
2155
2269
  */
@@ -2162,6 +2276,7 @@ export interface ImmunityTimeProperty {
2162
2276
  ImmunityTime: number | undefined;
2163
2277
  }
2164
2278
  /**
2279
+ * @public
2165
2280
  * <p>Specifies how WAF should handle <code>CAPTCHA</code> evaluations. This is
2166
2281
  * available at the web ACL level and in each rule. </p>
2167
2282
  */
@@ -2173,6 +2288,7 @@ export interface CaptchaConfig {
2173
2288
  ImmunityTimeProperty?: ImmunityTimeProperty;
2174
2289
  }
2175
2290
  /**
2291
+ * @public
2176
2292
  * <p>Specifies how WAF should handle <code>Challenge</code> evaluations. This is
2177
2293
  * available at the web ACL level and in each rule. </p>
2178
2294
  */
@@ -2184,16 +2300,18 @@ export interface ChallengeConfig {
2184
2300
  ImmunityTimeProperty?: ImmunityTimeProperty;
2185
2301
  }
2186
2302
  /**
2303
+ * @public
2187
2304
  * <p>Specifies that WAF should do nothing. This is used for the
2188
2305
  * <code>OverrideAction</code> setting on a <a>Rule</a> when the rule uses a
2189
2306
  * rule group reference statement. </p>
2190
2307
  * <p>This is used in the context of other settings, for example to specify values for <a>RuleAction</a> and web ACL <a>DefaultAction</a>. </p>
2191
- * <p>JSON specification: <code>"None": {}</code>
2308
+ * <p>JSON specification: <code>"None": \{\}</code>
2192
2309
  * </p>
2193
2310
  */
2194
2311
  export interface NoneAction {
2195
2312
  }
2196
2313
  /**
2314
+ * @public
2197
2315
  * <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>
2198
2316
  * <p>You can only use this for rule statements that reference a rule group, like <code>RuleGroupReferenceStatement</code> and <code>ManagedRuleGroupStatement</code>. </p>
2199
2317
  * <note>
@@ -2216,6 +2334,7 @@ export interface OverrideAction {
2216
2334
  None?: NoneAction;
2217
2335
  }
2218
2336
  /**
2337
+ * @public
2219
2338
  * <p>A single label container. This is used as an element of a label array in multiple
2220
2339
  * contexts, for example, in <code>RuleLabels</code> inside a <a>Rule</a> and in
2221
2340
  * <code>Labels</code> inside a <a>SampledHTTPRequest</a>. </p>
@@ -2227,6 +2346,7 @@ export interface Label {
2227
2346
  Name: string | undefined;
2228
2347
  }
2229
2348
  /**
2349
+ * @public
2230
2350
  * <p>Defines and enables Amazon CloudWatch metrics and web request sample collection. </p>
2231
2351
  */
2232
2352
  export interface VisibilityConfig {
@@ -2249,10 +2369,16 @@ export interface VisibilityConfig {
2249
2369
  */
2250
2370
  MetricName: string | undefined;
2251
2371
  }
2372
+ /**
2373
+ * @public
2374
+ */
2252
2375
  export declare enum Scope {
2253
2376
  CLOUDFRONT = "CLOUDFRONT",
2254
2377
  REGIONAL = "REGIONAL"
2255
2378
  }
2379
+ /**
2380
+ * @public
2381
+ */
2256
2382
  export interface CheckCapacityResponse {
2257
2383
  /**
2258
2384
  * <p>The capacity required by the rules and scope.</p>
@@ -2260,6 +2386,7 @@ export interface CheckCapacityResponse {
2260
2386
  Capacity?: number;
2261
2387
  }
2262
2388
  /**
2389
+ * @public
2263
2390
  * <p>The operation failed because the specified version for the managed rule group has
2264
2391
  * expired. You can retrieve the available versions for the managed rule group by calling
2265
2392
  * <a>ListAvailableManagedRuleGroupVersions</a>.</p>
@@ -2274,6 +2401,7 @@ export declare class WAFExpiredManagedRuleGroupVersionException extends __BaseEx
2274
2401
  constructor(opts: __ExceptionOptionType<WAFExpiredManagedRuleGroupVersionException, __BaseException>);
2275
2402
  }
2276
2403
  /**
2404
+ * @public
2277
2405
  * <p>WAF couldn’t perform the operation because the resource that you requested isn’t
2278
2406
  * valid. Check the resource, and try again.</p>
2279
2407
  */
@@ -2287,6 +2415,7 @@ export declare class WAFInvalidResourceException extends __BaseException {
2287
2415
  constructor(opts: __ExceptionOptionType<WAFInvalidResourceException, __BaseException>);
2288
2416
  }
2289
2417
  /**
2418
+ * @public
2290
2419
  * <p>WAF couldn’t perform the operation because you exceeded your resource limit. For
2291
2420
  * example, the maximum number of <code>WebACL</code> objects that you can create for an Amazon Web Services
2292
2421
  * account. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/limits.html">WAF quotas</a> in the
@@ -2302,6 +2431,7 @@ export declare class WAFLimitsExceededException extends __BaseException {
2302
2431
  constructor(opts: __ExceptionOptionType<WAFLimitsExceededException, __BaseException>);
2303
2432
  }
2304
2433
  /**
2434
+ * @public
2305
2435
  * <p>You tried to use a managed rule group that's available by subscription, but you aren't
2306
2436
  * subscribed to it yet. </p>
2307
2437
  */
@@ -2314,11 +2444,15 @@ export declare class WAFSubscriptionNotFoundException extends __BaseException {
2314
2444
  */
2315
2445
  constructor(opts: __ExceptionOptionType<WAFSubscriptionNotFoundException, __BaseException>);
2316
2446
  }
2447
+ /**
2448
+ * @public
2449
+ */
2317
2450
  export declare enum IPAddressVersion {
2318
2451
  IPV4 = "IPV4",
2319
2452
  IPV6 = "IPV6"
2320
2453
  }
2321
2454
  /**
2455
+ * @public
2322
2456
  * <p>A tag associated with an Amazon Web Services resource. Tags are key:value pairs that you can use to
2323
2457
  * categorize and manage your resources, for purposes like billing or other management.
2324
2458
  * Typically, the tag key represents a category, such as "environment", and the tag value
@@ -2343,6 +2477,9 @@ export interface Tag {
2343
2477
  */
2344
2478
  Value: string | undefined;
2345
2479
  }
2480
+ /**
2481
+ * @public
2482
+ */
2346
2483
  export interface CreateIPSetRequest {
2347
2484
  /**
2348
2485
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
@@ -2414,6 +2551,7 @@ export interface CreateIPSetRequest {
2414
2551
  Tags?: Tag[];
2415
2552
  }
2416
2553
  /**
2554
+ * @public
2417
2555
  * <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>
2418
2556
  */
2419
2557
  export interface IPSetSummary {
@@ -2438,6 +2576,9 @@ export interface IPSetSummary {
2438
2576
  */
2439
2577
  ARN?: string;
2440
2578
  }
2579
+ /**
2580
+ * @public
2581
+ */
2441
2582
  export interface CreateIPSetResponse {
2442
2583
  /**
2443
2584
  * <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>
@@ -2445,6 +2586,7 @@ export interface CreateIPSetResponse {
2445
2586
  Summary?: IPSetSummary;
2446
2587
  }
2447
2588
  /**
2589
+ * @public
2448
2590
  * <p>WAF couldn’t perform the operation because the resource that you tried to save is
2449
2591
  * a duplicate of an existing one.</p>
2450
2592
  */
@@ -2458,6 +2600,7 @@ export declare class WAFDuplicateItemException extends __BaseException {
2458
2600
  constructor(opts: __ExceptionOptionType<WAFDuplicateItemException, __BaseException>);
2459
2601
  }
2460
2602
  /**
2603
+ * @public
2461
2604
  * <p>WAF couldn’t save your changes because you tried to update or delete a resource
2462
2605
  * that has changed since you last retrieved it. Get the resource again, make any changes you
2463
2606
  * need to make to the new copy, and retry your operation. </p>
@@ -2472,6 +2615,7 @@ export declare class WAFOptimisticLockException extends __BaseException {
2472
2615
  constructor(opts: __ExceptionOptionType<WAFOptimisticLockException, __BaseException>);
2473
2616
  }
2474
2617
  /**
2618
+ * @public
2475
2619
  * <p>An error occurred during the tagging operation. Retry your request.</p>
2476
2620
  */
2477
2621
  export declare class WAFTagOperationException extends __BaseException {
@@ -2484,6 +2628,7 @@ export declare class WAFTagOperationException extends __BaseException {
2484
2628
  constructor(opts: __ExceptionOptionType<WAFTagOperationException, __BaseException>);
2485
2629
  }
2486
2630
  /**
2631
+ * @public
2487
2632
  * <p>WAF couldn’t perform your tagging operation because of an internal error. Retry
2488
2633
  * your request.</p>
2489
2634
  */
@@ -2497,6 +2642,7 @@ export declare class WAFTagOperationInternalErrorException extends __BaseExcepti
2497
2642
  constructor(opts: __ExceptionOptionType<WAFTagOperationInternalErrorException, __BaseException>);
2498
2643
  }
2499
2644
  /**
2645
+ * @public
2500
2646
  * <p>A single regular expression. This is used in a <a>RegexPatternSet</a>.</p>
2501
2647
  */
2502
2648
  export interface Regex {
@@ -2505,6 +2651,9 @@ export interface Regex {
2505
2651
  */
2506
2652
  RegexString?: string;
2507
2653
  }
2654
+ /**
2655
+ * @public
2656
+ */
2508
2657
  export interface CreateRegexPatternSetRequest {
2509
2658
  /**
2510
2659
  * <p>The name of the set. You cannot change the name after you create the set.</p>
@@ -2537,6 +2686,7 @@ export interface CreateRegexPatternSetRequest {
2537
2686
  Tags?: Tag[];
2538
2687
  }
2539
2688
  /**
2689
+ * @public
2540
2690
  * <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>
2541
2691
  */
2542
2692
  export interface RegexPatternSetSummary {
@@ -2561,18 +2711,25 @@ export interface RegexPatternSetSummary {
2561
2711
  */
2562
2712
  ARN?: string;
2563
2713
  }
2714
+ /**
2715
+ * @public
2716
+ */
2564
2717
  export interface CreateRegexPatternSetResponse {
2565
2718
  /**
2566
2719
  * <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>
2567
2720
  */
2568
2721
  Summary?: RegexPatternSetSummary;
2569
2722
  }
2723
+ /**
2724
+ * @public
2725
+ */
2570
2726
  export declare enum ResponseContentType {
2571
2727
  APPLICATION_JSON = "APPLICATION_JSON",
2572
2728
  TEXT_HTML = "TEXT_HTML",
2573
2729
  TEXT_PLAIN = "TEXT_PLAIN"
2574
2730
  }
2575
2731
  /**
2732
+ * @public
2576
2733
  * <p>The response body to use in a custom response to a web request. This is referenced by
2577
2734
  * key from <a>CustomResponse</a>
2578
2735
  * <code>CustomResponseBodyKey</code>.</p>
@@ -2593,6 +2750,7 @@ export interface CustomResponseBody {
2593
2750
  Content: string | undefined;
2594
2751
  }
2595
2752
  /**
2753
+ * @public
2596
2754
  * <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>
2597
2755
  */
2598
2756
  export interface RuleGroupSummary {
@@ -2617,6 +2775,9 @@ export interface RuleGroupSummary {
2617
2775
  */
2618
2776
  ARN?: string;
2619
2777
  }
2778
+ /**
2779
+ * @public
2780
+ */
2620
2781
  export interface CreateRuleGroupResponse {
2621
2782
  /**
2622
2783
  * <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>
@@ -2624,6 +2785,7 @@ export interface CreateRuleGroupResponse {
2624
2785
  Summary?: RuleGroupSummary;
2625
2786
  }
2626
2787
  /**
2788
+ * @public
2627
2789
  * <p>In a <a>WebACL</a>, this is the action that you want WAF to perform
2628
2790
  * when a web request doesn't match any of the rules in the <code>WebACL</code>. The default
2629
2791
  * action must be a terminating action.</p>
@@ -2639,6 +2801,7 @@ export interface DefaultAction {
2639
2801
  Allow?: AllowAction;
2640
2802
  }
2641
2803
  /**
2804
+ * @public
2642
2805
  * <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>
2643
2806
  */
2644
2807
  export interface WebACLSummary {
@@ -2663,6 +2826,9 @@ export interface WebACLSummary {
2663
2826
  */
2664
2827
  ARN?: string;
2665
2828
  }
2829
+ /**
2830
+ * @public
2831
+ */
2666
2832
  export interface CreateWebACLResponse {
2667
2833
  /**
2668
2834
  * <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>
@@ -2670,6 +2836,7 @@ export interface CreateWebACLResponse {
2670
2836
  Summary?: WebACLSummary;
2671
2837
  }
2672
2838
  /**
2839
+ * @public
2673
2840
  * <p>The operation failed because you are inspecting the web request body, headers, or
2674
2841
  * cookies without specifying how to handle oversize components. Rules that inspect the body
2675
2842
  * must either provide an <code>OversizeHandling</code> configuration or they must be preceded
@@ -2691,6 +2858,9 @@ export declare class WAFConfigurationWarningException extends __BaseException {
2691
2858
  */
2692
2859
  constructor(opts: __ExceptionOptionType<WAFConfigurationWarningException, __BaseException>);
2693
2860
  }
2861
+ /**
2862
+ * @public
2863
+ */
2694
2864
  export interface DeleteFirewallManagerRuleGroupsRequest {
2695
2865
  /**
2696
2866
  * <p>The Amazon Resource Name (ARN) of the web ACL.</p>
@@ -2701,12 +2871,18 @@ export interface DeleteFirewallManagerRuleGroupsRequest {
2701
2871
  */
2702
2872
  WebACLLockToken: string | undefined;
2703
2873
  }
2874
+ /**
2875
+ * @public
2876
+ */
2704
2877
  export interface DeleteFirewallManagerRuleGroupsResponse {
2705
2878
  /**
2706
2879
  * <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>
2707
2880
  */
2708
2881
  NextWebACLLockToken?: string;
2709
2882
  }
2883
+ /**
2884
+ * @public
2885
+ */
2710
2886
  export interface DeleteIPSetRequest {
2711
2887
  /**
2712
2888
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
@@ -2734,9 +2910,13 @@ export interface DeleteIPSetRequest {
2734
2910
  */
2735
2911
  LockToken: string | undefined;
2736
2912
  }
2913
+ /**
2914
+ * @public
2915
+ */
2737
2916
  export interface DeleteIPSetResponse {
2738
2917
  }
2739
2918
  /**
2919
+ * @public
2740
2920
  * <p>WAF couldn’t perform the operation because your resource is being used by another
2741
2921
  * resource or it’s associated with another resource. </p>
2742
2922
  */
@@ -2749,14 +2929,23 @@ export declare class WAFAssociatedItemException extends __BaseException {
2749
2929
  */
2750
2930
  constructor(opts: __ExceptionOptionType<WAFAssociatedItemException, __BaseException>);
2751
2931
  }
2932
+ /**
2933
+ * @public
2934
+ */
2752
2935
  export interface DeleteLoggingConfigurationRequest {
2753
2936
  /**
2754
2937
  * <p>The Amazon Resource Name (ARN) of the web ACL from which you want to delete the <a>LoggingConfiguration</a>.</p>
2755
2938
  */
2756
2939
  ResourceArn: string | undefined;
2757
2940
  }
2941
+ /**
2942
+ * @public
2943
+ */
2758
2944
  export interface DeleteLoggingConfigurationResponse {
2759
2945
  }
2946
+ /**
2947
+ * @public
2948
+ */
2760
2949
  export interface DeletePermissionPolicyRequest {
2761
2950
  /**
2762
2951
  * <p>The Amazon Resource Name (ARN) of the rule group from which you want to delete the
@@ -2765,8 +2954,14 @@ export interface DeletePermissionPolicyRequest {
2765
2954
  */
2766
2955
  ResourceArn: string | undefined;
2767
2956
  }
2957
+ /**
2958
+ * @public
2959
+ */
2768
2960
  export interface DeletePermissionPolicyResponse {
2769
2961
  }
2962
+ /**
2963
+ * @public
2964
+ */
2770
2965
  export interface DeleteRegexPatternSetRequest {
2771
2966
  /**
2772
2967
  * <p>The name of the set. You cannot change the name after you create the set.</p>
@@ -2794,8 +2989,14 @@ export interface DeleteRegexPatternSetRequest {
2794
2989
  */
2795
2990
  LockToken: string | undefined;
2796
2991
  }
2992
+ /**
2993
+ * @public
2994
+ */
2797
2995
  export interface DeleteRegexPatternSetResponse {
2798
2996
  }
2997
+ /**
2998
+ * @public
2999
+ */
2799
3000
  export interface DeleteRuleGroupRequest {
2800
3001
  /**
2801
3002
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
@@ -2823,8 +3024,14 @@ export interface DeleteRuleGroupRequest {
2823
3024
  */
2824
3025
  LockToken: string | undefined;
2825
3026
  }
3027
+ /**
3028
+ * @public
3029
+ */
2826
3030
  export interface DeleteRuleGroupResponse {
2827
3031
  }
3032
+ /**
3033
+ * @public
3034
+ */
2828
3035
  export interface DeleteWebACLRequest {
2829
3036
  /**
2830
3037
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
@@ -2852,8 +3059,14 @@ export interface DeleteWebACLRequest {
2852
3059
  */
2853
3060
  LockToken: string | undefined;
2854
3061
  }
3062
+ /**
3063
+ * @public
3064
+ */
2855
3065
  export interface DeleteWebACLResponse {
2856
3066
  }
3067
+ /**
3068
+ * @public
3069
+ */
2857
3070
  export interface DescribeManagedRuleGroupRequest {
2858
3071
  /**
2859
3072
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.</p>
@@ -2883,6 +3096,7 @@ export interface DescribeManagedRuleGroupRequest {
2883
3096
  VersionName?: string;
2884
3097
  }
2885
3098
  /**
3099
+ * @public
2886
3100
  * <p>List of labels used by one or more of the rules of a <a>RuleGroup</a>. This
2887
3101
  * summary object is used for the following rule group lists: </p>
2888
3102
  * <ul>
@@ -2905,6 +3119,7 @@ export interface LabelSummary {
2905
3119
  Name?: string;
2906
3120
  }
2907
3121
  /**
3122
+ * @public
2908
3123
  * <p>High-level information about a <a>Rule</a>, returned by operations like <a>DescribeManagedRuleGroup</a>. 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>
2909
3124
  */
2910
3125
  export interface RuleSummary {
@@ -2918,6 +3133,9 @@ export interface RuleSummary {
2918
3133
  */
2919
3134
  Action?: RuleAction;
2920
3135
  }
3136
+ /**
3137
+ * @public
3138
+ */
2921
3139
  export interface DescribeManagedRuleGroupResponse {
2922
3140
  /**
2923
3141
  * <p>The managed rule group's version. </p>
@@ -2969,6 +3187,9 @@ export interface DescribeManagedRuleGroupResponse {
2969
3187
  */
2970
3188
  ConsumedLabels?: LabelSummary[];
2971
3189
  }
3190
+ /**
3191
+ * @public
3192
+ */
2972
3193
  export interface DisassociateWebACLRequest {
2973
3194
  /**
2974
3195
  * <p>The Amazon Resource Name (ARN) of the resource to disassociate from the web ACL. </p>
@@ -3003,12 +3224,21 @@ export interface DisassociateWebACLRequest {
3003
3224
  */
3004
3225
  ResourceArn: string | undefined;
3005
3226
  }
3227
+ /**
3228
+ * @public
3229
+ */
3006
3230
  export interface DisassociateWebACLResponse {
3007
3231
  }
3232
+ /**
3233
+ * @public
3234
+ */
3008
3235
  export declare enum Platform {
3009
3236
  ANDROID = "ANDROID",
3010
3237
  IOS = "IOS"
3011
3238
  }
3239
+ /**
3240
+ * @public
3241
+ */
3012
3242
  export interface GenerateMobileSdkReleaseUrlRequest {
3013
3243
  /**
3014
3244
  * <p>The device platform.</p>
@@ -3020,12 +3250,18 @@ export interface GenerateMobileSdkReleaseUrlRequest {
3020
3250
  */
3021
3251
  ReleaseVersion: string | undefined;
3022
3252
  }
3253
+ /**
3254
+ * @public
3255
+ */
3023
3256
  export interface GenerateMobileSdkReleaseUrlResponse {
3024
3257
  /**
3025
3258
  * <p>The presigned download URL for the specified SDK release.</p>
3026
3259
  */
3027
3260
  Url?: string;
3028
3261
  }
3262
+ /**
3263
+ * @public
3264
+ */
3029
3265
  export interface GetIPSetRequest {
3030
3266
  /**
3031
3267
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
@@ -3050,6 +3286,7 @@ export interface GetIPSetRequest {
3050
3286
  Id: string | undefined;
3051
3287
  }
3052
3288
  /**
3289
+ * @public
3053
3290
  * <p>Contains zero or more IP addresses or blocks of IP addresses specified in Classless
3054
3291
  * Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
3055
3292
  * except for /0. For information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless
@@ -3118,6 +3355,9 @@ export interface IPSet {
3118
3355
  */
3119
3356
  Addresses: string[] | undefined;
3120
3357
  }
3358
+ /**
3359
+ * @public
3360
+ */
3121
3361
  export interface GetIPSetResponse {
3122
3362
  /**
3123
3363
  * <p></p>
@@ -3128,17 +3368,24 @@ export interface GetIPSetResponse {
3128
3368
  */
3129
3369
  LockToken?: string;
3130
3370
  }
3371
+ /**
3372
+ * @public
3373
+ */
3131
3374
  export interface GetLoggingConfigurationRequest {
3132
3375
  /**
3133
3376
  * <p>The Amazon Resource Name (ARN) of the web ACL for which you want to get the <a>LoggingConfiguration</a>.</p>
3134
3377
  */
3135
3378
  ResourceArn: string | undefined;
3136
3379
  }
3380
+ /**
3381
+ * @public
3382
+ */
3137
3383
  export declare enum FilterBehavior {
3138
3384
  DROP = "DROP",
3139
3385
  KEEP = "KEEP"
3140
3386
  }
3141
3387
  /**
3388
+ * @public
3142
3389
  * <p>A single label name condition for a <a>Condition</a> in a logging
3143
3390
  * filter.</p>
3144
3391
  */
@@ -3150,6 +3397,7 @@ export interface LabelNameCondition {
3150
3397
  LabelName: string | undefined;
3151
3398
  }
3152
3399
  /**
3400
+ * @public
3153
3401
  * <p>A single match condition for a <a>Filter</a>.</p>
3154
3402
  */
3155
3403
  export interface Condition {
@@ -3163,11 +3411,15 @@ export interface Condition {
3163
3411
  */
3164
3412
  LabelNameCondition?: LabelNameCondition;
3165
3413
  }
3414
+ /**
3415
+ * @public
3416
+ */
3166
3417
  export declare enum FilterRequirement {
3167
3418
  MEETS_ALL = "MEETS_ALL",
3168
3419
  MEETS_ANY = "MEETS_ANY"
3169
3420
  }
3170
3421
  /**
3422
+ * @public
3171
3423
  * <p>A single logging filter, used in <a>LoggingFilter</a>. </p>
3172
3424
  */
3173
3425
  export interface Filter {
@@ -3186,6 +3438,7 @@ export interface Filter {
3186
3438
  Conditions: Condition[] | undefined;
3187
3439
  }
3188
3440
  /**
3441
+ * @public
3189
3442
  * <p>Filtering that specifies which web requests are kept in the logs and which are dropped,
3190
3443
  * defined for a web ACL's <a>LoggingConfiguration</a>. </p>
3191
3444
  * <p>You can filter on the rule action and on the web request labels that were applied by
@@ -3203,6 +3456,7 @@ export interface LoggingFilter {
3203
3456
  DefaultBehavior: FilterBehavior | string | undefined;
3204
3457
  }
3205
3458
  /**
3459
+ * @public
3206
3460
  * <p>Defines an association between logging destinations and a web ACL resource, for logging
3207
3461
  * from WAF. As part of the association, you can specify parts of the standard logging
3208
3462
  * fields to keep out of the logs and you can specify filters so that you log only a subset of
@@ -3271,12 +3525,18 @@ export interface LoggingConfiguration {
3271
3525
  */
3272
3526
  LoggingFilter?: LoggingFilter;
3273
3527
  }
3528
+ /**
3529
+ * @public
3530
+ */
3274
3531
  export interface GetLoggingConfigurationResponse {
3275
3532
  /**
3276
3533
  * <p>The <a>LoggingConfiguration</a> for the specified web ACL.</p>
3277
3534
  */
3278
3535
  LoggingConfiguration?: LoggingConfiguration;
3279
3536
  }
3537
+ /**
3538
+ * @public
3539
+ */
3280
3540
  export interface GetManagedRuleSetRequest {
3281
3541
  /**
3282
3542
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
@@ -3302,6 +3562,7 @@ export interface GetManagedRuleSetRequest {
3302
3562
  Id: string | undefined;
3303
3563
  }
3304
3564
  /**
3565
+ * @public
3305
3566
  * <p>Information for a single version of a managed rule set. </p>
3306
3567
  * <note>
3307
3568
  * <p>This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers. </p>
@@ -3348,6 +3609,7 @@ export interface ManagedRuleSetVersion {
3348
3609
  ExpiryTimestamp?: Date;
3349
3610
  }
3350
3611
  /**
3612
+ * @public
3351
3613
  * <p>A set of rules that is managed by Amazon Web Services and Amazon Web Services Marketplace sellers to provide versioned managed
3352
3614
  * rule groups for customers of WAF.</p>
3353
3615
  * <note>
@@ -3399,6 +3661,9 @@ export interface ManagedRuleSet {
3399
3661
  */
3400
3662
  LabelNamespace?: string;
3401
3663
  }
3664
+ /**
3665
+ * @public
3666
+ */
3402
3667
  export interface GetManagedRuleSetResponse {
3403
3668
  /**
3404
3669
  * <p>The managed rule set that you requested. </p>
@@ -3409,6 +3674,9 @@ export interface GetManagedRuleSetResponse {
3409
3674
  */
3410
3675
  LockToken?: string;
3411
3676
  }
3677
+ /**
3678
+ * @public
3679
+ */
3412
3680
  export interface GetMobileSdkReleaseRequest {
3413
3681
  /**
3414
3682
  * <p>The device platform.</p>
@@ -3421,6 +3689,7 @@ export interface GetMobileSdkReleaseRequest {
3421
3689
  ReleaseVersion: string | undefined;
3422
3690
  }
3423
3691
  /**
3692
+ * @public
3424
3693
  * <p>Information for a release of the mobile SDK, including release notes and tags.</p>
3425
3694
  * <p>The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see
3426
3695
  * <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html">WAF client application integration</a> in the <i>WAF Developer Guide</i>.</p>
@@ -3443,12 +3712,18 @@ export interface MobileSdkRelease {
3443
3712
  */
3444
3713
  Tags?: Tag[];
3445
3714
  }
3715
+ /**
3716
+ * @public
3717
+ */
3446
3718
  export interface GetMobileSdkReleaseResponse {
3447
3719
  /**
3448
3720
  * <p>Information for a specified SDK release, including release notes and tags.</p>
3449
3721
  */
3450
3722
  MobileSdkRelease?: MobileSdkRelease;
3451
3723
  }
3724
+ /**
3725
+ * @public
3726
+ */
3452
3727
  export interface GetPermissionPolicyRequest {
3453
3728
  /**
3454
3729
  * <p>The Amazon Resource Name (ARN) of the rule group for which you want to get the
@@ -3456,12 +3731,18 @@ export interface GetPermissionPolicyRequest {
3456
3731
  */
3457
3732
  ResourceArn: string | undefined;
3458
3733
  }
3734
+ /**
3735
+ * @public
3736
+ */
3459
3737
  export interface GetPermissionPolicyResponse {
3460
3738
  /**
3461
3739
  * <p>The IAM policy that is attached to the specified rule group.</p>
3462
3740
  */
3463
3741
  Policy?: string;
3464
3742
  }
3743
+ /**
3744
+ * @public
3745
+ */
3465
3746
  export interface GetRateBasedStatementManagedKeysRequest {
3466
3747
  /**
3467
3748
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -3497,6 +3778,7 @@ export interface GetRateBasedStatementManagedKeysRequest {
3497
3778
  RuleName: string | undefined;
3498
3779
  }
3499
3780
  /**
3781
+ * @public
3500
3782
  * <p>The set of IP addresses that are currently blocked for a <a>RateBasedStatement</a>.</p>
3501
3783
  */
3502
3784
  export interface RateBasedStatementManagedKeysIPSet {
@@ -3509,6 +3791,9 @@ export interface RateBasedStatementManagedKeysIPSet {
3509
3791
  */
3510
3792
  Addresses?: string[];
3511
3793
  }
3794
+ /**
3795
+ * @public
3796
+ */
3512
3797
  export interface GetRateBasedStatementManagedKeysResponse {
3513
3798
  /**
3514
3799
  * <p>The keys that are of Internet Protocol version 4 (IPv4). </p>
@@ -3519,6 +3804,9 @@ export interface GetRateBasedStatementManagedKeysResponse {
3519
3804
  */
3520
3805
  ManagedKeysIPV6?: RateBasedStatementManagedKeysIPSet;
3521
3806
  }
3807
+ /**
3808
+ * @public
3809
+ */
3522
3810
  export interface GetRegexPatternSetRequest {
3523
3811
  /**
3524
3812
  * <p>The name of the set. You cannot change the name after you create the set.</p>
@@ -3543,6 +3831,7 @@ export interface GetRegexPatternSetRequest {
3543
3831
  Id: string | undefined;
3544
3832
  }
3545
3833
  /**
3834
+ * @public
3546
3835
  * <p>Contains one or more regular expressions. </p>
3547
3836
  * <p>WAF assigns an ARN to each <code>RegexPatternSet</code> that you create. To use a
3548
3837
  * set in a rule, you provide the ARN to the <a>Rule</a> statement <a>RegexPatternSetReferenceStatement</a>. </p>
@@ -3569,6 +3858,9 @@ export interface RegexPatternSet {
3569
3858
  */
3570
3859
  RegularExpressionList?: Regex[];
3571
3860
  }
3861
+ /**
3862
+ * @public
3863
+ */
3572
3864
  export interface GetRegexPatternSetResponse {
3573
3865
  /**
3574
3866
  * <p></p>
@@ -3579,6 +3871,9 @@ export interface GetRegexPatternSetResponse {
3579
3871
  */
3580
3872
  LockToken?: string;
3581
3873
  }
3874
+ /**
3875
+ * @public
3876
+ */
3582
3877
  export interface GetRuleGroupRequest {
3583
3878
  /**
3584
3879
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
@@ -3607,6 +3902,7 @@ export interface GetRuleGroupRequest {
3607
3902
  ARN?: string;
3608
3903
  }
3609
3904
  /**
3905
+ * @public
3610
3906
  * <p>In a <a>GetSampledRequests</a> request, the <code>StartTime</code> and
3611
3907
  * <code>EndTime</code> objects specify the time range for which you want WAF to
3612
3908
  * return a sample of web requests.</p>
@@ -3640,6 +3936,9 @@ export interface TimeWindow {
3640
3936
  */
3641
3937
  EndTime: Date | undefined;
3642
3938
  }
3939
+ /**
3940
+ * @public
3941
+ */
3643
3942
  export interface GetSampledRequestsRequest {
3644
3943
  /**
3645
3944
  * <p>The Amazon resource name (ARN) of the <code>WebACL</code> for which you want a sample of
@@ -3681,6 +3980,9 @@ export interface GetSampledRequestsRequest {
3681
3980
  */
3682
3981
  MaxItems: number | undefined;
3683
3982
  }
3983
+ /**
3984
+ * @public
3985
+ */
3684
3986
  export declare enum FailureReason {
3685
3987
  TOKEN_DOMAIN_MISMATCH = "TOKEN_DOMAIN_MISMATCH",
3686
3988
  TOKEN_EXPIRED = "TOKEN_EXPIRED",
@@ -3688,6 +3990,7 @@ export declare enum FailureReason {
3688
3990
  TOKEN_MISSING = "TOKEN_MISSING"
3689
3991
  }
3690
3992
  /**
3993
+ * @public
3691
3994
  * <p>The result from the inspection of the web request for a valid <code>CAPTCHA</code> token. </p>
3692
3995
  */
3693
3996
  export interface CaptchaResponse {
@@ -3707,6 +4010,7 @@ export interface CaptchaResponse {
3707
4010
  FailureReason?: FailureReason | string;
3708
4011
  }
3709
4012
  /**
4013
+ * @public
3710
4014
  * <p>The result from the inspection of the web request for a valid challenge token. </p>
3711
4015
  */
3712
4016
  export interface ChallengeResponse {
@@ -3725,6 +4029,7 @@ export interface ChallengeResponse {
3725
4029
  FailureReason?: FailureReason | string;
3726
4030
  }
3727
4031
  /**
4032
+ * @public
3728
4033
  * <p>Part of the response from <a>GetSampledRequests</a>. This is a complex type
3729
4034
  * that appears as <code>Headers</code> in the response syntax. <code>HTTPHeader</code>
3730
4035
  * contains the names and values of all of the headers that appear in one of the web requests.
@@ -3741,6 +4046,7 @@ export interface HTTPHeader {
3741
4046
  Value?: string;
3742
4047
  }
3743
4048
  /**
4049
+ * @public
3744
4050
  * <p>Part of the response from <a>GetSampledRequests</a>. This is a complex type
3745
4051
  * that appears as <code>Request</code> in the response syntax. <code>HTTPRequest</code>
3746
4052
  * contains information about one of the web requests. </p>
@@ -3791,6 +4097,7 @@ export interface HTTPRequest {
3791
4097
  Headers?: HTTPHeader[];
3792
4098
  }
3793
4099
  /**
4100
+ * @public
3794
4101
  * <p>Represents a single sampled web request. The response from <a>GetSampledRequests</a> includes a <code>SampledHTTPRequests</code> complex type
3795
4102
  * that appears as <code>SampledRequests</code> in the response syntax.
3796
4103
  * <code>SampledHTTPRequests</code> contains an array of <code>SampledHTTPRequest</code>
@@ -3856,6 +4163,9 @@ export interface SampledHTTPRequest {
3856
4163
  */
3857
4164
  OverriddenAction?: string;
3858
4165
  }
4166
+ /**
4167
+ * @public
4168
+ */
3859
4169
  export interface GetSampledRequestsResponse {
3860
4170
  /**
3861
4171
  * <p>A complex type that contains detailed information about each of the requests in the
@@ -3878,6 +4188,9 @@ export interface GetSampledRequestsResponse {
3878
4188
  */
3879
4189
  TimeWindow?: TimeWindow;
3880
4190
  }
4191
+ /**
4192
+ * @public
4193
+ */
3881
4194
  export interface GetWebACLRequest {
3882
4195
  /**
3883
4196
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
@@ -3901,6 +4214,9 @@ export interface GetWebACLRequest {
3901
4214
  */
3902
4215
  Id: string | undefined;
3903
4216
  }
4217
+ /**
4218
+ * @public
4219
+ */
3904
4220
  export interface GetWebACLForResourceRequest {
3905
4221
  /**
3906
4222
  * <p>The Amazon Resource Name (ARN) of the resource whose web ACL you want to retrieve. </p>
@@ -3935,6 +4251,9 @@ export interface GetWebACLForResourceRequest {
3935
4251
  */
3936
4252
  ResourceArn: string | undefined;
3937
4253
  }
4254
+ /**
4255
+ * @public
4256
+ */
3938
4257
  export interface ListAvailableManagedRuleGroupsRequest {
3939
4258
  /**
3940
4259
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -3963,6 +4282,7 @@ export interface ListAvailableManagedRuleGroupsRequest {
3963
4282
  Limit?: number;
3964
4283
  }
3965
4284
  /**
4285
+ * @public
3966
4286
  * <p>High-level information about a managed rule group, returned by <a>ListAvailableManagedRuleGroups</a>. This provides information like the name and vendor name, that you provide when you add a <a>ManagedRuleGroupStatement</a> to a web ACL. Managed rule groups include Amazon Web Services Managed Rules rule groups, which are free of charge to WAF customers, and Amazon Web Services Marketplace managed rule groups, which you can subscribe to through Amazon Web Services Marketplace. </p>
3967
4287
  */
3968
4288
  export interface ManagedRuleGroupSummary {
@@ -3984,6 +4304,9 @@ export interface ManagedRuleGroupSummary {
3984
4304
  */
3985
4305
  Description?: string;
3986
4306
  }
4307
+ /**
4308
+ * @public
4309
+ */
3987
4310
  export interface ListAvailableManagedRuleGroupsResponse {
3988
4311
  /**
3989
4312
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -3996,6 +4319,9 @@ export interface ListAvailableManagedRuleGroupsResponse {
3996
4319
  */
3997
4320
  ManagedRuleGroups?: ManagedRuleGroupSummary[];
3998
4321
  }
4322
+ /**
4323
+ * @public
4324
+ */
3999
4325
  export interface ListAvailableManagedRuleGroupVersionsRequest {
4000
4326
  /**
4001
4327
  * <p>The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.</p>
@@ -4032,6 +4358,7 @@ export interface ListAvailableManagedRuleGroupVersionsRequest {
4032
4358
  Limit?: number;
4033
4359
  }
4034
4360
  /**
4361
+ * @public
4035
4362
  * <p>Describes a single version of a managed rule group. </p>
4036
4363
  */
4037
4364
  export interface ManagedRuleGroupVersion {
@@ -4045,6 +4372,9 @@ export interface ManagedRuleGroupVersion {
4045
4372
  */
4046
4373
  LastUpdateTimestamp?: Date;
4047
4374
  }
4375
+ /**
4376
+ * @public
4377
+ */
4048
4378
  export interface ListAvailableManagedRuleGroupVersionsResponse {
4049
4379
  /**
4050
4380
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4061,6 +4391,9 @@ export interface ListAvailableManagedRuleGroupVersionsResponse {
4061
4391
  */
4062
4392
  CurrentDefaultVersion?: string;
4063
4393
  }
4394
+ /**
4395
+ * @public
4396
+ */
4064
4397
  export interface ListIPSetsRequest {
4065
4398
  /**
4066
4399
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4088,6 +4421,9 @@ export interface ListIPSetsRequest {
4088
4421
  */
4089
4422
  Limit?: number;
4090
4423
  }
4424
+ /**
4425
+ * @public
4426
+ */
4091
4427
  export interface ListIPSetsResponse {
4092
4428
  /**
4093
4429
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4101,6 +4437,9 @@ export interface ListIPSetsResponse {
4101
4437
  */
4102
4438
  IPSets?: IPSetSummary[];
4103
4439
  }
4440
+ /**
4441
+ * @public
4442
+ */
4104
4443
  export interface ListLoggingConfigurationsRequest {
4105
4444
  /**
4106
4445
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4128,6 +4467,9 @@ export interface ListLoggingConfigurationsRequest {
4128
4467
  */
4129
4468
  Limit?: number;
4130
4469
  }
4470
+ /**
4471
+ * @public
4472
+ */
4131
4473
  export interface ListLoggingConfigurationsResponse {
4132
4474
  /**
4133
4475
  * <p></p>
@@ -4140,6 +4482,9 @@ export interface ListLoggingConfigurationsResponse {
4140
4482
  */
4141
4483
  NextMarker?: string;
4142
4484
  }
4485
+ /**
4486
+ * @public
4487
+ */
4143
4488
  export interface ListManagedRuleSetsRequest {
4144
4489
  /**
4145
4490
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4168,6 +4513,7 @@ export interface ListManagedRuleSetsRequest {
4168
4513
  Limit?: number;
4169
4514
  }
4170
4515
  /**
4516
+ * @public
4171
4517
  * <p>High-level information for a managed rule set. </p>
4172
4518
  * <note>
4173
4519
  * <p>This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers. </p>
@@ -4214,6 +4560,9 @@ export interface ManagedRuleSetSummary {
4214
4560
  */
4215
4561
  LabelNamespace?: string;
4216
4562
  }
4563
+ /**
4564
+ * @public
4565
+ */
4217
4566
  export interface ListManagedRuleSetsResponse {
4218
4567
  /**
4219
4568
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4226,6 +4575,9 @@ export interface ListManagedRuleSetsResponse {
4226
4575
  */
4227
4576
  ManagedRuleSets?: ManagedRuleSetSummary[];
4228
4577
  }
4578
+ /**
4579
+ * @public
4580
+ */
4229
4581
  export interface ListMobileSdkReleasesRequest {
4230
4582
  /**
4231
4583
  * <p>The device platform to retrieve the list for.</p>
@@ -4245,6 +4597,7 @@ export interface ListMobileSdkReleasesRequest {
4245
4597
  Limit?: number;
4246
4598
  }
4247
4599
  /**
4600
+ * @public
4248
4601
  * <p>High level information for an SDK release. </p>
4249
4602
  */
4250
4603
  export interface ReleaseSummary {
@@ -4257,6 +4610,9 @@ export interface ReleaseSummary {
4257
4610
  */
4258
4611
  Timestamp?: Date;
4259
4612
  }
4613
+ /**
4614
+ * @public
4615
+ */
4260
4616
  export interface ListMobileSdkReleasesResponse {
4261
4617
  /**
4262
4618
  * <p>High level information for the available SDK releases. </p>
@@ -4269,6 +4625,9 @@ export interface ListMobileSdkReleasesResponse {
4269
4625
  */
4270
4626
  NextMarker?: string;
4271
4627
  }
4628
+ /**
4629
+ * @public
4630
+ */
4272
4631
  export interface ListRegexPatternSetsRequest {
4273
4632
  /**
4274
4633
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4296,6 +4655,9 @@ export interface ListRegexPatternSetsRequest {
4296
4655
  */
4297
4656
  Limit?: number;
4298
4657
  }
4658
+ /**
4659
+ * @public
4660
+ */
4299
4661
  export interface ListRegexPatternSetsResponse {
4300
4662
  /**
4301
4663
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4308,6 +4670,9 @@ export interface ListRegexPatternSetsResponse {
4308
4670
  */
4309
4671
  RegexPatternSets?: RegexPatternSetSummary[];
4310
4672
  }
4673
+ /**
4674
+ * @public
4675
+ */
4311
4676
  export declare enum ResourceType {
4312
4677
  API_GATEWAY = "API_GATEWAY",
4313
4678
  APPLICATION_LOAD_BALANCER = "APPLICATION_LOAD_BALANCER",
@@ -4315,6 +4680,9 @@ export declare enum ResourceType {
4315
4680
  APP_RUNNER_SERVICE = "APP_RUNNER_SERVICE",
4316
4681
  COGNITIO_USER_POOL = "COGNITO_USER_POOL"
4317
4682
  }
4683
+ /**
4684
+ * @public
4685
+ */
4318
4686
  export interface ListResourcesForWebACLRequest {
4319
4687
  /**
4320
4688
  * <p>The Amazon Resource Name (ARN) of the web ACL.</p>
@@ -4331,12 +4699,18 @@ export interface ListResourcesForWebACLRequest {
4331
4699
  */
4332
4700
  ResourceType?: ResourceType | string;
4333
4701
  }
4702
+ /**
4703
+ * @public
4704
+ */
4334
4705
  export interface ListResourcesForWebACLResponse {
4335
4706
  /**
4336
4707
  * <p>The array of Amazon Resource Names (ARNs) of the associated resources.</p>
4337
4708
  */
4338
4709
  ResourceArns?: string[];
4339
4710
  }
4711
+ /**
4712
+ * @public
4713
+ */
4340
4714
  export interface ListRuleGroupsRequest {
4341
4715
  /**
4342
4716
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4364,6 +4738,9 @@ export interface ListRuleGroupsRequest {
4364
4738
  */
4365
4739
  Limit?: number;
4366
4740
  }
4741
+ /**
4742
+ * @public
4743
+ */
4367
4744
  export interface ListRuleGroupsResponse {
4368
4745
  /**
4369
4746
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4376,6 +4753,9 @@ export interface ListRuleGroupsResponse {
4376
4753
  */
4377
4754
  RuleGroups?: RuleGroupSummary[];
4378
4755
  }
4756
+ /**
4757
+ * @public
4758
+ */
4379
4759
  export interface ListTagsForResourceRequest {
4380
4760
  /**
4381
4761
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4395,6 +4775,7 @@ export interface ListTagsForResourceRequest {
4395
4775
  ResourceARN: string | undefined;
4396
4776
  }
4397
4777
  /**
4778
+ * @public
4398
4779
  * <p>The collection of tagging definitions for an Amazon Web Services resource. Tags are key:value pairs
4399
4780
  * that you can use to categorize and manage your resources, for purposes like billing or
4400
4781
  * other management. Typically, the tag key represents a category, such as "environment", and
@@ -4416,6 +4797,9 @@ export interface TagInfoForResource {
4416
4797
  */
4417
4798
  TagList?: Tag[];
4418
4799
  }
4800
+ /**
4801
+ * @public
4802
+ */
4419
4803
  export interface ListTagsForResourceResponse {
4420
4804
  /**
4421
4805
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4428,6 +4812,9 @@ export interface ListTagsForResourceResponse {
4428
4812
  */
4429
4813
  TagInfoForResource?: TagInfoForResource;
4430
4814
  }
4815
+ /**
4816
+ * @public
4817
+ */
4431
4818
  export interface ListWebACLsRequest {
4432
4819
  /**
4433
4820
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -4455,6 +4842,9 @@ export interface ListWebACLsRequest {
4455
4842
  */
4456
4843
  Limit?: number;
4457
4844
  }
4845
+ /**
4846
+ * @public
4847
+ */
4458
4848
  export interface ListWebACLsResponse {
4459
4849
  /**
4460
4850
  * <p>When you request a list of objects with a <code>Limit</code> setting, if the number of objects that are still available
@@ -4467,12 +4857,18 @@ export interface ListWebACLsResponse {
4467
4857
  */
4468
4858
  WebACLs?: WebACLSummary[];
4469
4859
  }
4860
+ /**
4861
+ * @public
4862
+ */
4470
4863
  export interface PutLoggingConfigurationRequest {
4471
4864
  /**
4472
4865
  * <p></p>
4473
4866
  */
4474
4867
  LoggingConfiguration: LoggingConfiguration | undefined;
4475
4868
  }
4869
+ /**
4870
+ * @public
4871
+ */
4476
4872
  export interface PutLoggingConfigurationResponse {
4477
4873
  /**
4478
4874
  * <p></p>
@@ -4480,6 +4876,7 @@ export interface PutLoggingConfigurationResponse {
4480
4876
  LoggingConfiguration?: LoggingConfiguration;
4481
4877
  }
4482
4878
  /**
4879
+ * @public
4483
4880
  * <p>The operation failed because you don't have the permissions that your logging
4484
4881
  * configuration requires. For information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/logging.html">Logging web ACL traffic information</a>
4485
4882
  * in the <i>WAF Developer Guide</i>.</p>
@@ -4494,6 +4891,7 @@ export declare class WAFLogDestinationPermissionIssueException extends __BaseExc
4494
4891
  constructor(opts: __ExceptionOptionType<WAFLogDestinationPermissionIssueException, __BaseException>);
4495
4892
  }
4496
4893
  /**
4894
+ * @public
4497
4895
  * <p>WAF is not able to access the service linked role. This can be caused by a
4498
4896
  * previous <code>PutLoggingConfiguration</code> request, which can lock the service linked
4499
4897
  * role for about 20 seconds. Please try your request again. The service linked role can also
@@ -4512,6 +4910,7 @@ export declare class WAFServiceLinkedRoleErrorException extends __BaseException
4512
4910
  constructor(opts: __ExceptionOptionType<WAFServiceLinkedRoleErrorException, __BaseException>);
4513
4911
  }
4514
4912
  /**
4913
+ * @public
4515
4914
  * <p>A version of the named managed rule group, that the rule group's vendor publishes for
4516
4915
  * use by customers. </p>
4517
4916
  * <note>
@@ -4531,6 +4930,9 @@ export interface VersionToPublish {
4531
4930
  */
4532
4931
  ForecastedLifetime?: number;
4533
4932
  }
4933
+ /**
4934
+ * @public
4935
+ */
4534
4936
  export interface PutManagedRuleSetVersionsRequest {
4535
4937
  /**
4536
4938
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
@@ -4569,12 +4971,18 @@ export interface PutManagedRuleSetVersionsRequest {
4569
4971
  */
4570
4972
  VersionsToPublish?: Record<string, VersionToPublish>;
4571
4973
  }
4974
+ /**
4975
+ * @public
4976
+ */
4572
4977
  export interface PutManagedRuleSetVersionsResponse {
4573
4978
  /**
4574
4979
  * <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>
4575
4980
  */
4576
4981
  NextLockToken?: string;
4577
4982
  }
4983
+ /**
4984
+ * @public
4985
+ */
4578
4986
  export interface PutPermissionPolicyRequest {
4579
4987
  /**
4580
4988
  * <p>The Amazon Resource Name (ARN) of the <a>RuleGroup</a> to which you want to
@@ -4609,9 +5017,13 @@ export interface PutPermissionPolicyRequest {
4609
5017
  */
4610
5018
  Policy: string | undefined;
4611
5019
  }
5020
+ /**
5021
+ * @public
5022
+ */
4612
5023
  export interface PutPermissionPolicyResponse {
4613
5024
  }
4614
5025
  /**
5026
+ * @public
4615
5027
  * <p>The operation failed because the specified policy isn't in the proper format. </p>
4616
5028
  * <p>The policy specifications must conform to the following:</p>
4617
5029
  * <ul>
@@ -4646,6 +5058,9 @@ export declare class WAFInvalidPermissionPolicyException extends __BaseException
4646
5058
  */
4647
5059
  constructor(opts: __ExceptionOptionType<WAFInvalidPermissionPolicyException, __BaseException>);
4648
5060
  }
5061
+ /**
5062
+ * @public
5063
+ */
4649
5064
  export interface TagResourceRequest {
4650
5065
  /**
4651
5066
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
@@ -4656,8 +5071,14 @@ export interface TagResourceRequest {
4656
5071
  */
4657
5072
  Tags: Tag[] | undefined;
4658
5073
  }
5074
+ /**
5075
+ * @public
5076
+ */
4659
5077
  export interface TagResourceResponse {
4660
5078
  }
5079
+ /**
5080
+ * @public
5081
+ */
4661
5082
  export interface UntagResourceRequest {
4662
5083
  /**
4663
5084
  * <p>The Amazon Resource Name (ARN) of the resource.</p>
@@ -4668,8 +5089,14 @@ export interface UntagResourceRequest {
4668
5089
  */
4669
5090
  TagKeys: string[] | undefined;
4670
5091
  }
5092
+ /**
5093
+ * @public
5094
+ */
4671
5095
  export interface UntagResourceResponse {
4672
5096
  }
5097
+ /**
5098
+ * @public
5099
+ */
4673
5100
  export interface UpdateIPSetRequest {
4674
5101
  /**
4675
5102
  * <p>The name of the IP set. You cannot change the name of an <code>IPSet</code> after you create it.</p>
@@ -4740,12 +5167,18 @@ export interface UpdateIPSetRequest {
4740
5167
  */
4741
5168
  LockToken: string | undefined;
4742
5169
  }
5170
+ /**
5171
+ * @public
5172
+ */
4743
5173
  export interface UpdateIPSetResponse {
4744
5174
  /**
4745
5175
  * <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>
4746
5176
  */
4747
5177
  NextLockToken?: string;
4748
5178
  }
5179
+ /**
5180
+ * @public
5181
+ */
4749
5182
  export interface UpdateManagedRuleSetVersionExpiryDateRequest {
4750
5183
  /**
4751
5184
  * <p>The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.</p>
@@ -4784,6 +5217,9 @@ export interface UpdateManagedRuleSetVersionExpiryDateRequest {
4784
5217
  */
4785
5218
  ExpiryTimestamp: Date | undefined;
4786
5219
  }
5220
+ /**
5221
+ * @public
5222
+ */
4787
5223
  export interface UpdateManagedRuleSetVersionExpiryDateResponse {
4788
5224
  /**
4789
5225
  * <p>The version that is set to expire. </p>
@@ -4799,6 +5235,9 @@ export interface UpdateManagedRuleSetVersionExpiryDateResponse {
4799
5235
  */
4800
5236
  NextLockToken?: string;
4801
5237
  }
5238
+ /**
5239
+ * @public
5240
+ */
4802
5241
  export interface UpdateRegexPatternSetRequest {
4803
5242
  /**
4804
5243
  * <p>The name of the set. You cannot change the name after you create the set.</p>
@@ -4834,18 +5273,27 @@ export interface UpdateRegexPatternSetRequest {
4834
5273
  */
4835
5274
  LockToken: string | undefined;
4836
5275
  }
5276
+ /**
5277
+ * @public
5278
+ */
4837
5279
  export interface UpdateRegexPatternSetResponse {
4838
5280
  /**
4839
5281
  * <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>
4840
5282
  */
4841
5283
  NextLockToken?: string;
4842
5284
  }
5285
+ /**
5286
+ * @public
5287
+ */
4843
5288
  export interface UpdateRuleGroupResponse {
4844
5289
  /**
4845
5290
  * <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>
4846
5291
  */
4847
5292
  NextLockToken?: string;
4848
5293
  }
5294
+ /**
5295
+ * @public
5296
+ */
4849
5297
  export interface UpdateWebACLResponse {
4850
5298
  /**
4851
5299
  * <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>
@@ -4853,6 +5301,7 @@ export interface UpdateWebACLResponse {
4853
5301
  NextLockToken?: string;
4854
5302
  }
4855
5303
  /**
5304
+ * @public
4856
5305
  * <p>The processing guidance for a <a>Rule</a>, used by WAF to determine whether
4857
5306
  * a web request matches the rule. </p>
4858
5307
  * <p>For example specifications, see the examples section of <a>CreateWebACL</a>.</p>
@@ -4957,6 +5406,7 @@ export interface Statement {
4957
5406
  RegexMatchStatement?: RegexMatchStatement;
4958
5407
  }
4959
5408
  /**
5409
+ * @public
4960
5410
  * <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>
4961
5411
  * <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>
4962
5412
  * <note>
@@ -5008,6 +5458,7 @@ export interface ManagedRuleGroupStatement {
5008
5458
  RuleActionOverrides?: RuleActionOverride[];
5009
5459
  }
5010
5460
  /**
5461
+ * @public
5011
5462
  * <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>
5012
5463
  */
5013
5464
  export interface NotStatement {
@@ -5017,6 +5468,7 @@ export interface NotStatement {
5017
5468
  Statement: Statement | undefined;
5018
5469
  }
5019
5470
  /**
5471
+ * @public
5020
5472
  * <p>A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests. </p>
5021
5473
  * <p>WAF tracks and manages web requests separately for each instance of a rate-based rule that you use. For example, if you provide the same rate-based rule settings in two web ACLs, each of the two rule statements represents a separate instance of the rate-based rule and gets its own tracking and management by WAF. If you define a rate-based rule inside a rule group, and then use that rule group in multiple places, each use creates a separate instance of the rate-based rule that gets its own tracking and management by WAF. </p>
5022
5474
  * <p>When the rule action triggers, WAF blocks additional requests from the IP address until the request rate falls below the limit.</p>
@@ -5073,6 +5525,7 @@ export interface RateBasedStatement {
5073
5525
  ForwardedIPConfig?: ForwardedIPConfig;
5074
5526
  }
5075
5527
  /**
5528
+ * @public
5076
5529
  * <p>A single rule, which you can use in a <a>WebACL</a> or <a>RuleGroup</a> to identify web requests that you want to allow, block, or count.
5077
5530
  * Each rule includes one top-level <a>Statement</a> that WAF uses to
5078
5531
  * identify matching web requests, and parameters that govern how WAF handles them. </p>
@@ -5160,6 +5613,7 @@ export interface Rule {
5160
5613
  ChallengeConfig?: ChallengeConfig;
5161
5614
  }
5162
5615
  /**
5616
+ * @public
5163
5617
  * <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>
5164
5618
  */
5165
5619
  export interface AndStatement {
@@ -5170,6 +5624,7 @@ export interface AndStatement {
5170
5624
  Statements: Statement[] | undefined;
5171
5625
  }
5172
5626
  /**
5627
+ * @public
5173
5628
  * <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>
5174
5629
  */
5175
5630
  export interface OrStatement {
@@ -5180,6 +5635,7 @@ export interface OrStatement {
5180
5635
  Statements: Statement[] | undefined;
5181
5636
  }
5182
5637
  /**
5638
+ * @public
5183
5639
  * <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>
5184
5640
  */
5185
5641
  export interface FirewallManagerStatement {
@@ -5199,6 +5655,7 @@ export interface FirewallManagerStatement {
5199
5655
  RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
5200
5656
  }
5201
5657
  /**
5658
+ * @public
5202
5659
  * <p>A rule group that's defined for an Firewall Manager WAF policy.</p>
5203
5660
  */
5204
5661
  export interface FirewallManagerRuleGroup {
@@ -5231,6 +5688,9 @@ export interface FirewallManagerRuleGroup {
5231
5688
  */
5232
5689
  VisibilityConfig: VisibilityConfig | undefined;
5233
5690
  }
5691
+ /**
5692
+ * @public
5693
+ */
5234
5694
  export interface CheckCapacityRequest {
5235
5695
  /**
5236
5696
  * <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, a Amazon Cognito user pool, or an App Runner service. </p>
@@ -5251,6 +5711,9 @@ export interface CheckCapacityRequest {
5251
5711
  */
5252
5712
  Rules: Rule[] | undefined;
5253
5713
  }
5714
+ /**
5715
+ * @public
5716
+ */
5254
5717
  export interface CreateRuleGroupRequest {
5255
5718
  /**
5256
5719
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
@@ -5312,6 +5775,9 @@ export interface CreateRuleGroupRequest {
5312
5775
  */
5313
5776
  CustomResponseBodies?: Record<string, CustomResponseBody>;
5314
5777
  }
5778
+ /**
5779
+ * @public
5780
+ */
5315
5781
  export interface CreateWebACLRequest {
5316
5782
  /**
5317
5783
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
@@ -5372,13 +5838,14 @@ export interface CreateWebACLRequest {
5372
5838
  ChallengeConfig?: ChallengeConfig;
5373
5839
  /**
5374
5840
  * <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>
5375
- * <p>Example JSON: <code>"TokenDomains": { "mywebsite.com", "myotherwebsite.com" }</code>
5841
+ * <p>Example JSON: <code>"TokenDomains": \{ "mywebsite.com", "myotherwebsite.com" \}</code>
5376
5842
  * </p>
5377
5843
  * <p>Public suffixes aren't allowed. For example, you can't use <code>usa.gov</code> or <code>co.uk</code> as token domains.</p>
5378
5844
  */
5379
5845
  TokenDomains?: string[];
5380
5846
  }
5381
5847
  /**
5848
+ * @public
5382
5849
  * <p> A rule group defines a collection of rules to inspect and control web requests that you can use in a <a>WebACL</a>. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements. </p>
5383
5850
  */
5384
5851
  export interface RuleGroup {
@@ -5459,6 +5926,9 @@ export interface RuleGroup {
5459
5926
  */
5460
5927
  ConsumedLabels?: LabelSummary[];
5461
5928
  }
5929
+ /**
5930
+ * @public
5931
+ */
5462
5932
  export interface UpdateRuleGroupRequest {
5463
5933
  /**
5464
5934
  * <p>The name of the rule group. You cannot change the name of a rule group after you create it.</p>
@@ -5509,6 +5979,9 @@ export interface UpdateRuleGroupRequest {
5509
5979
  */
5510
5980
  CustomResponseBodies?: Record<string, CustomResponseBody>;
5511
5981
  }
5982
+ /**
5983
+ * @public
5984
+ */
5512
5985
  export interface UpdateWebACLRequest {
5513
5986
  /**
5514
5987
  * <p>The name of the web ACL. You cannot change the name of a web ACL after you create it.</p>
@@ -5573,12 +6046,15 @@ export interface UpdateWebACLRequest {
5573
6046
  ChallengeConfig?: ChallengeConfig;
5574
6047
  /**
5575
6048
  * <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>
5576
- * <p>Example JSON: <code>"TokenDomains": { "mywebsite.com", "myotherwebsite.com" }</code>
6049
+ * <p>Example JSON: <code>"TokenDomains": \{ "mywebsite.com", "myotherwebsite.com" \}</code>
5577
6050
  * </p>
5578
6051
  * <p>Public suffixes aren't allowed. For example, you can't use <code>usa.gov</code> or <code>co.uk</code> as token domains.</p>
5579
6052
  */
5580
6053
  TokenDomains?: string[];
5581
6054
  }
6055
+ /**
6056
+ * @public
6057
+ */
5582
6058
  export interface GetRuleGroupResponse {
5583
6059
  /**
5584
6060
  * <p></p>
@@ -5590,6 +6066,7 @@ export interface GetRuleGroupResponse {
5590
6066
  LockToken?: string;
5591
6067
  }
5592
6068
  /**
6069
+ * @public
5593
6070
  * <p> A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types <a>Rule</a>, <a>RuleGroup</a>, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, Amazon Cognito user pool, or an App Runner service. </p>
5594
6071
  */
5595
6072
  export interface WebACL {
@@ -5704,6 +6181,9 @@ export interface WebACL {
5704
6181
  */
5705
6182
  TokenDomains?: string[];
5706
6183
  }
6184
+ /**
6185
+ * @public
6186
+ */
5707
6187
  export interface GetWebACLForResourceResponse {
5708
6188
  /**
5709
6189
  * <p>The web ACL that is associated with the resource. If there is no associated resource,
@@ -5711,6 +6191,9 @@ export interface GetWebACLForResourceResponse {
5711
6191
  */
5712
6192
  WebACL?: WebACL;
5713
6193
  }
6194
+ /**
6195
+ * @public
6196
+ */
5714
6197
  export interface GetWebACLResponse {
5715
6198
  /**
5716
6199
  * <p>The web ACL specification. You can modify the settings in this web ACL and use it to