@aws-sdk/client-wafv2 3.821.0 → 3.825.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/index.js CHANGED
@@ -310,6 +310,10 @@ var ActionValue = {
310
310
  COUNT: "COUNT",
311
311
  EXCLUDED_AS_COUNT: "EXCLUDED_AS_COUNT"
312
312
  };
313
+ var FallbackBehavior = {
314
+ MATCH: "MATCH",
315
+ NO_MATCH: "NO_MATCH"
316
+ };
313
317
  var OversizeHandling = {
314
318
  CONTINUE: "CONTINUE",
315
319
  MATCH: "MATCH",
@@ -320,10 +324,6 @@ var MapMatchScope = {
320
324
  KEY: "KEY",
321
325
  VALUE: "VALUE"
322
326
  };
323
- var FallbackBehavior = {
324
- MATCH: "MATCH",
325
- NO_MATCH: "NO_MATCH"
326
- };
327
327
  var BodyParsingFallbackBehavior = {
328
328
  EVALUATE_AS_STRING: "EVALUATE_AS_STRING",
329
329
  MATCH: "MATCH",
@@ -2576,6 +2576,7 @@ var se_Rules = /* @__PURE__ */ __name((input, context) => {
2576
2576
  var se_Statement = /* @__PURE__ */ __name((input, context) => {
2577
2577
  return (0, import_smithy_client.take)(input, {
2578
2578
  AndStatement: /* @__PURE__ */ __name((_) => se_AndStatement(_, context), "AndStatement"),
2579
+ AsnMatchStatement: import_smithy_client._json,
2579
2580
  ByteMatchStatement: /* @__PURE__ */ __name((_) => se_ByteMatchStatement(_, context), "ByteMatchStatement"),
2580
2581
  GeoMatchStatement: import_smithy_client._json,
2581
2582
  IPSetReferenceStatement: import_smithy_client._json,
@@ -2904,6 +2905,7 @@ var de_SampledHTTPRequests = /* @__PURE__ */ __name((output, context) => {
2904
2905
  var de_Statement = /* @__PURE__ */ __name((output, context) => {
2905
2906
  return (0, import_smithy_client.take)(output, {
2906
2907
  AndStatement: /* @__PURE__ */ __name((_) => de_AndStatement(_, context), "AndStatement"),
2908
+ AsnMatchStatement: import_smithy_client._json,
2907
2909
  ByteMatchStatement: /* @__PURE__ */ __name((_) => de_ByteMatchStatement(_, context), "ByteMatchStatement"),
2908
2910
  GeoMatchStatement: import_smithy_client._json,
2909
2911
  IPSetReferenceStatement: import_smithy_client._json,
@@ -3928,9 +3930,9 @@ var WAFV2 = class extends WAFV2Client {
3928
3930
  UpdateRuleGroupCommand,
3929
3931
  UpdateWebACLCommand,
3930
3932
  ActionValue,
3933
+ FallbackBehavior,
3931
3934
  OversizeHandling,
3932
3935
  MapMatchScope,
3933
- FallbackBehavior,
3934
3936
  BodyParsingFallbackBehavior,
3935
3937
  JsonMatchScope,
3936
3938
  PositionalConstraint,
@@ -7,6 +7,10 @@ export const ActionValue = {
7
7
  COUNT: "COUNT",
8
8
  EXCLUDED_AS_COUNT: "EXCLUDED_AS_COUNT",
9
9
  };
10
+ export const FallbackBehavior = {
11
+ MATCH: "MATCH",
12
+ NO_MATCH: "NO_MATCH",
13
+ };
10
14
  export const OversizeHandling = {
11
15
  CONTINUE: "CONTINUE",
12
16
  MATCH: "MATCH",
@@ -17,10 +21,6 @@ export const MapMatchScope = {
17
21
  KEY: "KEY",
18
22
  VALUE: "VALUE",
19
23
  };
20
- export const FallbackBehavior = {
21
- MATCH: "MATCH",
22
- NO_MATCH: "NO_MATCH",
23
- };
24
24
  export const BodyParsingFallbackBehavior = {
25
25
  EVALUATE_AS_STRING: "EVALUATE_AS_STRING",
26
26
  MATCH: "MATCH",
@@ -1384,6 +1384,7 @@ const se_Rules = (input, context) => {
1384
1384
  const se_Statement = (input, context) => {
1385
1385
  return take(input, {
1386
1386
  AndStatement: (_) => se_AndStatement(_, context),
1387
+ AsnMatchStatement: _json,
1387
1388
  ByteMatchStatement: (_) => se_ByteMatchStatement(_, context),
1388
1389
  GeoMatchStatement: _json,
1389
1390
  IPSetReferenceStatement: _json,
@@ -1726,6 +1727,7 @@ const de_SampledHTTPRequests = (output, context) => {
1726
1727
  const de_Statement = (output, context) => {
1727
1728
  return take(output, {
1728
1729
  AndStatement: (_) => de_AndStatement(_, context),
1730
+ AsnMatchStatement: _json,
1729
1731
  ByteMatchStatement: (_) => de_ByteMatchStatement(_, context),
1730
1732
  GeoMatchStatement: _json,
1731
1733
  IPSetReferenceStatement: _json,
@@ -607,6 +607,7 @@ declare const CheckCapacityCommand_base: {
607
607
  * JA4Fingerprint: { // RateLimitJA4Fingerprint
608
608
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
609
609
  * },
610
+ * ASN: {},
610
611
  * },
611
612
  * ],
612
613
  * },
@@ -797,6 +798,15 @@ declare const CheckCapacityCommand_base: {
797
798
  * FieldToMatch: "<FieldToMatch>", // required
798
799
  * TextTransformations: "<TextTransformations>", // required
799
800
  * },
801
+ * AsnMatchStatement: { // AsnMatchStatement
802
+ * AsnList: [ // AsnList // required
803
+ * Number("long"),
804
+ * ],
805
+ * ForwardedIPConfig: {
806
+ * HeaderName: "STRING_VALUE", // required
807
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
808
+ * },
809
+ * },
800
810
  * },
801
811
  * ForwardedIPConfig: {
802
812
  * HeaderName: "STRING_VALUE", // required
@@ -834,6 +844,7 @@ declare const CheckCapacityCommand_base: {
834
844
  * JA4Fingerprint: {
835
845
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
836
846
  * },
847
+ * ASN: {},
837
848
  * },
838
849
  * ],
839
850
  * },
@@ -1012,6 +1023,12 @@ declare const CheckCapacityCommand_base: {
1012
1023
  * FieldToMatch: "<FieldToMatch>", // required
1013
1024
  * TextTransformations: "<TextTransformations>", // required
1014
1025
  * },
1026
+ * AsnMatchStatement: {
1027
+ * AsnList: [ // required
1028
+ * Number("long"),
1029
+ * ],
1030
+ * ForwardedIPConfig: "<ForwardedIPConfig>",
1031
+ * },
1015
1032
  * },
1016
1033
  * Action: "<RuleAction>",
1017
1034
  * OverrideAction: { // OverrideAction
@@ -600,6 +600,7 @@ declare const CreateRuleGroupCommand_base: {
600
600
  * JA4Fingerprint: { // RateLimitJA4Fingerprint
601
601
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
602
602
  * },
603
+ * ASN: {},
603
604
  * },
604
605
  * ],
605
606
  * },
@@ -790,6 +791,15 @@ declare const CreateRuleGroupCommand_base: {
790
791
  * FieldToMatch: "<FieldToMatch>", // required
791
792
  * TextTransformations: "<TextTransformations>", // required
792
793
  * },
794
+ * AsnMatchStatement: { // AsnMatchStatement
795
+ * AsnList: [ // AsnList // required
796
+ * Number("long"),
797
+ * ],
798
+ * ForwardedIPConfig: {
799
+ * HeaderName: "STRING_VALUE", // required
800
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
801
+ * },
802
+ * },
793
803
  * },
794
804
  * ForwardedIPConfig: {
795
805
  * HeaderName: "STRING_VALUE", // required
@@ -827,6 +837,7 @@ declare const CreateRuleGroupCommand_base: {
827
837
  * JA4Fingerprint: {
828
838
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
829
839
  * },
840
+ * ASN: {},
830
841
  * },
831
842
  * ],
832
843
  * },
@@ -1005,6 +1016,12 @@ declare const CreateRuleGroupCommand_base: {
1005
1016
  * FieldToMatch: "<FieldToMatch>", // required
1006
1017
  * TextTransformations: "<TextTransformations>", // required
1007
1018
  * },
1019
+ * AsnMatchStatement: {
1020
+ * AsnList: [ // required
1021
+ * Number("long"),
1022
+ * ],
1023
+ * ForwardedIPConfig: "<ForwardedIPConfig>",
1024
+ * },
1008
1025
  * },
1009
1026
  * Action: "<RuleAction>",
1010
1027
  * OverrideAction: { // OverrideAction
@@ -603,6 +603,7 @@ declare const CreateWebACLCommand_base: {
603
603
  * JA4Fingerprint: { // RateLimitJA4Fingerprint
604
604
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
605
605
  * },
606
+ * ASN: {},
606
607
  * },
607
608
  * ],
608
609
  * },
@@ -785,6 +786,15 @@ declare const CreateWebACLCommand_base: {
785
786
  * FieldToMatch: "<FieldToMatch>", // required
786
787
  * TextTransformations: "<TextTransformations>", // required
787
788
  * },
789
+ * AsnMatchStatement: { // AsnMatchStatement
790
+ * AsnList: [ // AsnList // required
791
+ * Number("long"),
792
+ * ],
793
+ * ForwardedIPConfig: {
794
+ * HeaderName: "STRING_VALUE", // required
795
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
796
+ * },
797
+ * },
788
798
  * },
789
799
  * ForwardedIPConfig: {
790
800
  * HeaderName: "STRING_VALUE", // required
@@ -822,6 +832,7 @@ declare const CreateWebACLCommand_base: {
822
832
  * JA4Fingerprint: {
823
833
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
824
834
  * },
835
+ * ASN: {},
825
836
  * },
826
837
  * ],
827
838
  * },
@@ -992,6 +1003,12 @@ declare const CreateWebACLCommand_base: {
992
1003
  * FieldToMatch: "<FieldToMatch>", // required
993
1004
  * TextTransformations: "<TextTransformations>", // required
994
1005
  * },
1006
+ * AsnMatchStatement: {
1007
+ * AsnList: [ // required
1008
+ * Number("long"),
1009
+ * ],
1010
+ * ForwardedIPConfig: "<ForwardedIPConfig>",
1011
+ * },
995
1012
  * },
996
1013
  * Action: "<RuleAction>",
997
1014
  * OverrideAction: { // OverrideAction
@@ -609,6 +609,7 @@ declare const GetRuleGroupCommand_base: {
609
609
  * // JA4Fingerprint: { // RateLimitJA4Fingerprint
610
610
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
611
611
  * // },
612
+ * // ASN: {},
612
613
  * // },
613
614
  * // ],
614
615
  * // },
@@ -799,6 +800,15 @@ declare const GetRuleGroupCommand_base: {
799
800
  * // FieldToMatch: "<FieldToMatch>", // required
800
801
  * // TextTransformations: "<TextTransformations>", // required
801
802
  * // },
803
+ * // AsnMatchStatement: { // AsnMatchStatement
804
+ * // AsnList: [ // AsnList // required
805
+ * // Number("long"),
806
+ * // ],
807
+ * // ForwardedIPConfig: {
808
+ * // HeaderName: "STRING_VALUE", // required
809
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
810
+ * // },
811
+ * // },
802
812
  * // },
803
813
  * // ForwardedIPConfig: {
804
814
  * // HeaderName: "STRING_VALUE", // required
@@ -836,6 +846,7 @@ declare const GetRuleGroupCommand_base: {
836
846
  * // JA4Fingerprint: {
837
847
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
838
848
  * // },
849
+ * // ASN: {},
839
850
  * // },
840
851
  * // ],
841
852
  * // },
@@ -1014,6 +1025,12 @@ declare const GetRuleGroupCommand_base: {
1014
1025
  * // FieldToMatch: "<FieldToMatch>", // required
1015
1026
  * // TextTransformations: "<TextTransformations>", // required
1016
1027
  * // },
1028
+ * // AsnMatchStatement: {
1029
+ * // AsnList: [ // required
1030
+ * // Number("long"),
1031
+ * // ],
1032
+ * // ForwardedIPConfig: "<ForwardedIPConfig>",
1033
+ * // },
1017
1034
  * // },
1018
1035
  * // Action: "<RuleAction>",
1019
1036
  * // OverrideAction: { // OverrideAction
@@ -612,6 +612,7 @@ declare const GetWebACLCommand_base: {
612
612
  * // JA4Fingerprint: { // RateLimitJA4Fingerprint
613
613
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
614
614
  * // },
615
+ * // ASN: {},
615
616
  * // },
616
617
  * // ],
617
618
  * // },
@@ -794,6 +795,15 @@ declare const GetWebACLCommand_base: {
794
795
  * // FieldToMatch: "<FieldToMatch>", // required
795
796
  * // TextTransformations: "<TextTransformations>", // required
796
797
  * // },
798
+ * // AsnMatchStatement: { // AsnMatchStatement
799
+ * // AsnList: [ // AsnList // required
800
+ * // Number("long"),
801
+ * // ],
802
+ * // ForwardedIPConfig: {
803
+ * // HeaderName: "STRING_VALUE", // required
804
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
805
+ * // },
806
+ * // },
797
807
  * // },
798
808
  * // ForwardedIPConfig: {
799
809
  * // HeaderName: "STRING_VALUE", // required
@@ -831,6 +841,7 @@ declare const GetWebACLCommand_base: {
831
841
  * // JA4Fingerprint: {
832
842
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
833
843
  * // },
844
+ * // ASN: {},
834
845
  * // },
835
846
  * // ],
836
847
  * // },
@@ -1001,6 +1012,12 @@ declare const GetWebACLCommand_base: {
1001
1012
  * // FieldToMatch: "<FieldToMatch>", // required
1002
1013
  * // TextTransformations: "<TextTransformations>", // required
1003
1014
  * // },
1015
+ * // AsnMatchStatement: {
1016
+ * // AsnList: [ // required
1017
+ * // Number("long"),
1018
+ * // ],
1019
+ * // ForwardedIPConfig: "<ForwardedIPConfig>",
1020
+ * // },
1004
1021
  * // },
1005
1022
  * // Action: "<RuleAction>",
1006
1023
  * // OverrideAction: { // OverrideAction
@@ -619,6 +619,7 @@ declare const GetWebACLForResourceCommand_base: {
619
619
  * // JA4Fingerprint: { // RateLimitJA4Fingerprint
620
620
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
621
621
  * // },
622
+ * // ASN: {},
622
623
  * // },
623
624
  * // ],
624
625
  * // },
@@ -801,6 +802,15 @@ declare const GetWebACLForResourceCommand_base: {
801
802
  * // FieldToMatch: "<FieldToMatch>", // required
802
803
  * // TextTransformations: "<TextTransformations>", // required
803
804
  * // },
805
+ * // AsnMatchStatement: { // AsnMatchStatement
806
+ * // AsnList: [ // AsnList // required
807
+ * // Number("long"),
808
+ * // ],
809
+ * // ForwardedIPConfig: {
810
+ * // HeaderName: "STRING_VALUE", // required
811
+ * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
812
+ * // },
813
+ * // },
804
814
  * // },
805
815
  * // ForwardedIPConfig: {
806
816
  * // HeaderName: "STRING_VALUE", // required
@@ -838,6 +848,7 @@ declare const GetWebACLForResourceCommand_base: {
838
848
  * // JA4Fingerprint: {
839
849
  * // FallbackBehavior: "MATCH" || "NO_MATCH", // required
840
850
  * // },
851
+ * // ASN: {},
841
852
  * // },
842
853
  * // ],
843
854
  * // },
@@ -1008,6 +1019,12 @@ declare const GetWebACLForResourceCommand_base: {
1008
1019
  * // FieldToMatch: "<FieldToMatch>", // required
1009
1020
  * // TextTransformations: "<TextTransformations>", // required
1010
1021
  * // },
1022
+ * // AsnMatchStatement: {
1023
+ * // AsnList: [ // required
1024
+ * // Number("long"),
1025
+ * // ],
1026
+ * // ForwardedIPConfig: "<ForwardedIPConfig>",
1027
+ * // },
1011
1028
  * // },
1012
1029
  * // Action: "<RuleAction>",
1013
1030
  * // OverrideAction: { // OverrideAction
@@ -635,6 +635,7 @@ declare const UpdateRuleGroupCommand_base: {
635
635
  * JA4Fingerprint: { // RateLimitJA4Fingerprint
636
636
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
637
637
  * },
638
+ * ASN: {},
638
639
  * },
639
640
  * ],
640
641
  * },
@@ -825,6 +826,15 @@ declare const UpdateRuleGroupCommand_base: {
825
826
  * FieldToMatch: "<FieldToMatch>", // required
826
827
  * TextTransformations: "<TextTransformations>", // required
827
828
  * },
829
+ * AsnMatchStatement: { // AsnMatchStatement
830
+ * AsnList: [ // AsnList // required
831
+ * Number("long"),
832
+ * ],
833
+ * ForwardedIPConfig: {
834
+ * HeaderName: "STRING_VALUE", // required
835
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
836
+ * },
837
+ * },
828
838
  * },
829
839
  * ForwardedIPConfig: {
830
840
  * HeaderName: "STRING_VALUE", // required
@@ -862,6 +872,7 @@ declare const UpdateRuleGroupCommand_base: {
862
872
  * JA4Fingerprint: {
863
873
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
864
874
  * },
875
+ * ASN: {},
865
876
  * },
866
877
  * ],
867
878
  * },
@@ -1040,6 +1051,12 @@ declare const UpdateRuleGroupCommand_base: {
1040
1051
  * FieldToMatch: "<FieldToMatch>", // required
1041
1052
  * TextTransformations: "<TextTransformations>", // required
1042
1053
  * },
1054
+ * AsnMatchStatement: {
1055
+ * AsnList: [ // required
1056
+ * Number("long"),
1057
+ * ],
1058
+ * ForwardedIPConfig: "<ForwardedIPConfig>",
1059
+ * },
1043
1060
  * },
1044
1061
  * Action: "<RuleAction>",
1045
1062
  * OverrideAction: { // OverrideAction
@@ -640,6 +640,7 @@ declare const UpdateWebACLCommand_base: {
640
640
  * JA4Fingerprint: { // RateLimitJA4Fingerprint
641
641
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
642
642
  * },
643
+ * ASN: {},
643
644
  * },
644
645
  * ],
645
646
  * },
@@ -822,6 +823,15 @@ declare const UpdateWebACLCommand_base: {
822
823
  * FieldToMatch: "<FieldToMatch>", // required
823
824
  * TextTransformations: "<TextTransformations>", // required
824
825
  * },
826
+ * AsnMatchStatement: { // AsnMatchStatement
827
+ * AsnList: [ // AsnList // required
828
+ * Number("long"),
829
+ * ],
830
+ * ForwardedIPConfig: {
831
+ * HeaderName: "STRING_VALUE", // required
832
+ * FallbackBehavior: "MATCH" || "NO_MATCH", // required
833
+ * },
834
+ * },
825
835
  * },
826
836
  * ForwardedIPConfig: {
827
837
  * HeaderName: "STRING_VALUE", // required
@@ -859,6 +869,7 @@ declare const UpdateWebACLCommand_base: {
859
869
  * JA4Fingerprint: {
860
870
  * FallbackBehavior: "MATCH" || "NO_MATCH", // required
861
871
  * },
872
+ * ASN: {},
862
873
  * },
863
874
  * ],
864
875
  * },
@@ -1029,6 +1040,12 @@ declare const UpdateWebACLCommand_base: {
1029
1040
  * FieldToMatch: "<FieldToMatch>", // required
1030
1041
  * TextTransformations: "<TextTransformations>", // required
1031
1042
  * },
1043
+ * AsnMatchStatement: {
1044
+ * AsnList: [ // required
1045
+ * Number("long"),
1046
+ * ],
1047
+ * ForwardedIPConfig: "<ForwardedIPConfig>",
1048
+ * },
1032
1049
  * },
1033
1050
  * Action: "<RuleAction>",
1034
1051
  * OverrideAction: { // OverrideAction
@@ -132,6 +132,79 @@ export interface AllowAction {
132
132
  */
133
133
  export interface AllQueryArguments {
134
134
  }
135
+ /**
136
+ * @public
137
+ * @enum
138
+ */
139
+ export declare const FallbackBehavior: {
140
+ readonly MATCH: "MATCH";
141
+ readonly NO_MATCH: "NO_MATCH";
142
+ };
143
+ /**
144
+ * @public
145
+ */
146
+ export type FallbackBehavior = (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
147
+ /**
148
+ * <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>
149
+ * <note>
150
+ * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
151
+ * </note>
152
+ * <p>This configuration is used for <a>GeoMatchStatement</a>, <a>AsnMatchStatement</a>, and
153
+ * <a>RateBasedStatement</a>. For <a>IPSetReferenceStatement</a>, use <a>IPSetForwardedIPConfig</a> instead. </p>
154
+ * <p>WAF only evaluates the first IP address found in the specified HTTP header.
155
+ * </p>
156
+ * @public
157
+ */
158
+ export interface ForwardedIPConfig {
159
+ /**
160
+ * <p>The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to <code>X-Forwarded-For</code>.</p>
161
+ * <note>
162
+ * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
163
+ * </note>
164
+ * @public
165
+ */
166
+ HeaderName: string | undefined;
167
+ /**
168
+ * <p>The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.</p>
169
+ * <note>
170
+ * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
171
+ * </note>
172
+ * <p>You can specify the following fallback behaviors:</p>
173
+ * <ul>
174
+ * <li>
175
+ * <p>
176
+ * <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
177
+ * </li>
178
+ * <li>
179
+ * <p>
180
+ * <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
181
+ * </li>
182
+ * </ul>
183
+ * @public
184
+ */
185
+ FallbackBehavior: FallbackBehavior | undefined;
186
+ }
187
+ /**
188
+ * <p>A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.</p>
189
+ * <p>For additional details, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html">ASN match rule statement</a> in the <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">WAF Developer Guide</a>. </p>
190
+ * @public
191
+ */
192
+ export interface AsnMatchStatement {
193
+ /**
194
+ * <p>Contains one or more Autonomous System Numbers (ASNs).
195
+ * ASNs are unique identifiers assigned to large internet networks managed by organizations such as
196
+ * internet service providers, enterprises, universities, or government agencies. </p>
197
+ * @public
198
+ */
199
+ AsnList: number[] | undefined;
200
+ /**
201
+ * <p>The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify,
202
+ * instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header,
203
+ * but you can specify any header name. </p>
204
+ * @public
205
+ */
206
+ ForwardedIPConfig?: ForwardedIPConfig | undefined;
207
+ }
135
208
  /**
136
209
  * @public
137
210
  * @enum
@@ -298,7 +371,7 @@ export interface Cookies {
298
371
  */
299
372
  export interface HeaderOrder {
300
373
  /**
301
- * <p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect.
374
+ * <p>What WAF should do if the headers determined by your match scope are more numerous or larger than WAF can inspect.
302
375
  * WAF does not support inspecting the entire contents of request headers
303
376
  * when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers
304
377
  * and at most 8 KB of header contents to WAF. </p>
@@ -383,7 +456,7 @@ export interface Headers {
383
456
  */
384
457
  MatchScope: MapMatchScope | undefined;
385
458
  /**
386
- * <p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect.
459
+ * <p>What WAF should do if the headers determined by your match scope are more numerous or larger than WAF can inspect.
387
460
  * WAF does not support inspecting the entire contents of request headers
388
461
  * when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers
389
462
  * and at most 8 KB of header contents to WAF. </p>
@@ -408,18 +481,6 @@ export interface Headers {
408
481
  */
409
482
  OversizeHandling: OversizeHandling | undefined;
410
483
  }
411
- /**
412
- * @public
413
- * @enum
414
- */
415
- export declare const FallbackBehavior: {
416
- readonly MATCH: "MATCH";
417
- readonly NO_MATCH: "NO_MATCH";
418
- };
419
- /**
420
- * @public
421
- */
422
- export type FallbackBehavior = (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
423
484
  /**
424
485
  * <p>Available for use with Amazon CloudFront distributions and Application Load Balancers. Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each
425
486
  * request that has enough TLS Client Hello information for the calculation. Almost
@@ -1417,45 +1478,6 @@ export declare const CountryCode: {
1417
1478
  * @public
1418
1479
  */
1419
1480
  export type CountryCode = (typeof CountryCode)[keyof typeof CountryCode];
1420
- /**
1421
- * <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>
1422
- * <note>
1423
- * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
1424
- * </note>
1425
- * <p>This configuration is used for <a>GeoMatchStatement</a> and <a>RateBasedStatement</a>. For <a>IPSetReferenceStatement</a>, use <a>IPSetForwardedIPConfig</a> instead. </p>
1426
- * <p>WAF only evaluates the first IP address found in the specified HTTP header.
1427
- * </p>
1428
- * @public
1429
- */
1430
- export interface ForwardedIPConfig {
1431
- /**
1432
- * <p>The name of the HTTP header to use for the IP address. For example, to use the X-Forwarded-For (XFF) header, set this to <code>X-Forwarded-For</code>.</p>
1433
- * <note>
1434
- * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
1435
- * </note>
1436
- * @public
1437
- */
1438
- HeaderName: string | undefined;
1439
- /**
1440
- * <p>The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.</p>
1441
- * <note>
1442
- * <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p>
1443
- * </note>
1444
- * <p>You can specify the following fallback behaviors:</p>
1445
- * <ul>
1446
- * <li>
1447
- * <p>
1448
- * <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p>
1449
- * </li>
1450
- * <li>
1451
- * <p>
1452
- * <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p>
1453
- * </li>
1454
- * </ul>
1455
- * @public
1456
- */
1457
- FallbackBehavior: FallbackBehavior | undefined;
1458
- }
1459
1481
  /**
1460
1482
  * <p>A rule statement that labels web requests by country and region and that matches against web requests based on country code. A geo match rule labels every request that it inspects regardless of whether it finds a match.</p>
1461
1483
  * <ul>
@@ -2543,6 +2565,14 @@ export declare const RateBasedStatementAggregateKeyType: {
2543
2565
  * @public
2544
2566
  */
2545
2567
  export type RateBasedStatementAggregateKeyType = (typeof RateBasedStatementAggregateKeyType)[keyof typeof RateBasedStatementAggregateKeyType];
2568
+ /**
2569
+ * <p>Specifies an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key for a rate-based rule.
2570
+ * Each distinct ASN contributes to the aggregation instance.
2571
+ * If you use a single ASN as your custom key, then each ASN fully defines an aggregation instance. </p>
2572
+ * @public
2573
+ */
2574
+ export interface RateLimitAsn {
2575
+ }
2546
2576
  /**
2547
2577
  * <p>Specifies a cookie as an aggregate key for a rate-based rule. Each distinct value in the cookie contributes to the aggregation instance. If you use a single
2548
2578
  * cookie as your custom key, then each value fully defines an aggregation instance. </p>
@@ -2795,6 +2825,12 @@ export interface RateBasedStatementCustomKey {
2795
2825
  * @public
2796
2826
  */
2797
2827
  JA4Fingerprint?: RateLimitJA4Fingerprint | undefined;
2828
+ /**
2829
+ * <p>Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key.
2830
+ * Each distinct ASN contributes to the aggregation instance. </p>
2831
+ * @public
2832
+ */
2833
+ ASN?: RateLimitAsn | undefined;
2798
2834
  }
2799
2835
  /**
2800
2836
  * <p>A rule statement used to search web request components for a match against a single regular expression. </p>
@@ -7443,6 +7479,12 @@ export interface Statement {
7443
7479
  * @public
7444
7480
  */
7445
7481
  RegexMatchStatement?: RegexMatchStatement | undefined;
7482
+ /**
7483
+ * <p>A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.</p>
7484
+ * <p>For additional details, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html">ASN match rule statement</a> in the <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">WAF Developer Guide</a>. </p>
7485
+ * @public
7486
+ */
7487
+ AsnMatchStatement?: AsnMatchStatement | undefined;
7446
7488
  }
7447
7489
  /**
7448
7490
  * <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>
@@ -27,6 +27,20 @@ export interface AllowAction {
27
27
  CustomRequestHandling?: CustomRequestHandling | undefined;
28
28
  }
29
29
  export interface AllQueryArguments {}
30
+ export declare const FallbackBehavior: {
31
+ readonly MATCH: "MATCH";
32
+ readonly NO_MATCH: "NO_MATCH";
33
+ };
34
+ export type FallbackBehavior =
35
+ (typeof FallbackBehavior)[keyof typeof FallbackBehavior];
36
+ export interface ForwardedIPConfig {
37
+ HeaderName: string | undefined;
38
+ FallbackBehavior: FallbackBehavior | undefined;
39
+ }
40
+ export interface AsnMatchStatement {
41
+ AsnList: number[] | undefined;
42
+ ForwardedIPConfig?: ForwardedIPConfig | undefined;
43
+ }
30
44
  export declare const OversizeHandling: {
31
45
  readonly CONTINUE: "CONTINUE";
32
46
  readonly MATCH: "MATCH";
@@ -66,12 +80,6 @@ export interface Headers {
66
80
  MatchScope: MapMatchScope | undefined;
67
81
  OversizeHandling: OversizeHandling | undefined;
68
82
  }
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
83
  export interface JA3Fingerprint {
76
84
  FallbackBehavior: FallbackBehavior | undefined;
77
85
  }
@@ -427,10 +435,6 @@ export declare const CountryCode: {
427
435
  readonly ZW: "ZW";
428
436
  };
429
437
  export type CountryCode = (typeof CountryCode)[keyof typeof CountryCode];
430
- export interface ForwardedIPConfig {
431
- HeaderName: string | undefined;
432
- FallbackBehavior: FallbackBehavior | undefined;
433
- }
434
438
  export interface GeoMatchStatement {
435
439
  CountryCodes?: CountryCode[] | undefined;
436
440
  ForwardedIPConfig?: ForwardedIPConfig | undefined;
@@ -588,6 +592,7 @@ export declare const RateBasedStatementAggregateKeyType: {
588
592
  };
589
593
  export type RateBasedStatementAggregateKeyType =
590
594
  (typeof RateBasedStatementAggregateKeyType)[keyof typeof RateBasedStatementAggregateKeyType];
595
+ export interface RateLimitAsn {}
591
596
  export interface RateLimitCookie {
592
597
  Name: string | undefined;
593
598
  TextTransformations: TextTransformation[] | undefined;
@@ -630,6 +635,7 @@ export interface RateBasedStatementCustomKey {
630
635
  UriPath?: RateLimitUriPath | undefined;
631
636
  JA3Fingerprint?: RateLimitJA3Fingerprint | undefined;
632
637
  JA4Fingerprint?: RateLimitJA4Fingerprint | undefined;
638
+ ASN?: RateLimitAsn | undefined;
633
639
  }
634
640
  export interface RegexMatchStatement {
635
641
  RegexString: string | undefined;
@@ -1698,6 +1704,7 @@ export interface Statement {
1698
1704
  ManagedRuleGroupStatement?: ManagedRuleGroupStatement | undefined;
1699
1705
  LabelMatchStatement?: LabelMatchStatement | undefined;
1700
1706
  RegexMatchStatement?: RegexMatchStatement | undefined;
1707
+ AsnMatchStatement?: AsnMatchStatement | undefined;
1701
1708
  }
1702
1709
  export interface ManagedRuleGroupStatement {
1703
1710
  VendorName: 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.821.0",
4
+ "version": "3.825.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-wafv2",
@@ -20,38 +20,38 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.821.0",
24
- "@aws-sdk/credential-provider-node": "3.821.0",
23
+ "@aws-sdk/core": "3.825.0",
24
+ "@aws-sdk/credential-provider-node": "3.825.0",
25
25
  "@aws-sdk/middleware-host-header": "3.821.0",
26
26
  "@aws-sdk/middleware-logger": "3.821.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.821.0",
28
- "@aws-sdk/middleware-user-agent": "3.821.0",
28
+ "@aws-sdk/middleware-user-agent": "3.825.0",
29
29
  "@aws-sdk/region-config-resolver": "3.821.0",
30
30
  "@aws-sdk/types": "3.821.0",
31
31
  "@aws-sdk/util-endpoints": "3.821.0",
32
32
  "@aws-sdk/util-user-agent-browser": "3.821.0",
33
- "@aws-sdk/util-user-agent-node": "3.821.0",
33
+ "@aws-sdk/util-user-agent-node": "3.825.0",
34
34
  "@smithy/config-resolver": "^4.1.4",
35
- "@smithy/core": "^3.5.1",
35
+ "@smithy/core": "^3.5.2",
36
36
  "@smithy/fetch-http-handler": "^5.0.4",
37
37
  "@smithy/hash-node": "^4.0.4",
38
38
  "@smithy/invalid-dependency": "^4.0.4",
39
39
  "@smithy/middleware-content-length": "^4.0.4",
40
- "@smithy/middleware-endpoint": "^4.1.9",
41
- "@smithy/middleware-retry": "^4.1.10",
40
+ "@smithy/middleware-endpoint": "^4.1.10",
41
+ "@smithy/middleware-retry": "^4.1.11",
42
42
  "@smithy/middleware-serde": "^4.0.8",
43
43
  "@smithy/middleware-stack": "^4.0.4",
44
44
  "@smithy/node-config-provider": "^4.1.3",
45
45
  "@smithy/node-http-handler": "^4.0.6",
46
46
  "@smithy/protocol-http": "^5.1.2",
47
- "@smithy/smithy-client": "^4.4.1",
47
+ "@smithy/smithy-client": "^4.4.2",
48
48
  "@smithy/types": "^4.3.1",
49
49
  "@smithy/url-parser": "^4.0.4",
50
50
  "@smithy/util-base64": "^4.0.0",
51
51
  "@smithy/util-body-length-browser": "^4.0.0",
52
52
  "@smithy/util-body-length-node": "^4.0.0",
53
- "@smithy/util-defaults-mode-browser": "^4.0.17",
54
- "@smithy/util-defaults-mode-node": "^4.0.17",
53
+ "@smithy/util-defaults-mode-browser": "^4.0.18",
54
+ "@smithy/util-defaults-mode-node": "^4.0.18",
55
55
  "@smithy/util-endpoints": "^3.0.6",
56
56
  "@smithy/util-middleware": "^4.0.4",
57
57
  "@smithy/util-retry": "^4.0.5",