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 +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-wafv2/client.rb +50 -1
- data/lib/aws-sdk-wafv2/client_api.rb +14 -0
- data/lib/aws-sdk-wafv2/types.rb +84 -14
- data/lib/aws-sdk-wafv2.rb +1 -1
- data/sig/client.rbs +45 -0
- data/sig/types.rbs +11 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d61c6e32e94cd2c77641590f482910cf9f137f89ead4c05d974e7da90cadaca1
|
4
|
+
data.tar.gz: '087e9860fb0c5b059d3e0243cede2fe0ccee2a854d0274ee8647f7de8e74c242'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08a23432bd5de93e8ceb76c0954c5e5dfb99829357cc4a8ea06782f8664b46fbc32756f20833617e052acd613f1c9266d67117c325f0afc2db066722ddb1b7f3'
|
7
|
+
data.tar.gz: 6cab48d82d9dec6708dfe3222ec48e92a25ae3a49bf6b22de77880741f4a94577980e4493db712fa5d0539e4fec673c7a65931170040cc25798d28ea2298b2fb
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.110.0
|
data/lib/aws-sdk-wafv2/client.rb
CHANGED
@@ -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.
|
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)
|
data/lib/aws-sdk-wafv2/types.rb
CHANGED
@@ -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
|
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
|
3807
|
-
# or larger than WAF can inspect. WAF does not support
|
3808
|
-
# entire contents of request headers when they exceed 8
|
3809
|
-
# bytes) or 200 total headers. The underlying host service
|
3810
|
-
# maximum of 200 headers and at most 8 KB of header
|
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
|
3870
|
-
# or larger than WAF can inspect. WAF does not support
|
3871
|
-
# entire contents of request headers when they exceed 8
|
3872
|
-
# bytes) or 200 total headers. The underlying host service
|
3873
|
-
# maximum of 200 headers and at most 8 KB of header
|
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
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
|
|