@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.
- package/dist-cjs/models/models_0.js +5 -5
- package/dist-es/models/models_0.js +4 -4
- package/dist-types/commands/CheckCapacityCommand.d.ts +15 -0
- package/dist-types/commands/CreateRuleGroupCommand.d.ts +15 -0
- package/dist-types/commands/CreateWebACLCommand.d.ts +16 -1
- package/dist-types/commands/GetLoggingConfigurationCommand.d.ts +3 -0
- package/dist-types/commands/GetRuleGroupCommand.d.ts +15 -0
- package/dist-types/commands/GetWebACLCommand.d.ts +15 -0
- package/dist-types/commands/GetWebACLForResourceCommand.d.ts +15 -0
- package/dist-types/commands/ListLoggingConfigurationsCommand.d.ts +3 -0
- package/dist-types/commands/PutLoggingConfigurationCommand.d.ts +6 -0
- package/dist-types/commands/UpdateRuleGroupCommand.d.ts +15 -0
- package/dist-types/commands/UpdateWebACLCommand.d.ts +16 -1
- package/dist-types/models/models_0.d.ts +117 -215
- package/dist-types/ts3.4/models/models_0.d.ts +10 -6
- package/package.json +1 -1
|
@@ -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.
|
|
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
|
|
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
|
|
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>
|
|
796
|
-
*
|
|
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/
|
|
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/
|
|
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
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>.
|
|
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>.
|
|
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
|
|
7223
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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",
|