@aws-sdk/client-wafv2 3.418.0 → 3.419.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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WAFInvalidPermissionPolicyException = exports.WAFServiceLinkedRoleErrorException = exports.WAFLogDestinationPermissionIssueException = exports.ResourceType = exports.FailureReason = exports.WAFUnsupportedAggregateKeyTypeException = exports.FilterRequirement = exports.FilterBehavior = exports.Platform = exports.WAFAssociatedItemException = exports.WAFConfigurationWarningException = exports.ResponseContentType = exports.WAFTagOperationInternalErrorException = exports.WAFTagOperationException = exports.WAFOptimisticLockException = exports.WAFDuplicateItemException = exports.IPAddressVersion = exports.WAFSubscriptionNotFoundException = exports.WAFLimitsExceededException = exports.WAFInvalidResourceException = exports.WAFExpiredManagedRuleGroupVersionException = exports.Scope = exports.SizeInspectionLimit = exports.WAFUnavailableEntityException = exports.WAFNonexistentItemException = exports.WAFInvalidParameterException = exports.ParameterExceptionField = exports.WAFInvalidOperationException = exports.WAFInternalErrorException = exports.AssociatedResourceType = exports.SensitivityLevel = exports.ComparisonOperator = exports.RateBasedStatementAggregateKeyType = exports.InspectionLevel = exports.PayloadType = exports.LabelMatchScope = exports.ForwardedIPPosition = exports.FallbackBehavior = exports.CountryCode = exports.TextTransformationType = exports.PositionalConstraint = exports.JsonMatchScope = exports.BodyParsingFallbackBehavior = exports.MapMatchScope = exports.OversizeHandling = exports.ActionValue = void 0;
3
+ exports.WAFInvalidPermissionPolicyException = exports.WAFServiceLinkedRoleErrorException = exports.WAFLogDestinationPermissionIssueException = exports.ResourceType = exports.FailureReason = exports.WAFUnsupportedAggregateKeyTypeException = exports.FilterRequirement = exports.FilterBehavior = exports.Platform = exports.WAFAssociatedItemException = exports.WAFConfigurationWarningException = exports.ResponseContentType = exports.WAFTagOperationInternalErrorException = exports.WAFTagOperationException = exports.WAFOptimisticLockException = exports.WAFDuplicateItemException = exports.IPAddressVersion = exports.WAFSubscriptionNotFoundException = exports.WAFLimitsExceededException = exports.WAFInvalidResourceException = exports.WAFExpiredManagedRuleGroupVersionException = exports.Scope = exports.SizeInspectionLimit = exports.WAFUnavailableEntityException = exports.WAFNonexistentItemException = exports.WAFInvalidParameterException = exports.ParameterExceptionField = exports.WAFInvalidOperationException = exports.WAFInternalErrorException = exports.AssociatedResourceType = exports.SensitivityLevel = exports.ComparisonOperator = exports.RateBasedStatementAggregateKeyType = exports.InspectionLevel = exports.PayloadType = exports.LabelMatchScope = exports.ForwardedIPPosition = exports.CountryCode = exports.TextTransformationType = exports.PositionalConstraint = exports.JsonMatchScope = exports.BodyParsingFallbackBehavior = exports.FallbackBehavior = exports.MapMatchScope = exports.OversizeHandling = exports.ActionValue = void 0;
4
4
  const WAFV2ServiceException_1 = require("./WAFV2ServiceException");
5
5
  exports.ActionValue = {
6
6
  ALLOW: "ALLOW",
@@ -20,6 +20,10 @@ exports.MapMatchScope = {
20
20
  KEY: "KEY",
21
21
  VALUE: "VALUE",
22
22
  };
23
+ exports.FallbackBehavior = {
24
+ MATCH: "MATCH",
25
+ NO_MATCH: "NO_MATCH",
26
+ };
23
27
  exports.BodyParsingFallbackBehavior = {
24
28
  EVALUATE_AS_STRING: "EVALUATE_AS_STRING",
25
29
  MATCH: "MATCH",
@@ -312,10 +316,6 @@ exports.CountryCode = {
312
316
  ZM: "ZM",
313
317
  ZW: "ZW",
314
318
  };
315
- exports.FallbackBehavior = {
316
- MATCH: "MATCH",
317
- NO_MATCH: "NO_MATCH",
318
- };
319
319
  exports.ForwardedIPPosition = {
320
320
  ANY: "ANY",
321
321
  FIRST: "FIRST",
@@ -17,6 +17,10 @@ export const MapMatchScope = {
17
17
  KEY: "KEY",
18
18
  VALUE: "VALUE",
19
19
  };
20
+ export const FallbackBehavior = {
21
+ MATCH: "MATCH",
22
+ NO_MATCH: "NO_MATCH",
23
+ };
20
24
  export const BodyParsingFallbackBehavior = {
21
25
  EVALUATE_AS_STRING: "EVALUATE_AS_STRING",
22
26
  MATCH: "MATCH",
@@ -309,10 +313,6 @@ export const CountryCode = {
309
313
  ZM: "ZM",
310
314
  ZW: "ZW",
311
315
  };
312
- export const FallbackBehavior = {
313
- MATCH: "MATCH",
314
- NO_MATCH: "NO_MATCH",
315
- };
316
316
  export const ForwardedIPPosition = {
317
317
  ANY: "ANY",
318
318
  FIRST: "FIRST",
@@ -104,6 +104,9 @@ export interface CheckCapacityCommandOutput extends CheckCapacityResponse, __Met
104
104
  * HeaderOrder: { // HeaderOrder
105
105
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
106
106
  * },
107
+ * JA3Fingerprint: { // JA3Fingerprint
108
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
109
+ * },
107
110
  * },
108
111
  * TextTransformations: [ // TextTransformations // required
109
112
  * { // TextTransformation
@@ -168,6 +171,9 @@ export interface CheckCapacityCommandOutput extends CheckCapacityResponse, __Met
168
171
  * HeaderOrder: {
169
172
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
170
173
  * },
174
+ * JA3Fingerprint: {
175
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
176
+ * },
171
177
  * },
172
178
  * TextTransformations: [ // required
173
179
  * {
@@ -228,6 +234,9 @@ export interface CheckCapacityCommandOutput extends CheckCapacityResponse, __Met
228
234
  * HeaderOrder: {
229
235
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
230
236
  * },
237
+ * JA3Fingerprint: {
238
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
239
+ * },
231
240
  * },
232
241
  * TextTransformations: [ // required
233
242
  * {
@@ -283,6 +292,9 @@ export interface CheckCapacityCommandOutput extends CheckCapacityResponse, __Met
283
292
  * HeaderOrder: {
284
293
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
285
294
  * },
295
+ * JA3Fingerprint: {
296
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
297
+ * },
286
298
  * },
287
299
  * ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
288
300
  * Size: Number("long"), // required
@@ -425,6 +437,9 @@ export interface CheckCapacityCommandOutput extends CheckCapacityResponse, __Met
425
437
  * HeaderOrder: {
426
438
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
427
439
  * },
440
+ * JA3Fingerprint: {
441
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
442
+ * },
428
443
  * },
429
444
  * TextTransformations: [ // required
430
445
  * {
@@ -97,6 +97,9 @@ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, _
97
97
  * HeaderOrder: { // HeaderOrder
98
98
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
99
99
  * },
100
+ * JA3Fingerprint: { // JA3Fingerprint
101
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
102
+ * },
100
103
  * },
101
104
  * TextTransformations: [ // TextTransformations // required
102
105
  * { // TextTransformation
@@ -161,6 +164,9 @@ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, _
161
164
  * HeaderOrder: {
162
165
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
163
166
  * },
167
+ * JA3Fingerprint: {
168
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
169
+ * },
164
170
  * },
165
171
  * TextTransformations: [ // required
166
172
  * {
@@ -221,6 +227,9 @@ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, _
221
227
  * HeaderOrder: {
222
228
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
223
229
  * },
230
+ * JA3Fingerprint: {
231
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
232
+ * },
224
233
  * },
225
234
  * TextTransformations: [ // required
226
235
  * {
@@ -276,6 +285,9 @@ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, _
276
285
  * HeaderOrder: {
277
286
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
278
287
  * },
288
+ * JA3Fingerprint: {
289
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
290
+ * },
279
291
  * },
280
292
  * ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
281
293
  * Size: Number("long"), // required
@@ -418,6 +430,9 @@ export interface CreateRuleGroupCommandOutput extends CreateRuleGroupResponse, _
418
430
  * HeaderOrder: {
419
431
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
420
432
  * },
433
+ * JA3Fingerprint: {
434
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
435
+ * },
421
436
  * },
422
437
  * TextTransformations: [ // required
423
438
  * {
@@ -24,7 +24,7 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
24
24
  /**
25
25
  * @public
26
26
  * <p>Creates a <a>WebACL</a> per the specifications provided.</p>
27
- * <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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
27
+ * <p> A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. 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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
28
28
  * @example
29
29
  * Use a bare-bones client and the command you need to make an API call.
30
30
  * ```javascript
@@ -120,6 +120,9 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
120
120
  * HeaderOrder: { // HeaderOrder
121
121
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
122
122
  * },
123
+ * JA3Fingerprint: { // JA3Fingerprint
124
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
125
+ * },
123
126
  * },
124
127
  * TextTransformations: [ // TextTransformations // required
125
128
  * { // TextTransformation
@@ -184,6 +187,9 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
184
187
  * HeaderOrder: {
185
188
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
186
189
  * },
190
+ * JA3Fingerprint: {
191
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
192
+ * },
187
193
  * },
188
194
  * TextTransformations: [ // required
189
195
  * {
@@ -244,6 +250,9 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
244
250
  * HeaderOrder: {
245
251
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
246
252
  * },
253
+ * JA3Fingerprint: {
254
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
255
+ * },
247
256
  * },
248
257
  * TextTransformations: [ // required
249
258
  * {
@@ -299,6 +308,9 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
299
308
  * HeaderOrder: {
300
309
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
301
310
  * },
311
+ * JA3Fingerprint: {
312
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
313
+ * },
302
314
  * },
303
315
  * ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
304
316
  * Size: Number("long"), // required
@@ -431,6 +443,9 @@ export interface CreateWebACLCommandOutput extends CreateWebACLResponse, __Metad
431
443
  * HeaderOrder: {
432
444
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
433
445
  * },
446
+ * JA3Fingerprint: {
447
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
448
+ * },
434
449
  * },
435
450
  * TextTransformations: [ // required
436
451
  * {
@@ -96,6 +96,9 @@ export interface GetLoggingConfigurationCommandOutput extends GetLoggingConfigur
96
96
  * // HeaderOrder: { // HeaderOrder
97
97
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
98
98
  * // },
99
+ * // JA3Fingerprint: { // JA3Fingerprint
100
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
101
+ * // },
99
102
  * // },
100
103
  * // ],
101
104
  * // ManagedByFirewallManager: true || false,
@@ -106,6 +106,9 @@ export interface GetRuleGroupCommandOutput extends GetRuleGroupResponse, __Metad
106
106
  * // HeaderOrder: { // HeaderOrder
107
107
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
108
108
  * // },
109
+ * // JA3Fingerprint: { // JA3Fingerprint
110
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
111
+ * // },
109
112
  * // },
110
113
  * // TextTransformations: [ // TextTransformations // required
111
114
  * // { // TextTransformation
@@ -170,6 +173,9 @@ export interface GetRuleGroupCommandOutput extends GetRuleGroupResponse, __Metad
170
173
  * // HeaderOrder: {
171
174
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
172
175
  * // },
176
+ * // JA3Fingerprint: {
177
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
178
+ * // },
173
179
  * // },
174
180
  * // TextTransformations: [ // required
175
181
  * // {
@@ -230,6 +236,9 @@ export interface GetRuleGroupCommandOutput extends GetRuleGroupResponse, __Metad
230
236
  * // HeaderOrder: {
231
237
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
232
238
  * // },
239
+ * // JA3Fingerprint: {
240
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
241
+ * // },
233
242
  * // },
234
243
  * // TextTransformations: [ // required
235
244
  * // {
@@ -285,6 +294,9 @@ export interface GetRuleGroupCommandOutput extends GetRuleGroupResponse, __Metad
285
294
  * // HeaderOrder: {
286
295
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
287
296
  * // },
297
+ * // JA3Fingerprint: {
298
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
299
+ * // },
288
300
  * // },
289
301
  * // ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
290
302
  * // Size: Number("long"), // required
@@ -427,6 +439,9 @@ export interface GetRuleGroupCommandOutput extends GetRuleGroupResponse, __Metad
427
439
  * // HeaderOrder: {
428
440
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
429
441
  * // },
442
+ * // JA3Fingerprint: {
443
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
444
+ * // },
430
445
  * // },
431
446
  * // TextTransformations: [ // required
432
447
  * // {
@@ -128,6 +128,9 @@ export interface GetWebACLCommandOutput extends GetWebACLResponse, __MetadataBea
128
128
  * // HeaderOrder: { // HeaderOrder
129
129
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
130
130
  * // },
131
+ * // JA3Fingerprint: { // JA3Fingerprint
132
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
133
+ * // },
131
134
  * // },
132
135
  * // TextTransformations: [ // TextTransformations // required
133
136
  * // { // TextTransformation
@@ -192,6 +195,9 @@ export interface GetWebACLCommandOutput extends GetWebACLResponse, __MetadataBea
192
195
  * // HeaderOrder: {
193
196
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
194
197
  * // },
198
+ * // JA3Fingerprint: {
199
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
200
+ * // },
195
201
  * // },
196
202
  * // TextTransformations: [ // required
197
203
  * // {
@@ -252,6 +258,9 @@ export interface GetWebACLCommandOutput extends GetWebACLResponse, __MetadataBea
252
258
  * // HeaderOrder: {
253
259
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
254
260
  * // },
261
+ * // JA3Fingerprint: {
262
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
263
+ * // },
255
264
  * // },
256
265
  * // TextTransformations: [ // required
257
266
  * // {
@@ -307,6 +316,9 @@ export interface GetWebACLCommandOutput extends GetWebACLResponse, __MetadataBea
307
316
  * // HeaderOrder: {
308
317
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
309
318
  * // },
319
+ * // JA3Fingerprint: {
320
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
321
+ * // },
310
322
  * // },
311
323
  * // ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
312
324
  * // Size: Number("long"), // required
@@ -439,6 +451,9 @@ export interface GetWebACLCommandOutput extends GetWebACLResponse, __MetadataBea
439
451
  * // HeaderOrder: {
440
452
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
441
453
  * // },
454
+ * // JA3Fingerprint: {
455
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
456
+ * // },
442
457
  * // },
443
458
  * // TextTransformations: [ // required
444
459
  * // {
@@ -126,6 +126,9 @@ export interface GetWebACLForResourceCommandOutput extends GetWebACLForResourceR
126
126
  * // HeaderOrder: { // HeaderOrder
127
127
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
128
128
  * // },
129
+ * // JA3Fingerprint: { // JA3Fingerprint
130
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
131
+ * // },
129
132
  * // },
130
133
  * // TextTransformations: [ // TextTransformations // required
131
134
  * // { // TextTransformation
@@ -190,6 +193,9 @@ export interface GetWebACLForResourceCommandOutput extends GetWebACLForResourceR
190
193
  * // HeaderOrder: {
191
194
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
192
195
  * // },
196
+ * // JA3Fingerprint: {
197
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
198
+ * // },
193
199
  * // },
194
200
  * // TextTransformations: [ // required
195
201
  * // {
@@ -250,6 +256,9 @@ export interface GetWebACLForResourceCommandOutput extends GetWebACLForResourceR
250
256
  * // HeaderOrder: {
251
257
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
252
258
  * // },
259
+ * // JA3Fingerprint: {
260
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
261
+ * // },
253
262
  * // },
254
263
  * // TextTransformations: [ // required
255
264
  * // {
@@ -305,6 +314,9 @@ export interface GetWebACLForResourceCommandOutput extends GetWebACLForResourceR
305
314
  * // HeaderOrder: {
306
315
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
307
316
  * // },
317
+ * // JA3Fingerprint: {
318
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
319
+ * // },
308
320
  * // },
309
321
  * // ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
310
322
  * // Size: Number("long"), // required
@@ -437,6 +449,9 @@ export interface GetWebACLForResourceCommandOutput extends GetWebACLForResourceR
437
449
  * // HeaderOrder: {
438
450
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
439
451
  * // },
452
+ * // JA3Fingerprint: {
453
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
454
+ * // },
440
455
  * // },
441
456
  * // TextTransformations: [ // required
442
457
  * // {
@@ -99,6 +99,9 @@ export interface ListLoggingConfigurationsCommandOutput extends ListLoggingConfi
99
99
  * // HeaderOrder: { // HeaderOrder
100
100
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
101
101
  * // },
102
+ * // JA3Fingerprint: { // JA3Fingerprint
103
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
104
+ * // },
102
105
  * // },
103
106
  * // ],
104
107
  * // ManagedByFirewallManager: true || false,
@@ -133,6 +133,9 @@ export interface PutLoggingConfigurationCommandOutput extends PutLoggingConfigur
133
133
  * HeaderOrder: { // HeaderOrder
134
134
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
135
135
  * },
136
+ * JA3Fingerprint: { // JA3Fingerprint
137
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
138
+ * },
136
139
  * },
137
140
  * ],
138
141
  * ManagedByFirewallManager: true || false,
@@ -220,6 +223,9 @@ export interface PutLoggingConfigurationCommandOutput extends PutLoggingConfigur
220
223
  * // HeaderOrder: { // HeaderOrder
221
224
  * // OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
222
225
  * // },
226
+ * // JA3Fingerprint: { // JA3Fingerprint
227
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
228
+ * // },
223
229
  * // },
224
230
  * // ],
225
231
  * // ManagedByFirewallManager: true || false,
@@ -114,6 +114,9 @@ export interface UpdateRuleGroupCommandOutput extends UpdateRuleGroupResponse, _
114
114
  * HeaderOrder: { // HeaderOrder
115
115
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
116
116
  * },
117
+ * JA3Fingerprint: { // JA3Fingerprint
118
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
119
+ * },
117
120
  * },
118
121
  * TextTransformations: [ // TextTransformations // required
119
122
  * { // TextTransformation
@@ -178,6 +181,9 @@ export interface UpdateRuleGroupCommandOutput extends UpdateRuleGroupResponse, _
178
181
  * HeaderOrder: {
179
182
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
180
183
  * },
184
+ * JA3Fingerprint: {
185
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
186
+ * },
181
187
  * },
182
188
  * TextTransformations: [ // required
183
189
  * {
@@ -238,6 +244,9 @@ export interface UpdateRuleGroupCommandOutput extends UpdateRuleGroupResponse, _
238
244
  * HeaderOrder: {
239
245
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
240
246
  * },
247
+ * JA3Fingerprint: {
248
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
249
+ * },
241
250
  * },
242
251
  * TextTransformations: [ // required
243
252
  * {
@@ -293,6 +302,9 @@ export interface UpdateRuleGroupCommandOutput extends UpdateRuleGroupResponse, _
293
302
  * HeaderOrder: {
294
303
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
295
304
  * },
305
+ * JA3Fingerprint: {
306
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
307
+ * },
296
308
  * },
297
309
  * ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
298
310
  * Size: Number("long"), // required
@@ -435,6 +447,9 @@ export interface UpdateRuleGroupCommandOutput extends UpdateRuleGroupResponse, _
435
447
  * HeaderOrder: {
436
448
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
437
449
  * },
450
+ * JA3Fingerprint: {
451
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
452
+ * },
438
453
  * },
439
454
  * TextTransformations: [ // required
440
455
  * {
@@ -42,7 +42,7 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
42
42
  * </ol>
43
43
  * </note>
44
44
  * <p>When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but there might be a brief period of inconsistency when the changes have arrived in some places and not in others. So, for example, if you change a rule action setting, the action might be the old action in one area and the new action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already associated with a resource. Generally, any inconsistencies of this type last only a few seconds.</p>
45
- * <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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
45
+ * <p> A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. 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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
46
46
  * @example
47
47
  * Use a bare-bones client and the command you need to make an API call.
48
48
  * ```javascript
@@ -139,6 +139,9 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
139
139
  * HeaderOrder: { // HeaderOrder
140
140
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
141
141
  * },
142
+ * JA3Fingerprint: { // JA3Fingerprint
143
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
144
+ * },
142
145
  * },
143
146
  * TextTransformations: [ // TextTransformations // required
144
147
  * { // TextTransformation
@@ -203,6 +206,9 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
203
206
  * HeaderOrder: {
204
207
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
205
208
  * },
209
+ * JA3Fingerprint: {
210
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
211
+ * },
206
212
  * },
207
213
  * TextTransformations: [ // required
208
214
  * {
@@ -263,6 +269,9 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
263
269
  * HeaderOrder: {
264
270
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
265
271
  * },
272
+ * JA3Fingerprint: {
273
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
274
+ * },
266
275
  * },
267
276
  * TextTransformations: [ // required
268
277
  * {
@@ -318,6 +327,9 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
318
327
  * HeaderOrder: {
319
328
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
320
329
  * },
330
+ * JA3Fingerprint: {
331
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
332
+ * },
321
333
  * },
322
334
  * ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required
323
335
  * Size: Number("long"), // required
@@ -450,6 +462,9 @@ export interface UpdateWebACLCommandOutput extends UpdateWebACLResponse, __Metad
450
462
  * HeaderOrder: {
451
463
  * OversizeHandling: "CONTINUE" || "MATCH" || "NO_MATCH", // required
452
464
  * },
465
+ * JA3Fingerprint: {
466
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
467
+ * },
453
468
  * },
454
469
  * TextTransformations: [ // required
455
470
  * {
@@ -388,6 +388,44 @@ export interface Headers {
388
388
  */
389
389
  OversizeHandling: OversizeHandling | string | undefined;
390
390
  }
391
+ /**
392
+ * @public
393
+ * @enum
394
+ */
395
+ export declare const FallbackBehavior: {
396
+ readonly MATCH: "MATCH";
397
+ readonly NO_MATCH: "NO_MATCH";
398
+ };
399
+ /**
400
+ * @public
401
+ */
402
+ export type FallbackBehavior = (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
403
+ /**
404
+ * @public
405
+ * <p>Match against the request's JA3 fingerprint header. The header contains a hash fingerprint of the TLS Client Hello packet for the request. </p>
406
+ * <note>
407
+ * <p>You can use this choice only with a string match <code>ByteMatchStatement</code> with the <code>PositionalConstraint</code> set to
408
+ * <code>EXACTLY</code>. </p>
409
+ * </note>
410
+ */
411
+ export interface JA3Fingerprint {
412
+ /**
413
+ * @public
414
+ * <p>The match status to assign to the web request if the request doesn't have a JA3 fingerprint. </p>
415
+ * <p>You can specify the following fallback behaviors:</p>
416
+ * <ul>
417
+ * <li>
418
+ * <p>
419
+ * <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
420
+ * </li>
421
+ * <li>
422
+ * <p>
423
+ * <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
424
+ * </li>
425
+ * </ul>
426
+ */
427
+ FallbackBehavior: FallbackBehavior | string | undefined;
428
+ }
391
429
  /**
392
430
  * @public
393
431
  * @enum
@@ -729,6 +767,15 @@ export interface FieldToMatch {
729
767
  * WAF separates the header names in the string using colons and no added spaces, for example <code>host:user-agent:accept:authorization:referer</code>.</p>
730
768
  */
731
769
  HeaderOrder?: HeaderOrder;
770
+ /**
771
+ * @public
772
+ * <p>Match against the request's JA3 fingerprint header. The header contains a hash fingerprint of the TLS Client Hello packet for the request. </p>
773
+ * <note>
774
+ * <p>You can use this choice only with a string match <code>ByteMatchStatement</code> with the <code>PositionalConstraint</code> set to
775
+ * <code>EXACTLY</code>. </p>
776
+ * </note>
777
+ */
778
+ JA3Fingerprint?: JA3Fingerprint;
732
779
  }
733
780
  /**
734
781
  * @public
@@ -792,164 +839,8 @@ export interface TextTransformation {
792
839
  Priority: number | undefined;
793
840
  /**
794
841
  * @public
795
- * <p>You can specify the following transformation types:</p>
796
- * <p>
797
- * <b>BASE64_DECODE</b> - Decode a
798
- * <code>Base64</code>-encoded string.</p>
799
- * <p>
800
- * <b>BASE64_DECODE_EXT</b> - Decode a
801
- * <code>Base64</code>-encoded string, but use a forgiving implementation that ignores
802
- * characters that aren't valid.</p>
803
- * <p>
804
- * <b>CMD_LINE</b> - Command-line transformations. These are
805
- * helpful in reducing effectiveness of attackers who inject an operating system command-line
806
- * command and use unusual formatting to disguise some or all of the command. </p>
807
- * <ul>
808
- * <li>
809
- * <p>Delete the following characters: <code>\ " ' ^</code>
810
- * </p>
811
- * </li>
812
- * <li>
813
- * <p>Delete spaces before the following characters: <code>/ (</code>
814
- * </p>
815
- * </li>
816
- * <li>
817
- * <p>Replace the following characters with a space: <code>, ;</code>
818
- * </p>
819
- * </li>
820
- * <li>
821
- * <p>Replace multiple spaces with one space</p>
822
- * </li>
823
- * <li>
824
- * <p>Convert uppercase letters (A-Z) to lowercase (a-z)</p>
825
- * </li>
826
- * </ul>
827
- * <p>
828
- * <b>COMPRESS_WHITE_SPACE</b> - Replace these characters
829
- * with a space character (decimal 32): </p>
830
- * <ul>
831
- * <li>
832
- * <p>
833
- * <code>\f</code>, formfeed, decimal 12</p>
834
- * </li>
835
- * <li>
836
- * <p>
837
- * <code>\t</code>, tab, decimal 9</p>
838
- * </li>
839
- * <li>
840
- * <p>
841
- * <code>\n</code>, newline, decimal 10</p>
842
- * </li>
843
- * <li>
844
- * <p>
845
- * <code>\r</code>, carriage return, decimal 13</p>
846
- * </li>
847
- * <li>
848
- * <p>
849
- * <code>\v</code>, vertical tab, decimal 11</p>
850
- * </li>
851
- * <li>
852
- * <p>Non-breaking space, decimal 160</p>
853
- * </li>
854
- * </ul>
855
- * <p>
856
- * <code>COMPRESS_WHITE_SPACE</code> also replaces multiple spaces with one space.</p>
857
- * <p>
858
- * <b>CSS_DECODE</b> - Decode characters that were encoded
859
- * using CSS 2.x escape rules <code>syndata.html#characters</code>. This function uses up to
860
- * two bytes in the decoding process, so it can help to uncover ASCII characters that were
861
- * encoded using CSS encoding that wouldn’t typically be encoded. It's also useful in
862
- * countering evasion, which is a combination of a backslash and non-hexadecimal characters.
863
- * For example, <code>ja\vascript</code> for javascript. </p>
864
- * <p>
865
- * <b>ESCAPE_SEQ_DECODE</b> - Decode the following ANSI C
866
- * escape sequences: <code>\a</code>, <code>\b</code>, <code>\f</code>, <code>\n</code>,
867
- * <code>\r</code>, <code>\t</code>, <code>\v</code>, <code>\\</code>, <code>\?</code>,
868
- * <code>\'</code>, <code>\"</code>, <code>\xHH</code> (hexadecimal), <code>\0OOO</code>
869
- * (octal). Encodings that aren't valid remain in the output. </p>
870
- * <p>
871
- * <b>HEX_DECODE</b> - Decode a string of hexadecimal
872
- * characters into a binary.</p>
873
- * <p>
874
- * <b>HTML_ENTITY_DECODE</b> - Replace HTML-encoded
875
- * characters with unencoded characters. <code>HTML_ENTITY_DECODE</code> performs these
876
- * operations: </p>
877
- * <ul>
878
- * <li>
879
- * <p>Replaces <code>(ampersand)quot;</code> with <code>"</code>
880
- * </p>
881
- * </li>
882
- * <li>
883
- * <p>Replaces <code>(ampersand)nbsp;</code> with a non-breaking space, decimal
884
- * 160</p>
885
- * </li>
886
- * <li>
887
- * <p>Replaces <code>(ampersand)lt;</code> with a "less than" symbol</p>
888
- * </li>
889
- * <li>
890
- * <p>Replaces <code>(ampersand)gt;</code> with <code>></code>
891
- * </p>
892
- * </li>
893
- * <li>
894
- * <p>Replaces characters that are represented in hexadecimal format,
895
- * <code>(ampersand)#xhhhh;</code>, with the corresponding characters</p>
896
- * </li>
897
- * <li>
898
- * <p>Replaces characters that are represented in decimal format,
899
- * <code>(ampersand)#nnnn;</code>, with the corresponding characters</p>
900
- * </li>
901
- * </ul>
902
- * <p>
903
- * <b>JS_DECODE</b> - Decode JavaScript escape sequences. If
904
- * a
905
- * <code>\</code>
906
- * <code>u</code>
907
- * <code>HHHH</code>
908
- * code is in the full-width ASCII code range of <code>FF01-FF5E</code>, then the higher byte
909
- * is used to detect and adjust the lower byte. If not, only the lower byte is used and the
910
- * higher byte is zeroed, causing a possible loss of information. </p>
911
- * <p>
912
- * <b>LOWERCASE</b> - Convert uppercase letters (A-Z) to
913
- * lowercase (a-z). </p>
914
- * <p>
915
- * <b>MD5</b> - Calculate an MD5 hash from the data in the
916
- * input. The computed hash is in a raw binary form. </p>
917
- * <p>
918
- * <b>NONE</b> - Specify <code>NONE</code> if you don't want
919
- * any text transformations. </p>
920
- * <p>
921
- * <b>NORMALIZE_PATH</b> - Remove multiple slashes, directory
922
- * self-references, and directory back-references that are not at the beginning of the input
923
- * from an input string. </p>
924
- * <p>
925
- * <b>NORMALIZE_PATH_WIN</b> - This is the same as
926
- * <code>NORMALIZE_PATH</code>, but first converts backslash characters to forward slashes. </p>
927
- * <p>
928
- * <b>REMOVE_NULLS</b> - Remove all <code>NULL</code> bytes
929
- * from the input. </p>
930
- * <p>
931
- * <b>REPLACE_COMMENTS</b> - Replace each occurrence of a
932
- * C-style comment (<code>/* ... *\/</code>) with a single space. Multiple consecutive
933
- * occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII
934
- * 0x20). However, a standalone termination of a comment (<code>*\/</code>) is not acted upon. </p>
935
- * <p>
936
- * <b>REPLACE_NULLS</b> - Replace NULL bytes in the input
937
- * with space characters (ASCII <code>0x20</code>). </p>
938
- * <p>
939
- * <b>SQL_HEX_DECODE</b> - Decode SQL hex data. Example
940
- * (<code>0x414243</code>) will be decoded to (<code>ABC</code>).</p>
941
- * <p>
942
- * <b>URL_DECODE</b> - Decode a URL-encoded value. </p>
943
- * <p>
944
- * <b>URL_DECODE_UNI</b> - Like <code>URL_DECODE</code>, but
945
- * with support for Microsoft-specific <code>%u</code> encoding. If the code is in the
946
- * full-width ASCII code range of <code>FF01-FF5E</code>, the higher byte is used to detect
947
- * and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is
948
- * zeroed. </p>
949
- * <p>
950
- * <b>UTF8_TO_UNICODE</b> - Convert all UTF-8 character
951
- * sequences to Unicode. This helps input normalization, and minimizing false-positives and
952
- * false-negatives for non-English languages.</p>
842
+ * <p>For detailed descriptions of each of the transformation types, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-transformation.html">Text transformations</a>
843
+ * in the <i>WAF Developer Guide</i>.</p>
953
844
  */
954
845
  Type: TextTransformationType | string | undefined;
955
846
  }
@@ -978,6 +869,11 @@ export interface ByteMatchStatement {
978
869
  * </li>
979
870
  * <li>
980
871
  * <p>
872
+ * <code>JA3Fingerprint</code>: The string to match against the web request's JA3 fingerprint header. The header contains a hash fingerprint of the TLS Client Hello packet for
873
+ * the request. </p>
874
+ * </li>
875
+ * <li>
876
+ * <p>
981
877
  * <code>HeaderOrder</code>: The comma-separated list of header names to match for. WAF creates a
982
878
  * string that contains the ordered list of header names, from the headers in the web request, and then matches against that string. </p>
983
879
  * </li>
@@ -1008,7 +904,7 @@ export interface ByteMatchStatement {
1008
904
  FieldToMatch: FieldToMatch | undefined;
1009
905
  /**
1010
906
  * @public
1011
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
907
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
1012
908
  */
1013
909
  TextTransformations: TextTransformation[] | undefined;
1014
910
  /**
@@ -1320,18 +1216,6 @@ export declare const CountryCode: {
1320
1216
  * @public
1321
1217
  */
1322
1218
  export type CountryCode = (typeof CountryCode)[keyof typeof CountryCode];
1323
- /**
1324
- * @public
1325
- * @enum
1326
- */
1327
- export declare const FallbackBehavior: {
1328
- readonly MATCH: "MATCH";
1329
- readonly NO_MATCH: "NO_MATCH";
1330
- };
1331
- /**
1332
- * @public
1333
- */
1334
- export type FallbackBehavior = (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
1335
1219
  /**
1336
1220
  * @public
1337
1221
  * <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>
@@ -1967,7 +1851,15 @@ export interface AWSManagedRulesACFPRuleSet {
1967
1851
  /**
1968
1852
  * @public
1969
1853
  * <p>The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept <code>POST</code> requests.</p>
1970
- * <p>For example, for the URL <code>https://example.com/web/signup</code>, you would provide the path <code>/web/signup</code>.</p>
1854
+ * <p>For example, for the URL <code>https://example.com/web/newaccount</code>, you would provide
1855
+ * the path <code>/web/newaccount</code>. Account creation page paths that
1856
+ * start with the path that you provide are considered a match. For example
1857
+ * <code>/web/newaccount</code> matches the account creation paths
1858
+ * <code>/web/newaccount</code>, <code>/web/newaccount/</code>,
1859
+ * <code>/web/newaccountPage</code>, and
1860
+ * <code>/web/newaccount/thisPage</code>, but doesn't match the path
1861
+ * <code>/home/web/newaccount</code> or
1862
+ * <code>/website/newaccount</code>. </p>
1971
1863
  */
1972
1864
  CreationPath: string | undefined;
1973
1865
  /**
@@ -1976,7 +1868,15 @@ export interface AWSManagedRulesACFPRuleSet {
1976
1868
  * <note>
1977
1869
  * <p>This page must accept <code>GET</code> text/html requests.</p>
1978
1870
  * </note>
1979
- * <p>For example, for the URL <code>https://example.com/web/register</code>, you would provide the path <code>/web/register</code>.</p>
1871
+ * <p>For example, for the URL <code>https://example.com/web/registration</code>, you would provide
1872
+ * the path <code>/web/registration</code>. Registration page paths that
1873
+ * start with the path that you provide are considered a match. For example
1874
+ * <code>/web/registration</code> matches the registration paths
1875
+ * <code>/web/registration</code>, <code>/web/registration/</code>,
1876
+ * <code>/web/registrationPage</code>, and
1877
+ * <code>/web/registration/thisPage</code>, but doesn't match the path
1878
+ * <code>/home/web/registration</code> or
1879
+ * <code>/website/registration</code>. </p>
1980
1880
  */
1981
1881
  RegistrationPagePath: string | undefined;
1982
1882
  /**
@@ -2070,7 +1970,7 @@ export interface AWSManagedRulesATPRuleSet {
2070
1970
  * @public
2071
1971
  * <p>The path of the login endpoint for your application. For example, for the URL
2072
1972
  * <code>https://example.com/web/login</code>, you would provide the path
2073
- * <code>/web/login</code>.</p>
1973
+ * <code>/web/login</code>. Login paths that start with the path that you provide are considered a match. For example <code>/web/login</code> matches the login paths <code>/web/login</code>, <code>/web/login/</code>, <code>/web/loginPage</code>, and <code>/web/login/thisPage</code>, but doesn't match the login path <code>/home/web/login</code> or <code>/website/login</code>.</p>
2074
1974
  * <p>The rule group inspects only HTTP <code>POST</code> requests to your specified login endpoint.</p>
2075
1975
  */
2076
1976
  LoginPath: string | undefined;
@@ -2249,7 +2149,7 @@ export interface CustomResponse {
2249
2149
  CustomResponseBodyKey?: string;
2250
2150
  /**
2251
2151
  * @public
2252
- * <p>The HTTP headers to use in the response. Duplicate header names are not allowed. </p>
2152
+ * <p>The HTTP headers to use in the response. You can specify any header name except for <code>content-type</code>. Duplicate header names are not allowed.</p>
2253
2153
  * <p>For information about the limits on count and size for custom request and response settings, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/limits.html">WAF quotas</a>
2254
2154
  * in the <i>WAF Developer Guide</i>. </p>
2255
2155
  */
@@ -2449,7 +2349,7 @@ export interface RateLimitCookie {
2449
2349
  Name: string | undefined;
2450
2350
  /**
2451
2351
  * @public
2452
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2352
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2453
2353
  */
2454
2354
  TextTransformations: TextTransformation[] | undefined;
2455
2355
  }
@@ -2479,7 +2379,7 @@ export interface RateLimitHeader {
2479
2379
  Name: string | undefined;
2480
2380
  /**
2481
2381
  * @public
2482
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2382
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2483
2383
  */
2484
2384
  TextTransformations: TextTransformation[] | undefined;
2485
2385
  }
@@ -2530,7 +2430,7 @@ export interface RateLimitQueryArgument {
2530
2430
  Name: string | undefined;
2531
2431
  /**
2532
2432
  * @public
2533
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2433
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2534
2434
  */
2535
2435
  TextTransformations: TextTransformation[] | undefined;
2536
2436
  }
@@ -2542,7 +2442,7 @@ export interface RateLimitQueryArgument {
2542
2442
  export interface RateLimitQueryString {
2543
2443
  /**
2544
2444
  * @public
2545
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2445
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2546
2446
  */
2547
2447
  TextTransformations: TextTransformation[] | undefined;
2548
2448
  }
@@ -2554,7 +2454,7 @@ export interface RateLimitQueryString {
2554
2454
  export interface RateLimitUriPath {
2555
2455
  /**
2556
2456
  * @public
2557
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2457
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2558
2458
  */
2559
2459
  TextTransformations: TextTransformation[] | undefined;
2560
2460
  }
@@ -2644,7 +2544,7 @@ export interface RegexMatchStatement {
2644
2544
  FieldToMatch: FieldToMatch | undefined;
2645
2545
  /**
2646
2546
  * @public
2647
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2547
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2648
2548
  */
2649
2549
  TextTransformations: TextTransformation[] | undefined;
2650
2550
  }
@@ -2667,15 +2567,15 @@ export interface RegexPatternSetReferenceStatement {
2667
2567
  FieldToMatch: FieldToMatch | undefined;
2668
2568
  /**
2669
2569
  * @public
2670
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2570
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2671
2571
  */
2672
2572
  TextTransformations: TextTransformation[] | undefined;
2673
2573
  }
2674
2574
  /**
2675
2575
  * @public
2676
2576
  * <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>
2677
- * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You
2678
- * can only use a rule group reference statement at the top level inside a web ACL. </p>
2577
+ * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You cannot use a rule group
2578
+ * reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.</p>
2679
2579
  */
2680
2580
  export interface RuleGroupReferenceStatement {
2681
2581
  /**
@@ -2738,7 +2638,7 @@ export interface SizeConstraintStatement {
2738
2638
  Size: number | undefined;
2739
2639
  /**
2740
2640
  * @public
2741
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2641
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2742
2642
  */
2743
2643
  TextTransformations: TextTransformation[] | undefined;
2744
2644
  }
@@ -2766,7 +2666,7 @@ export interface SqliMatchStatement {
2766
2666
  FieldToMatch: FieldToMatch | undefined;
2767
2667
  /**
2768
2668
  * @public
2769
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2669
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2770
2670
  */
2771
2671
  TextTransformations: TextTransformation[] | undefined;
2772
2672
  /**
@@ -2799,7 +2699,7 @@ export interface XssMatchStatement {
2799
2699
  FieldToMatch: FieldToMatch | undefined;
2800
2700
  /**
2801
2701
  * @public
2802
- * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents. </p>
2702
+ * <p>Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the <code>FieldToMatch</code> request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents. </p>
2803
2703
  */
2804
2704
  TextTransformations: TextTransformation[] | undefined;
2805
2705
  }
@@ -3444,21 +3344,21 @@ export interface CreateIPSetRequest {
3444
3344
  IPAddressVersion: IPAddressVersion | string | undefined;
3445
3345
  /**
3446
3346
  * @public
3447
- * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
3347
+ * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
3448
3348
  * <p>Example address strings: </p>
3449
3349
  * <ul>
3450
3350
  * <li>
3451
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
3351
+ * <p>For requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
3452
3352
  * </li>
3453
3353
  * <li>
3454
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
3354
+ * <p>For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
3455
3355
  * <code>192.0.2.0/24</code>.</p>
3456
3356
  * </li>
3457
3357
  * <li>
3458
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
3358
+ * <p>For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
3459
3359
  * </li>
3460
3360
  * <li>
3461
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
3361
+ * <p>For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
3462
3362
  * </li>
3463
3363
  * </ul>
3464
3364
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless Inter-Domain Routing</a>.</p>
@@ -4511,21 +4411,21 @@ export interface IPSet {
4511
4411
  IPAddressVersion: IPAddressVersion | string | undefined;
4512
4412
  /**
4513
4413
  * @public
4514
- * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
4414
+ * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
4515
4415
  * <p>Example address strings: </p>
4516
4416
  * <ul>
4517
4417
  * <li>
4518
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
4418
+ * <p>For requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
4519
4419
  * </li>
4520
4420
  * <li>
4521
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
4421
+ * <p>For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
4522
4422
  * <code>192.0.2.0/24</code>.</p>
4523
4423
  * </li>
4524
4424
  * <li>
4525
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
4425
+ * <p>For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
4526
4426
  * </li>
4527
4427
  * <li>
4528
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
4428
+ * <p>For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
4529
4429
  * </li>
4530
4430
  * </ul>
4531
4431
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless Inter-Domain Routing</a>.</p>
@@ -6620,21 +6520,21 @@ export interface UpdateIPSetRequest {
6620
6520
  Description?: string;
6621
6521
  /**
6622
6522
  * @public
6623
- * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
6523
+ * <p>Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for <code>/0</code>. </p>
6624
6524
  * <p>Example address strings: </p>
6625
6525
  * <ul>
6626
6526
  * <li>
6627
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
6527
+ * <p>For requests that originated from the IP address 192.0.2.44, specify <code>192.0.2.44/32</code>.</p>
6628
6528
  * </li>
6629
6529
  * <li>
6630
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
6530
+ * <p>For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
6631
6531
  * <code>192.0.2.0/24</code>.</p>
6632
6532
  * </li>
6633
6533
  * <li>
6634
- * <p>To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
6534
+ * <p>For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify <code>1111:0000:0000:0000:0000:0000:0000:0111/128</code>.</p>
6635
6535
  * </li>
6636
6536
  * <li>
6637
- * <p>To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
6537
+ * <p>For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify <code>1111:0000:0000:0000:0000:0000:0000:0000/64</code>.</p>
6638
6538
  * </li>
6639
6539
  * </ul>
6640
6540
  * <p>For more information about CIDR notation, see the Wikipedia entry <a href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">Classless Inter-Domain Routing</a>.</p>
@@ -6866,8 +6766,8 @@ export interface Statement {
6866
6766
  /**
6867
6767
  * @public
6868
6768
  * <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>
6869
- * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You
6870
- * can only use a rule group reference statement at the top level inside a web ACL. </p>
6769
+ * <p>You cannot nest a <code>RuleGroupReferenceStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You cannot use a rule group
6770
+ * reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.</p>
6871
6771
  */
6872
6772
  RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
6873
6773
  /**
@@ -6970,7 +6870,8 @@ export interface Statement {
6970
6870
  /**
6971
6871
  * @public
6972
6872
  * <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>
6973
- * <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>
6873
+ * <p>You cannot nest a <code>ManagedRuleGroupStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You cannot use a managed rule group
6874
+ * inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.</p>
6974
6875
  * <note>
6975
6876
  * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code>, the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group <code>AWSManagedRulesACFPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6976
6877
  * </note>
@@ -6991,7 +6892,8 @@ export interface Statement {
6991
6892
  /**
6992
6893
  * @public
6993
6894
  * <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>
6994
- * <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>
6895
+ * <p>You cannot nest a <code>ManagedRuleGroupStatement</code>, for example for use inside a <code>NotStatement</code> or <code>OrStatement</code>. You cannot use a managed rule group
6896
+ * inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.</p>
6995
6897
  * <note>
6996
6898
  * <p>You are charged additional fees when you use the WAF Bot Control managed rule group <code>AWSManagedRulesBotControlRuleSet</code>, the WAF Fraud Control account takeover prevention (ATP) managed rule group <code>AWSManagedRulesATPRuleSet</code>, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group <code>AWSManagedRulesACFPRuleSet</code>. For more information, see <a href="http://aws.amazon.com/waf/pricing/">WAF Pricing</a>.</p>
6997
6899
  * </note>
@@ -7219,8 +7121,8 @@ export interface RateBasedStatement {
7219
7121
  }
7220
7122
  /**
7221
7123
  * @public
7222
- * <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.
7223
- * Each rule includes one top-level <a>Statement</a> that WAF uses to
7124
+ * <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 manage in some way.
7125
+ * Each rule includes one top-level <a>Statement</a> that WAF uses to
7224
7126
  * identify matching web requests, and parameters that govern how WAF handles them. </p>
7225
7127
  */
7226
7128
  export interface Rule {
@@ -7470,7 +7372,7 @@ export interface CreateRuleGroupRequest {
7470
7372
  /**
7471
7373
  * @public
7472
7374
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7473
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7375
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7474
7376
  * web requests, and parameters that govern how WAF handles them.
7475
7377
  * </p>
7476
7378
  */
@@ -7532,7 +7434,7 @@ export interface CreateWebACLRequest {
7532
7434
  /**
7533
7435
  * @public
7534
7436
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7535
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7437
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7536
7438
  * web requests, and parameters that govern how WAF handles them.
7537
7439
  * </p>
7538
7440
  */
@@ -7630,7 +7532,7 @@ export interface RuleGroup {
7630
7532
  /**
7631
7533
  * @public
7632
7534
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7633
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7535
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7634
7536
  * web requests, and parameters that govern how WAF handles them.
7635
7537
  * </p>
7636
7538
  */
@@ -7716,7 +7618,7 @@ export interface UpdateRuleGroupRequest {
7716
7618
  /**
7717
7619
  * @public
7718
7620
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7719
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7621
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7720
7622
  * web requests, and parameters that govern how WAF handles them.
7721
7623
  * </p>
7722
7624
  */
@@ -7783,7 +7685,7 @@ export interface UpdateWebACLRequest {
7783
7685
  /**
7784
7686
  * @public
7785
7687
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7786
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7688
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7787
7689
  * web requests, and parameters that govern how WAF handles them.
7788
7690
  * </p>
7789
7691
  */
@@ -7854,7 +7756,7 @@ export interface GetRuleGroupResponse {
7854
7756
  }
7855
7757
  /**
7856
7758
  * @public
7857
- * <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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
7759
+ * <p> A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. 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, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. </p>
7858
7760
  */
7859
7761
  export interface WebACL {
7860
7762
  /**
@@ -7888,7 +7790,7 @@ export interface WebACL {
7888
7790
  /**
7889
7791
  * @public
7890
7792
  * <p>The <a>Rule</a> statements used to identify the web requests that you
7891
- * want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching
7793
+ * want to manage. Each rule includes one top-level statement that WAF uses to identify matching
7892
7794
  * web requests, and parameters that govern how WAF handles them.
7893
7795
  * </p>
7894
7796
  */
@@ -66,6 +66,15 @@ export interface Headers {
66
66
  MatchScope: MapMatchScope | string | undefined;
67
67
  OversizeHandling: OversizeHandling | string | undefined;
68
68
  }
69
+ export declare const FallbackBehavior: {
70
+ readonly MATCH: "MATCH";
71
+ readonly NO_MATCH: "NO_MATCH";
72
+ };
73
+ export type FallbackBehavior =
74
+ (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
75
+ export interface JA3Fingerprint {
76
+ FallbackBehavior: FallbackBehavior | string | undefined;
77
+ }
69
78
  export declare const BodyParsingFallbackBehavior: {
70
79
  readonly EVALUATE_AS_STRING: "EVALUATE_AS_STRING";
71
80
  readonly MATCH: "MATCH";
@@ -111,6 +120,7 @@ export interface FieldToMatch {
111
120
  Headers?: Headers;
112
121
  Cookies?: Cookies;
113
122
  HeaderOrder?: HeaderOrder;
123
+ JA3Fingerprint?: JA3Fingerprint;
114
124
  }
115
125
  export declare const PositionalConstraint: {
116
126
  readonly CONTAINS: "CONTAINS";
@@ -409,12 +419,6 @@ export declare const CountryCode: {
409
419
  readonly ZW: "ZW";
410
420
  };
411
421
  export type CountryCode = (typeof CountryCode)[keyof typeof CountryCode];
412
- export declare const FallbackBehavior: {
413
- readonly MATCH: "MATCH";
414
- readonly NO_MATCH: "NO_MATCH";
415
- };
416
- export type FallbackBehavior =
417
- (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
418
422
  export interface ForwardedIPConfig {
419
423
  HeaderName: string | undefined;
420
424
  FallbackBehavior: FallbackBehavior | string | undefined;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-wafv2",
3
3
  "description": "AWS SDK for JavaScript Wafv2 Client for Node.js, Browser and React Native",
4
- "version": "3.418.0",
4
+ "version": "3.419.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",