aws-sdk-wafv2 1.109.0 → 1.110.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8326752753afb84dfdb818720a241be433da10d1041ac21556264813366e075e
4
- data.tar.gz: 1693b99587d3963be3d233c9c058c6164507c355a87be8a42b2ee98ffbd561ab
3
+ metadata.gz: d61c6e32e94cd2c77641590f482910cf9f137f89ead4c05d974e7da90cadaca1
4
+ data.tar.gz: '087e9860fb0c5b059d3e0243cede2fe0ccee2a854d0274ee8647f7de8e74c242'
5
5
  SHA512:
6
- metadata.gz: 4274929dcecbc4406206d5b6b5fbc34c1823ae2769e709c282337d33ea99c1c931157e198302e86caeda479fa7938d361db823299aa9041fbf1e6c2d5030cda3
7
- data.tar.gz: b16943feaa940f9fe433d36fb7523e1274ec1130d62cd9cfac60ad241b770551dffc33f3fbac6d80a9d0659d371b76a446930b302832c4f8bb7caf337315fe39
6
+ metadata.gz: '08a23432bd5de93e8ceb76c0954c5e5dfb99829357cc4a8ea06782f8664b46fbc32756f20833617e052acd613f1c9266d67117c325f0afc2db066722ddb1b7f3'
7
+ data.tar.gz: 6cab48d82d9dec6708dfe3222ec48e92a25ae3a49bf6b22de77880741f4a94577980e4493db712fa5d0539e4fec673c7a65931170040cc25798d28ea2298b2fb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.110.0 (2025-06-05)
5
+ ------------------
6
+
7
+ * Feature - AWS WAF adds support for ASN-based traffic filtering and support for ASN-based rate limiting.
8
+
4
9
  1.109.0 (2025-06-02)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.109.0
1
+ 1.110.0
@@ -1123,6 +1123,8 @@ module Aws::WAFV2
1123
1123
  # ja4_fingerprint: {
1124
1124
  # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1125
1125
  # },
1126
+ # asn: {
1127
+ # },
1126
1128
  # },
1127
1129
  # ],
1128
1130
  # },
@@ -1387,6 +1389,13 @@ module Aws::WAFV2
1387
1389
  # },
1388
1390
  # ],
1389
1391
  # },
1392
+ # asn_match_statement: {
1393
+ # asn_list: [1], # required
1394
+ # forwarded_ip_config: {
1395
+ # header_name: "ForwardedIPHeaderName", # required
1396
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1397
+ # },
1398
+ # },
1390
1399
  # },
1391
1400
  # action: {
1392
1401
  # block: {
@@ -2332,6 +2341,8 @@ module Aws::WAFV2
2332
2341
  # ja4_fingerprint: {
2333
2342
  # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2334
2343
  # },
2344
+ # asn: {
2345
+ # },
2335
2346
  # },
2336
2347
  # ],
2337
2348
  # },
@@ -2596,6 +2607,13 @@ module Aws::WAFV2
2596
2607
  # },
2597
2608
  # ],
2598
2609
  # },
2610
+ # asn_match_statement: {
2611
+ # asn_list: [1], # required
2612
+ # forwarded_ip_config: {
2613
+ # header_name: "ForwardedIPHeaderName", # required
2614
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2615
+ # },
2616
+ # },
2599
2617
  # },
2600
2618
  # action: {
2601
2619
  # block: {
@@ -3396,6 +3414,8 @@ module Aws::WAFV2
3396
3414
  # ja4_fingerprint: {
3397
3415
  # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
3398
3416
  # },
3417
+ # asn: {
3418
+ # },
3399
3419
  # },
3400
3420
  # ],
3401
3421
  # },
@@ -3660,6 +3680,13 @@ module Aws::WAFV2
3660
3680
  # },
3661
3681
  # ],
3662
3682
  # },
3683
+ # asn_match_statement: {
3684
+ # asn_list: [1], # required
3685
+ # forwarded_ip_config: {
3686
+ # header_name: "ForwardedIPHeaderName", # required
3687
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
3688
+ # },
3689
+ # },
3663
3690
  # },
3664
3691
  # action: {
3665
3692
  # block: {
@@ -5380,6 +5407,10 @@ module Aws::WAFV2
5380
5407
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations #=> Array
5381
5408
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
5382
5409
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
5410
+ # resp.rule_group.rules[0].statement.asn_match_statement.asn_list #=> Array
5411
+ # resp.rule_group.rules[0].statement.asn_match_statement.asn_list[0] #=> Integer
5412
+ # resp.rule_group.rules[0].statement.asn_match_statement.forwarded_ip_config.header_name #=> String
5413
+ # resp.rule_group.rules[0].statement.asn_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
5383
5414
  # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
5384
5415
  # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
5385
5416
  # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
@@ -7892,6 +7923,8 @@ module Aws::WAFV2
7892
7923
  # ja4_fingerprint: {
7893
7924
  # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7894
7925
  # },
7926
+ # asn: {
7927
+ # },
7895
7928
  # },
7896
7929
  # ],
7897
7930
  # },
@@ -8156,6 +8189,13 @@ module Aws::WAFV2
8156
8189
  # },
8157
8190
  # ],
8158
8191
  # },
8192
+ # asn_match_statement: {
8193
+ # asn_list: [1], # required
8194
+ # forwarded_ip_config: {
8195
+ # header_name: "ForwardedIPHeaderName", # required
8196
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8197
+ # },
8198
+ # },
8159
8199
  # },
8160
8200
  # action: {
8161
8201
  # block: {
@@ -9001,6 +9041,8 @@ module Aws::WAFV2
9001
9041
  # ja4_fingerprint: {
9002
9042
  # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
9003
9043
  # },
9044
+ # asn: {
9045
+ # },
9004
9046
  # },
9005
9047
  # ],
9006
9048
  # },
@@ -9265,6 +9307,13 @@ module Aws::WAFV2
9265
9307
  # },
9266
9308
  # ],
9267
9309
  # },
9310
+ # asn_match_statement: {
9311
+ # asn_list: [1], # required
9312
+ # forwarded_ip_config: {
9313
+ # header_name: "ForwardedIPHeaderName", # required
9314
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
9315
+ # },
9316
+ # },
9268
9317
  # },
9269
9318
  # action: {
9270
9319
  # block: {
@@ -9432,7 +9481,7 @@ module Aws::WAFV2
9432
9481
  tracer: tracer
9433
9482
  )
9434
9483
  context[:gem_name] = 'aws-sdk-wafv2'
9435
- context[:gem_version] = '1.109.0'
9484
+ context[:gem_version] = '1.110.0'
9436
9485
  Seahorse::Client::Request.new(handlers, context)
9437
9486
  end
9438
9487
 
@@ -19,6 +19,7 @@ module Aws::WAFV2
19
19
  APIKeySummary = Shapes::StructureShape.new(name: 'APIKeySummary')
20
20
  APIKeyTokenDomains = Shapes::ListShape.new(name: 'APIKeyTokenDomains')
21
21
  APIKeyVersion = Shapes::IntegerShape.new(name: 'APIKeyVersion')
22
+ ASN = Shapes::IntegerShape.new(name: 'ASN')
22
23
  AWSManagedRulesACFPRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesACFPRuleSet')
23
24
  AWSManagedRulesATPRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesATPRuleSet')
24
25
  AWSManagedRulesBotControlRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesBotControlRuleSet')
@@ -31,6 +32,8 @@ module Aws::WAFV2
31
32
  AllQueryArguments = Shapes::StructureShape.new(name: 'AllQueryArguments')
32
33
  AllowAction = Shapes::StructureShape.new(name: 'AllowAction')
33
34
  AndStatement = Shapes::StructureShape.new(name: 'AndStatement')
35
+ AsnList = Shapes::ListShape.new(name: 'AsnList')
36
+ AsnMatchStatement = Shapes::StructureShape.new(name: 'AsnMatchStatement')
34
37
  AssociateWebACLRequest = Shapes::StructureShape.new(name: 'AssociateWebACLRequest')
35
38
  AssociateWebACLResponse = Shapes::StructureShape.new(name: 'AssociateWebACLResponse')
36
39
  AssociatedResourceType = Shapes::StringShape.new(name: 'AssociatedResourceType')
@@ -292,6 +295,7 @@ module Aws::WAFV2
292
295
  RateBasedStatementCustomKeys = Shapes::ListShape.new(name: 'RateBasedStatementCustomKeys')
293
296
  RateBasedStatementManagedKeysIPSet = Shapes::StructureShape.new(name: 'RateBasedStatementManagedKeysIPSet')
294
297
  RateLimit = Shapes::IntegerShape.new(name: 'RateLimit')
298
+ RateLimitAsn = Shapes::StructureShape.new(name: 'RateLimitAsn')
295
299
  RateLimitCookie = Shapes::StructureShape.new(name: 'RateLimitCookie')
296
300
  RateLimitForwardedIP = Shapes::StructureShape.new(name: 'RateLimitForwardedIP')
297
301
  RateLimitHTTPMethod = Shapes::StructureShape.new(name: 'RateLimitHTTPMethod')
@@ -481,6 +485,12 @@ module Aws::WAFV2
481
485
  AndStatement.add_member(:statements, Shapes::ShapeRef.new(shape: Statements, required: true, location_name: "Statements"))
482
486
  AndStatement.struct_class = Types::AndStatement
483
487
 
488
+ AsnList.member = Shapes::ShapeRef.new(shape: ASN)
489
+
490
+ AsnMatchStatement.add_member(:asn_list, Shapes::ShapeRef.new(shape: AsnList, required: true, location_name: "AsnList"))
491
+ AsnMatchStatement.add_member(:forwarded_ip_config, Shapes::ShapeRef.new(shape: ForwardedIPConfig, location_name: "ForwardedIPConfig"))
492
+ AsnMatchStatement.struct_class = Types::AsnMatchStatement
493
+
484
494
  AssociateWebACLRequest.add_member(:web_acl_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "WebACLArn"))
485
495
  AssociateWebACLRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
486
496
  AssociateWebACLRequest.struct_class = Types::AssociateWebACLRequest
@@ -1282,6 +1292,7 @@ module Aws::WAFV2
1282
1292
  RateBasedStatementCustomKey.add_member(:uri_path, Shapes::ShapeRef.new(shape: RateLimitUriPath, location_name: "UriPath"))
1283
1293
  RateBasedStatementCustomKey.add_member(:ja3_fingerprint, Shapes::ShapeRef.new(shape: RateLimitJA3Fingerprint, location_name: "JA3Fingerprint"))
1284
1294
  RateBasedStatementCustomKey.add_member(:ja4_fingerprint, Shapes::ShapeRef.new(shape: RateLimitJA4Fingerprint, location_name: "JA4Fingerprint"))
1295
+ RateBasedStatementCustomKey.add_member(:asn, Shapes::ShapeRef.new(shape: RateLimitAsn, location_name: "ASN"))
1285
1296
  RateBasedStatementCustomKey.struct_class = Types::RateBasedStatementCustomKey
1286
1297
 
1287
1298
  RateBasedStatementCustomKeys.member = Shapes::ShapeRef.new(shape: RateBasedStatementCustomKey)
@@ -1290,6 +1301,8 @@ module Aws::WAFV2
1290
1301
  RateBasedStatementManagedKeysIPSet.add_member(:addresses, Shapes::ShapeRef.new(shape: IPAddresses, location_name: "Addresses"))
1291
1302
  RateBasedStatementManagedKeysIPSet.struct_class = Types::RateBasedStatementManagedKeysIPSet
1292
1303
 
1304
+ RateLimitAsn.struct_class = Types::RateLimitAsn
1305
+
1293
1306
  RateLimitCookie.add_member(:name, Shapes::ShapeRef.new(shape: FieldToMatchData, required: true, location_name: "Name"))
1294
1307
  RateLimitCookie.add_member(:text_transformations, Shapes::ShapeRef.new(shape: TextTransformations, required: true, location_name: "TextTransformations"))
1295
1308
  RateLimitCookie.struct_class = Types::RateLimitCookie
@@ -1529,6 +1542,7 @@ module Aws::WAFV2
1529
1542
  Statement.add_member(:managed_rule_group_statement, Shapes::ShapeRef.new(shape: ManagedRuleGroupStatement, location_name: "ManagedRuleGroupStatement"))
1530
1543
  Statement.add_member(:label_match_statement, Shapes::ShapeRef.new(shape: LabelMatchStatement, location_name: "LabelMatchStatement"))
1531
1544
  Statement.add_member(:regex_match_statement, Shapes::ShapeRef.new(shape: RegexMatchStatement, location_name: "RegexMatchStatement"))
1545
+ Statement.add_member(:asn_match_statement, Shapes::ShapeRef.new(shape: AsnMatchStatement, location_name: "AsnMatchStatement"))
1532
1546
  Statement.struct_class = Types::Statement
1533
1547
 
1534
1548
  Statements.member = Shapes::ShapeRef.new(shape: Statement)
@@ -361,6 +361,41 @@ module Aws::WAFV2
361
361
  include Aws::Structure
362
362
  end
363
363
 
364
+ # A rule statement that inspects web traffic based on the Autonomous
365
+ # System Number (ASN) associated with the request's IP address.
366
+ #
367
+ # For additional details, see [ASN match rule statement][1] in the [WAF
368
+ # Developer Guide][2].
369
+ #
370
+ #
371
+ #
372
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html
373
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
374
+ #
375
+ # @!attribute [rw] asn_list
376
+ # Contains one or more Autonomous System Numbers (ASNs). ASNs are
377
+ # unique identifiers assigned to large internet networks managed by
378
+ # organizations such as internet service providers, enterprises,
379
+ # universities, or government agencies.
380
+ # @return [Array<Integer>]
381
+ #
382
+ # @!attribute [rw] forwarded_ip_config
383
+ # The configuration for inspecting IP addresses to match against an
384
+ # ASN in an HTTP header that you specify, instead of using the IP
385
+ # address that's reported by the web request origin. Commonly, this
386
+ # is the X-Forwarded-For (XFF) header, but you can specify any header
387
+ # name.
388
+ # @return [Types::ForwardedIPConfig]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AsnMatchStatement AWS API Documentation
391
+ #
392
+ class AsnMatchStatement < Struct.new(
393
+ :asn_list,
394
+ :forwarded_ip_config)
395
+ SENSITIVE = []
396
+ include Aws::Structure
397
+ end
398
+
364
399
  # @!attribute [rw] web_acl_arn
365
400
  # The Amazon Resource Name (ARN) of the web ACL that you want to
366
401
  # associate with the resource.
@@ -2849,8 +2884,8 @@ module Aws::WAFV2
2849
2884
  #
2850
2885
  # </note>
2851
2886
  #
2852
- # This configuration is used for GeoMatchStatement and
2853
- # RateBasedStatement. For IPSetReferenceStatement, use
2887
+ # This configuration is used for GeoMatchStatement, AsnMatchStatement,
2888
+ # and RateBasedStatement. For IPSetReferenceStatement, use
2854
2889
  # IPSetForwardedIPConfig instead.
2855
2890
  #
2856
2891
  # WAF only evaluates the first IP address found in the specified HTTP
@@ -3803,11 +3838,12 @@ module Aws::WAFV2
3803
3838
  # `host:user-agent:accept:authorization:referer`.
3804
3839
  #
3805
3840
  # @!attribute [rw] oversize_handling
3806
- # What WAF should do if the headers of the request are more numerous
3807
- # or larger than WAF can inspect. WAF does not support inspecting the
3808
- # entire contents of request headers when they exceed 8 KB (8192
3809
- # bytes) or 200 total headers. The underlying host service forwards a
3810
- # maximum of 200 headers and at most 8 KB of header contents to WAF.
3841
+ # What WAF should do if the headers determined by your match scope are
3842
+ # more numerous or larger than WAF can inspect. WAF does not support
3843
+ # inspecting the entire contents of request headers when they exceed 8
3844
+ # KB (8192 bytes) or 200 total headers. The underlying host service
3845
+ # forwards a maximum of 200 headers and at most 8 KB of header
3846
+ # contents to WAF.
3811
3847
  #
3812
3848
  # The options for oversize handling are the following:
3813
3849
  #
@@ -3866,11 +3902,12 @@ module Aws::WAFV2
3866
3902
  # @return [String]
3867
3903
  #
3868
3904
  # @!attribute [rw] oversize_handling
3869
- # What WAF should do if the headers of the request are more numerous
3870
- # or larger than WAF can inspect. WAF does not support inspecting the
3871
- # entire contents of request headers when they exceed 8 KB (8192
3872
- # bytes) or 200 total headers. The underlying host service forwards a
3873
- # maximum of 200 headers and at most 8 KB of header contents to WAF.
3905
+ # What WAF should do if the headers determined by your match scope are
3906
+ # more numerous or larger than WAF can inspect. WAF does not support
3907
+ # inspecting the entire contents of request headers when they exceed 8
3908
+ # KB (8192 bytes) or 200 total headers. The underlying host service
3909
+ # forwards a maximum of 200 headers and at most 8 KB of header
3910
+ # contents to WAF.
3874
3911
  #
3875
3912
  # The options for oversize handling are the following:
3876
3913
  #
@@ -6747,6 +6784,12 @@ module Aws::WAFV2
6747
6784
  # defines an aggregation instance.
6748
6785
  # @return [Types::RateLimitJA4Fingerprint]
6749
6786
  #
6787
+ # @!attribute [rw] asn
6788
+ # Use an Autonomous System Number (ASN) derived from the request's
6789
+ # originating or forwarded IP address as an aggregate key. Each
6790
+ # distinct ASN contributes to the aggregation instance.
6791
+ # @return [Types::RateLimitAsn]
6792
+ #
6750
6793
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateBasedStatementCustomKey AWS API Documentation
6751
6794
  #
6752
6795
  class RateBasedStatementCustomKey < Struct.new(
@@ -6760,7 +6803,8 @@ module Aws::WAFV2
6760
6803
  :label_namespace,
6761
6804
  :uri_path,
6762
6805
  :ja3_fingerprint,
6763
- :ja4_fingerprint)
6806
+ :ja4_fingerprint,
6807
+ :asn)
6764
6808
  SENSITIVE = []
6765
6809
  include Aws::Structure
6766
6810
  end
@@ -6800,6 +6844,18 @@ module Aws::WAFV2
6800
6844
  include Aws::Structure
6801
6845
  end
6802
6846
 
6847
+ # Specifies an Autonomous System Number (ASN) derived from the
6848
+ # request's originating or forwarded IP address as an aggregate key for
6849
+ # a rate-based rule. Each distinct ASN contributes to the aggregation
6850
+ # instance. If you use a single ASN as your custom key, then each ASN
6851
+ # fully defines an aggregation instance.
6852
+ #
6853
+ # @api private
6854
+ #
6855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitAsn AWS API Documentation
6856
+ #
6857
+ class RateLimitAsn < Aws::EmptyStructure; end
6858
+
6803
6859
  # Specifies a cookie as an aggregate key for a rate-based rule. Each
6804
6860
  # distinct value in the cookie contributes to the aggregation instance.
6805
6861
  # If you use a single cookie as your custom key, then each value fully
@@ -8786,6 +8842,19 @@ module Aws::WAFV2
8786
8842
  # against a single regular expression.
8787
8843
  # @return [Types::RegexMatchStatement]
8788
8844
  #
8845
+ # @!attribute [rw] asn_match_statement
8846
+ # A rule statement that inspects web traffic based on the Autonomous
8847
+ # System Number (ASN) associated with the request's IP address.
8848
+ #
8849
+ # For additional details, see [ASN match rule statement][1] in the
8850
+ # [WAF Developer Guide][2].
8851
+ #
8852
+ #
8853
+ #
8854
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html
8855
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8856
+ # @return [Types::AsnMatchStatement]
8857
+ #
8789
8858
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Statement AWS API Documentation
8790
8859
  #
8791
8860
  class Statement < Struct.new(
@@ -8803,7 +8872,8 @@ module Aws::WAFV2
8803
8872
  :not_statement,
8804
8873
  :managed_rule_group_statement,
8805
8874
  :label_match_statement,
8806
- :regex_match_statement)
8875
+ :regex_match_statement,
8876
+ :asn_match_statement)
8807
8877
  SENSITIVE = []
8808
8878
  include Aws::Structure
8809
8879
  end
data/lib/aws-sdk-wafv2.rb CHANGED
@@ -54,7 +54,7 @@ module Aws::WAFV2
54
54
  autoload :EndpointProvider, 'aws-sdk-wafv2/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-wafv2/endpoints'
56
56
 
57
- GEM_VERSION = '1.109.0'
57
+ GEM_VERSION = '1.110.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -601,6 +601,8 @@ module Aws
601
601
  }?,
602
602
  ja4_fingerprint: {
603
603
  fallback_behavior: ("MATCH" | "NO_MATCH")
604
+ }?,
605
+ asn: {
604
606
  }?
605
607
  },
606
608
  ]?
@@ -857,6 +859,13 @@ module Aws
857
859
  type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE")
858
860
  },
859
861
  ]
862
+ }?,
863
+ asn_match_statement: {
864
+ asn_list: Array[::Integer],
865
+ forwarded_ip_config: {
866
+ header_name: ::String,
867
+ fallback_behavior: ("MATCH" | "NO_MATCH")
868
+ }?
860
869
  }?
861
870
  },
862
871
  action: {
@@ -1522,6 +1531,8 @@ module Aws
1522
1531
  }?,
1523
1532
  ja4_fingerprint: {
1524
1533
  fallback_behavior: ("MATCH" | "NO_MATCH")
1534
+ }?,
1535
+ asn: {
1525
1536
  }?
1526
1537
  },
1527
1538
  ]?
@@ -1778,6 +1789,13 @@ module Aws
1778
1789
  type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE")
1779
1790
  },
1780
1791
  ]
1792
+ }?,
1793
+ asn_match_statement: {
1794
+ asn_list: Array[::Integer],
1795
+ forwarded_ip_config: {
1796
+ header_name: ::String,
1797
+ fallback_behavior: ("MATCH" | "NO_MATCH")
1798
+ }?
1781
1799
  }?
1782
1800
  },
1783
1801
  action: {
@@ -2427,6 +2445,8 @@ module Aws
2427
2445
  }?,
2428
2446
  ja4_fingerprint: {
2429
2447
  fallback_behavior: ("MATCH" | "NO_MATCH")
2448
+ }?,
2449
+ asn: {
2430
2450
  }?
2431
2451
  },
2432
2452
  ]?
@@ -2683,6 +2703,13 @@ module Aws
2683
2703
  type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE")
2684
2704
  },
2685
2705
  ]
2706
+ }?,
2707
+ asn_match_statement: {
2708
+ asn_list: Array[::Integer],
2709
+ forwarded_ip_config: {
2710
+ header_name: ::String,
2711
+ fallback_behavior: ("MATCH" | "NO_MATCH")
2712
+ }?
2686
2713
  }?
2687
2714
  },
2688
2715
  action: {
@@ -4005,6 +4032,8 @@ module Aws
4005
4032
  }?,
4006
4033
  ja4_fingerprint: {
4007
4034
  fallback_behavior: ("MATCH" | "NO_MATCH")
4035
+ }?,
4036
+ asn: {
4008
4037
  }?
4009
4038
  },
4010
4039
  ]?
@@ -4261,6 +4290,13 @@ module Aws
4261
4290
  type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE")
4262
4291
  },
4263
4292
  ]
4293
+ }?,
4294
+ asn_match_statement: {
4295
+ asn_list: Array[::Integer],
4296
+ forwarded_ip_config: {
4297
+ header_name: ::String,
4298
+ fallback_behavior: ("MATCH" | "NO_MATCH")
4299
+ }?
4264
4300
  }?
4265
4301
  },
4266
4302
  action: {
@@ -4906,6 +4942,8 @@ module Aws
4906
4942
  }?,
4907
4943
  ja4_fingerprint: {
4908
4944
  fallback_behavior: ("MATCH" | "NO_MATCH")
4945
+ }?,
4946
+ asn: {
4909
4947
  }?
4910
4948
  },
4911
4949
  ]?
@@ -5162,6 +5200,13 @@ module Aws
5162
5200
  type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE")
5163
5201
  },
5164
5202
  ]
5203
+ }?,
5204
+ asn_match_statement: {
5205
+ asn_list: Array[::Integer],
5206
+ forwarded_ip_config: {
5207
+ header_name: ::String,
5208
+ fallback_behavior: ("MATCH" | "NO_MATCH")
5209
+ }?
5165
5210
  }?
5166
5211
  },
5167
5212
  action: {
data/sig/types.rbs CHANGED
@@ -65,6 +65,12 @@ module Aws::WAFV2
65
65
  SENSITIVE: []
66
66
  end
67
67
 
68
+ class AsnMatchStatement
69
+ attr_accessor asn_list: ::Array[::Integer]
70
+ attr_accessor forwarded_ip_config: Types::ForwardedIPConfig
71
+ SENSITIVE: []
72
+ end
73
+
68
74
  class AssociateWebACLRequest
69
75
  attr_accessor web_acl_arn: ::String
70
76
  attr_accessor resource_arn: ::String
@@ -1124,6 +1130,7 @@ module Aws::WAFV2
1124
1130
  attr_accessor uri_path: Types::RateLimitUriPath
1125
1131
  attr_accessor ja3_fingerprint: Types::RateLimitJA3Fingerprint
1126
1132
  attr_accessor ja4_fingerprint: Types::RateLimitJA4Fingerprint
1133
+ attr_accessor asn: Types::RateLimitAsn
1127
1134
  SENSITIVE: []
1128
1135
  end
1129
1136
 
@@ -1133,6 +1140,9 @@ module Aws::WAFV2
1133
1140
  SENSITIVE: []
1134
1141
  end
1135
1142
 
1143
+ class RateLimitAsn < Aws::EmptyStructure
1144
+ end
1145
+
1136
1146
  class RateLimitCookie
1137
1147
  attr_accessor name: ::String
1138
1148
  attr_accessor text_transformations: ::Array[Types::TextTransformation]
@@ -1405,6 +1415,7 @@ module Aws::WAFV2
1405
1415
  attr_accessor managed_rule_group_statement: Types::ManagedRuleGroupStatement
1406
1416
  attr_accessor label_match_statement: Types::LabelMatchStatement
1407
1417
  attr_accessor regex_match_statement: Types::RegexMatchStatement
1418
+ attr_accessor asn_match_statement: Types::AsnMatchStatement
1408
1419
  SENSITIVE: []
1409
1420
  end
1410
1421
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-wafv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.109.0
4
+ version: 1.110.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services