aws-sdk-wafv2 1.76.0 → 1.78.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58aab4cae5a9a4c8ae7201eb885b84f12a345db0b09d83112552d6a65b44f3ad
4
- data.tar.gz: 84d0468c41f15343de45e232455f1bff31b67827664a7478fcd333fce795da61
3
+ metadata.gz: e8bf795fa4c93cbb5310aaf9daf187ec4f0fdead19edd0be36f31b0d16c222c1
4
+ data.tar.gz: 70f1d02ed01de29eb95fe70b7118dd5b377b407d5a2694714629b95042378001
5
5
  SHA512:
6
- metadata.gz: a2f660d0b4ff4a2aa8a31f773701140ba653c13caa92b81cc284dc62c42a5ef747705f159abed8661fcac1c3e9659b28c75cf24ac323e0503b788b9d6750b37b
7
- data.tar.gz: fbb743e861e90cafbf28efcb6e343a859e15ba8c22c9ef7763d5a40ae2c65ee975037d54a6f770ce85da904cda8bf2c88821abf3cf38f317afddbaaa4a45db01
6
+ metadata.gz: 61596cc89b387893e056787d09ce444f2ca9594ed5dc619521892dc1b8113ad10f83c3a9b42145e92cc5e911fde56c4a90e4df25df6b194bc1fcfee724db65ab
7
+ data.tar.gz: f3a2dc8fe9b6ef5b91007170af2bd2d49ed2ca380ce8453559ab75b22af907c11c4043c502f75a77b5ae29e85b52a2da8ddfb1cf7684caf376659bcd53c01030
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.78.0 (2024-03-07)
5
+ ------------------
6
+
7
+ * Feature - You can increase the max request body inspection size for some regional resources. The size setting is in the web ACL association config. Also, the AWSManagedRulesBotControlRuleSet EnableMachineLearning setting now takes a Boolean instead of a primitive boolean type, for languages like Java.
8
+
9
+ 1.77.0 (2024-02-28)
10
+ ------------------
11
+
12
+ * Feature - AWS WAF now supports configurable time windows for request aggregation with rate-based rules. Customers can now select time windows of 1 minute, 2 minutes or 10 minutes, in addition to the previously supported 5 minutes.
13
+
4
14
  1.76.0 (2024-02-06)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.76.0
1
+ 1.78.0
@@ -950,6 +950,7 @@ module Aws::WAFV2
950
950
  # },
951
951
  # rate_based_statement: {
952
952
  # limit: 1, # required
953
+ # evaluation_window_sec: 1,
953
954
  # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP, CUSTOM_KEYS, CONSTANT
954
955
  # scope_down_statement: {
955
956
  # # recursive Statement
@@ -2128,6 +2129,7 @@ module Aws::WAFV2
2128
2129
  # },
2129
2130
  # rate_based_statement: {
2130
2131
  # limit: 1, # required
2132
+ # evaluation_window_sec: 1,
2131
2133
  # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP, CUSTOM_KEYS, CONSTANT
2132
2134
  # scope_down_statement: {
2133
2135
  # # recursive Statement
@@ -2679,8 +2681,10 @@ module Aws::WAFV2
2679
2681
  # ACL and protected resources.
2680
2682
  #
2681
2683
  # Use this to customize the maximum size of the request body that your
2682
- # protected CloudFront distributions forward to WAF for inspection. The
2683
- # default is 16 KB (16,384 bytes).
2684
+ # protected resources forward to WAF for inspection. You can customize
2685
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App Runner,
2686
+ # or Verified Access resources. The default setting is 16 KB (16,384
2687
+ # bytes).
2684
2688
  #
2685
2689
  # <note markdown="1"> You are charged additional fees when your protected resources forward
2686
2690
  # body sizes that are larger than the default. For more information, see
@@ -2688,6 +2692,9 @@ module Aws::WAFV2
2688
2692
  #
2689
2693
  # </note>
2690
2694
  #
2695
+ # For Application Load Balancer and AppSync, the limit is fixed at 8 KB
2696
+ # (8,192 bytes).
2697
+ #
2691
2698
  #
2692
2699
  #
2693
2700
  # [1]: http://aws.amazon.com/waf/pricing/
@@ -3136,6 +3143,7 @@ module Aws::WAFV2
3136
3143
  # },
3137
3144
  # rate_based_statement: {
3138
3145
  # limit: 1, # required
3146
+ # evaluation_window_sec: 1,
3139
3147
  # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP, CUSTOM_KEYS, CONSTANT
3140
3148
  # scope_down_statement: {
3141
3149
  # # recursive Statement
@@ -4998,6 +5006,7 @@ module Aws::WAFV2
4998
5006
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
4999
5007
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_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"
5000
5008
  # resp.rule_group.rules[0].statement.rate_based_statement.limit #=> Integer
5009
+ # resp.rule_group.rules[0].statement.rate_based_statement.evaluation_window_sec #=> Integer
5001
5010
  # resp.rule_group.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT"
5002
5011
  # resp.rule_group.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
5003
5012
  # resp.rule_group.rules[0].statement.rate_based_statement.forwarded_ip_config.header_name #=> String
@@ -7545,6 +7554,7 @@ module Aws::WAFV2
7545
7554
  # },
7546
7555
  # rate_based_statement: {
7547
7556
  # limit: 1, # required
7557
+ # evaluation_window_sec: 1,
7548
7558
  # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP, CUSTOM_KEYS, CONSTANT
7549
7559
  # scope_down_statement: {
7550
7560
  # # recursive Statement
@@ -8140,8 +8150,10 @@ module Aws::WAFV2
8140
8150
  # ACL and protected resources.
8141
8151
  #
8142
8152
  # Use this to customize the maximum size of the request body that your
8143
- # protected CloudFront distributions forward to WAF for inspection. The
8144
- # default is 16 KB (16,384 bytes).
8153
+ # protected resources forward to WAF for inspection. You can customize
8154
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App Runner,
8155
+ # or Verified Access resources. The default setting is 16 KB (16,384
8156
+ # bytes).
8145
8157
  #
8146
8158
  # <note markdown="1"> You are charged additional fees when your protected resources forward
8147
8159
  # body sizes that are larger than the default. For more information, see
@@ -8149,6 +8161,9 @@ module Aws::WAFV2
8149
8161
  #
8150
8162
  # </note>
8151
8163
  #
8164
+ # For Application Load Balancer and AppSync, the limit is fixed at 8 KB
8165
+ # (8,192 bytes).
8166
+ #
8152
8167
  #
8153
8168
  #
8154
8169
  # [1]: http://aws.amazon.com/waf/pricing/
@@ -8598,6 +8613,7 @@ module Aws::WAFV2
8598
8613
  # },
8599
8614
  # rate_based_statement: {
8600
8615
  # limit: 1, # required
8616
+ # evaluation_window_sec: 1,
8601
8617
  # aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP, CUSTOM_KEYS, CONSTANT
8602
8618
  # scope_down_statement: {
8603
8619
  # # recursive Statement
@@ -9067,7 +9083,7 @@ module Aws::WAFV2
9067
9083
  params: params,
9068
9084
  config: config)
9069
9085
  context[:gem_name] = 'aws-sdk-wafv2'
9070
- context[:gem_version] = '1.76.0'
9086
+ context[:gem_version] = '1.78.0'
9071
9087
  Seahorse::Client::Request.new(handlers, context)
9072
9088
  end
9073
9089
 
@@ -105,11 +105,13 @@ module Aws::WAFV2
105
105
  DisassociateWebACLResponse = Shapes::StructureShape.new(name: 'DisassociateWebACLResponse')
106
106
  DownloadUrl = Shapes::StringShape.new(name: 'DownloadUrl')
107
107
  EmailField = Shapes::StructureShape.new(name: 'EmailField')
108
+ EnableMachineLearning = Shapes::BooleanShape.new(name: 'EnableMachineLearning')
108
109
  EntityDescription = Shapes::StringShape.new(name: 'EntityDescription')
109
110
  EntityId = Shapes::StringShape.new(name: 'EntityId')
110
111
  EntityName = Shapes::StringShape.new(name: 'EntityName')
111
112
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
112
113
  ErrorReason = Shapes::StringShape.new(name: 'ErrorReason')
114
+ EvaluationWindowSec = Shapes::IntegerShape.new(name: 'EvaluationWindowSec')
113
115
  ExcludedRule = Shapes::StructureShape.new(name: 'ExcludedRule')
114
116
  ExcludedRules = Shapes::ListShape.new(name: 'ExcludedRules')
115
117
  FailureCode = Shapes::IntegerShape.new(name: 'FailureCode')
@@ -350,6 +352,7 @@ module Aws::WAFV2
350
352
  SizeConstraintStatement = Shapes::StructureShape.new(name: 'SizeConstraintStatement')
351
353
  SizeInspectionLimit = Shapes::StringShape.new(name: 'SizeInspectionLimit')
352
354
  SolveTimestamp = Shapes::IntegerShape.new(name: 'SolveTimestamp')
355
+ SourceType = Shapes::StringShape.new(name: 'SourceType')
353
356
  SqliMatchStatement = Shapes::StructureShape.new(name: 'SqliMatchStatement')
354
357
  Statement = Shapes::StructureShape.new(name: 'Statement')
355
358
  Statements = Shapes::ListShape.new(name: 'Statements')
@@ -442,7 +445,7 @@ module Aws::WAFV2
442
445
  AWSManagedRulesATPRuleSet.struct_class = Types::AWSManagedRulesATPRuleSet
443
446
 
444
447
  AWSManagedRulesBotControlRuleSet.add_member(:inspection_level, Shapes::ShapeRef.new(shape: InspectionLevel, required: true, location_name: "InspectionLevel"))
445
- AWSManagedRulesBotControlRuleSet.add_member(:enable_machine_learning, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableMachineLearning"))
448
+ AWSManagedRulesBotControlRuleSet.add_member(:enable_machine_learning, Shapes::ShapeRef.new(shape: EnableMachineLearning, location_name: "EnableMachineLearning"))
446
449
  AWSManagedRulesBotControlRuleSet.struct_class = Types::AWSManagedRulesBotControlRuleSet
447
450
 
448
451
  ActionCondition.add_member(:action, Shapes::ShapeRef.new(shape: ActionValue, required: true, location_name: "Action"))
@@ -1215,6 +1218,7 @@ module Aws::WAFV2
1215
1218
  QueryString.struct_class = Types::QueryString
1216
1219
 
1217
1220
  RateBasedStatement.add_member(:limit, Shapes::ShapeRef.new(shape: RateLimit, required: true, location_name: "Limit"))
1221
+ RateBasedStatement.add_member(:evaluation_window_sec, Shapes::ShapeRef.new(shape: EvaluationWindowSec, location_name: "EvaluationWindowSec"))
1218
1222
  RateBasedStatement.add_member(:aggregate_key_type, Shapes::ShapeRef.new(shape: RateBasedStatementAggregateKeyType, required: true, location_name: "AggregateKeyType"))
1219
1223
  RateBasedStatement.add_member(:scope_down_statement, Shapes::ShapeRef.new(shape: Statement, location_name: "ScopeDownStatement"))
1220
1224
  RateBasedStatement.add_member(:forwarded_ip_config, Shapes::ShapeRef.new(shape: ForwardedIPConfig, location_name: "ForwardedIPConfig"))
@@ -1625,6 +1629,7 @@ module Aws::WAFV2
1625
1629
  WAFInvalidResourceException.struct_class = Types::WAFInvalidResourceException
1626
1630
 
1627
1631
  WAFLimitsExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1632
+ WAFLimitsExceededException.add_member(:source_type, Shapes::ShapeRef.new(shape: SourceType, location_name: "SourceType"))
1628
1633
  WAFLimitsExceededException.struct_class = Types::WAFLimitsExceededException
1629
1634
 
1630
1635
  WAFLogDestinationPermissionIssueException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
@@ -1942,6 +1947,7 @@ module Aws::WAFV2
1942
1947
  o.output = Shapes::ShapeRef.new(shape: DescribeAllManagedProductsResponse)
1943
1948
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1944
1949
  o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1950
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1945
1951
  end)
1946
1952
 
1947
1953
  api.add_operation(:describe_managed_products_by_vendor, Seahorse::Model::Operation.new.tap do |o|
@@ -2000,6 +2006,7 @@ module Aws::WAFV2
2000
2006
  o.input = Shapes::ShapeRef.new(shape: GetDecryptedAPIKeyRequest)
2001
2007
  o.output = Shapes::ShapeRef.new(shape: GetDecryptedAPIKeyResponse)
2002
2008
  o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
2009
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
2003
2010
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
2004
2011
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
2005
2012
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidResourceException)
@@ -216,6 +216,11 @@ module Aws::WAFV2
216
216
  def message
217
217
  @message || @data[:message]
218
218
  end
219
+
220
+ # @return [String]
221
+ def source_type
222
+ @data[:source_type]
223
+ end
219
224
  end
220
225
 
221
226
  class WAFLogDestinationPermissionIssueException < ServiceError
@@ -413,8 +413,10 @@ module Aws::WAFV2
413
413
  # ACL and protected resources.
414
414
  #
415
415
  # Use this to customize the maximum size of the request body that your
416
- # protected CloudFront distributions forward to WAF for inspection. The
417
- # default is 16 KB (16,384 bytes).
416
+ # protected resources forward to WAF for inspection. You can customize
417
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App Runner,
418
+ # or Verified Access resources. The default setting is 16 KB (16,384
419
+ # bytes).
418
420
  #
419
421
  # <note markdown="1"> You are charged additional fees when your protected resources forward
420
422
  # body sizes that are larger than the default. For more information, see
@@ -422,14 +424,19 @@ module Aws::WAFV2
422
424
  #
423
425
  # </note>
424
426
  #
427
+ # For Application Load Balancer and AppSync, the limit is fixed at 8 KB
428
+ # (8,192 bytes).
429
+ #
425
430
  #
426
431
  #
427
432
  # [1]: http://aws.amazon.com/waf/pricing/
428
433
  #
429
434
  # @!attribute [rw] request_body
430
435
  # Customizes the maximum size of the request body that your protected
431
- # CloudFront distributions forward to WAF for inspection. The default
432
- # size is 16 KB (16,384 bytes).
436
+ # CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
437
+ # Access resources forward to WAF for inspection. The default size is
438
+ # 16 KB (16,384 bytes). You can change the setting for any of the
439
+ # available resource types.
433
440
  #
434
441
  # <note markdown="1"> You are charged additional fees when your protected resources
435
442
  # forward body sizes that are larger than the default. For more
@@ -437,6 +444,12 @@ module Aws::WAFV2
437
444
  #
438
445
  # </note>
439
446
  #
447
+ # Example JSON: ` \{ "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE":
448
+ # "KB_32" \}`
449
+ #
450
+ # For Application Load Balancer and AppSync, the limit is fixed at 8
451
+ # KB (8,192 bytes).
452
+ #
440
453
  #
441
454
  #
442
455
  # [1]: http://aws.amazon.com/waf/pricing/
@@ -483,17 +496,21 @@ module Aws::WAFV2
483
496
  # FieldToMatch specification.
484
497
  #
485
498
  # @!attribute [rw] oversize_handling
486
- # What WAF should do if the body is larger than WAF can inspect. WAF
487
- # does not support inspecting the entire contents of the web request
488
- # body if the body exceeds the limit for the resource type. If the
489
- # body is larger than the limit, the underlying host service only
490
- # forwards the contents that are below the limit to WAF for
491
- # inspection.
492
- #
493
- # The default limit is 8 KB (8,192 bytes) for regional resources and
494
- # 16 KB (16,384 bytes) for CloudFront distributions. For CloudFront
495
- # distributions, you can increase the limit in the web ACL
496
- # `AssociationConfig`, for additional processing fees.
499
+ # What WAF should do if the body is larger than WAF can inspect.
500
+ #
501
+ # WAF does not support inspecting the entire contents of the web
502
+ # request body if the body exceeds the limit for the resource type.
503
+ # When a web request body is larger than the limit, the underlying
504
+ # host service only forwards the contents that are within the limit to
505
+ # WAF for inspection.
506
+ #
507
+ # * For Application Load Balancer and AppSync, the limit is fixed at 8
508
+ # KB (8,192 bytes).
509
+ #
510
+ # * For CloudFront, API Gateway, Amazon Cognito, App Runner, and
511
+ # Verified Access, the default limit is 16 KB (16,384 bytes), and
512
+ # you can increase the limit for each resource type in the web ACL
513
+ # `AssociationConfig`, for additional processing fees.
497
514
  #
498
515
  # The options for oversize handling are the following:
499
516
  #
@@ -1470,8 +1487,10 @@ module Aws::WAFV2
1470
1487
  # ACL and protected resources.
1471
1488
  #
1472
1489
  # Use this to customize the maximum size of the request body that your
1473
- # protected CloudFront distributions forward to WAF for inspection.
1474
- # The default is 16 KB (16,384 bytes).
1490
+ # protected resources forward to WAF for inspection. You can customize
1491
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App
1492
+ # Runner, or Verified Access resources. The default setting is 16 KB
1493
+ # (16,384 bytes).
1475
1494
  #
1476
1495
  # <note markdown="1"> You are charged additional fees when your protected resources
1477
1496
  # forward body sizes that are larger than the default. For more
@@ -1479,6 +1498,9 @@ module Aws::WAFV2
1479
1498
  #
1480
1499
  # </note>
1481
1500
  #
1501
+ # For Application Load Balancer and AppSync, the limit is fixed at 8
1502
+ # KB (8,192 bytes).
1503
+ #
1482
1504
  #
1483
1505
  #
1484
1506
  # [1]: http://aws.amazon.com/waf/pricing/
@@ -2325,20 +2347,37 @@ module Aws::WAFV2
2325
2347
  include Aws::Structure
2326
2348
  end
2327
2349
 
2328
- # The part of the web request that you want WAF to inspect. Include the
2329
- # single `FieldToMatch` type that you want to inspect, with additional
2330
- # specifications as needed, according to the type. You specify a single
2331
- # request component in `FieldToMatch` for each rule statement that
2332
- # requires it. To inspect more than one component of the web request,
2333
- # create a separate rule statement for each component.
2350
+ # Specifies a web request component to be used in a rule match statement
2351
+ # or in a logging configuration.
2352
+ #
2353
+ # * In a rule statement, this is the part of the web request that you
2354
+ # want WAF to inspect. Include the single `FieldToMatch` type that you
2355
+ # want to inspect, with additional specifications as needed, according
2356
+ # to the type. You specify a single request component in
2357
+ # `FieldToMatch` for each rule statement that requires it. To inspect
2358
+ # more than one component of the web request, create a separate rule
2359
+ # statement for each component.
2360
+ #
2361
+ # Example JSON for a `QueryString` field to match:
2334
2362
  #
2335
- # Example JSON for a `QueryString` field to match:
2363
+ # ` "FieldToMatch": \{ "QueryString": \{\} \}`
2336
2364
  #
2337
- # ` "FieldToMatch": \{ "QueryString": \{\} \}`
2365
+ # Example JSON for a `Method` field to match specification:
2338
2366
  #
2339
- # Example JSON for a `Method` field to match specification:
2367
+ # ` "FieldToMatch": \{ "Method": \{ "Name": "DELETE" \} \}`
2340
2368
  #
2341
- # ` "FieldToMatch": \{ "Method": \{ "Name": "DELETE" \} \}`
2369
+ # * In a logging configuration, this is used in the `RedactedFields`
2370
+ # property to specify a field to redact from the logging records. For
2371
+ # this use case, note the following:
2372
+ #
2373
+ # * Even though all `FieldToMatch` settings are available, the only
2374
+ # valid settings for field redaction are `UriPath`, `QueryString`,
2375
+ # `SingleHeader`, and `Method`.
2376
+ #
2377
+ # * In this documentation, the descriptions of the individual fields
2378
+ # talk about specifying the web request component to inspect, but
2379
+ # for field redaction, you are specifying the component type to
2380
+ # redact from the logs.
2342
2381
  #
2343
2382
  # @!attribute [rw] single_header
2344
2383
  # Inspect a single header. Provide the name of the header to inspect,
@@ -2379,12 +2418,19 @@ module Aws::WAFV2
2379
2418
  # contains any additional data that you want to send to your web
2380
2419
  # server as the HTTP request body, such as data from a form.
2381
2420
  #
2382
- # A limited amount of the request body is forwarded to WAF for
2383
- # inspection by the underlying host service. For regional resources,
2384
- # the limit is 8 KB (8,192 bytes) and for CloudFront distributions,
2385
- # the limit is 16 KB (16,384 bytes). For CloudFront distributions, you
2386
- # can increase the limit in the web ACL's `AssociationConfig`, for
2387
- # additional processing fees.
2421
+ # WAF does not support inspecting the entire contents of the web
2422
+ # request body if the body exceeds the limit for the resource type.
2423
+ # When a web request body is larger than the limit, the underlying
2424
+ # host service only forwards the contents that are within the limit to
2425
+ # WAF for inspection.
2426
+ #
2427
+ # * For Application Load Balancer and AppSync, the limit is fixed at 8
2428
+ # KB (8,192 bytes).
2429
+ #
2430
+ # * For CloudFront, API Gateway, Amazon Cognito, App Runner, and
2431
+ # Verified Access, the default limit is 16 KB (16,384 bytes), and
2432
+ # you can increase the limit for each resource type in the web ACL
2433
+ # `AssociationConfig`, for additional processing fees.
2388
2434
  #
2389
2435
  # For information about how to handle oversized request bodies, see
2390
2436
  # the `Body` object configuration.
@@ -2401,12 +2447,19 @@ module Aws::WAFV2
2401
2447
  # contains any additional data that you want to send to your web
2402
2448
  # server as the HTTP request body, such as data from a form.
2403
2449
  #
2404
- # A limited amount of the request body is forwarded to WAF for
2405
- # inspection by the underlying host service. For regional resources,
2406
- # the limit is 8 KB (8,192 bytes) and for CloudFront distributions,
2407
- # the limit is 16 KB (16,384 bytes). For CloudFront distributions, you
2408
- # can increase the limit in the web ACL's `AssociationConfig`, for
2409
- # additional processing fees.
2450
+ # WAF does not support inspecting the entire contents of the web
2451
+ # request body if the body exceeds the limit for the resource type.
2452
+ # When a web request body is larger than the limit, the underlying
2453
+ # host service only forwards the contents that are within the limit to
2454
+ # WAF for inspection.
2455
+ #
2456
+ # * For Application Load Balancer and AppSync, the limit is fixed at 8
2457
+ # KB (8,192 bytes).
2458
+ #
2459
+ # * For CloudFront, API Gateway, Amazon Cognito, App Runner, and
2460
+ # Verified Access, the default limit is 16 KB (16,384 bytes), and
2461
+ # you can increase the limit for each resource type in the web ACL
2462
+ # `AssociationConfig`, for additional processing fees.
2410
2463
  #
2411
2464
  # For information about how to handle oversized request bodies, see
2412
2465
  # the `JsonBody` object configuration.
@@ -4017,17 +4070,21 @@ module Aws::WAFV2
4017
4070
  # @return [String]
4018
4071
  #
4019
4072
  # @!attribute [rw] oversize_handling
4020
- # What WAF should do if the body is larger than WAF can inspect. WAF
4021
- # does not support inspecting the entire contents of the web request
4022
- # body if the body exceeds the limit for the resource type. If the
4023
- # body is larger than the limit, the underlying host service only
4024
- # forwards the contents that are below the limit to WAF for
4025
- # inspection.
4026
- #
4027
- # The default limit is 8 KB (8,192 bytes) for regional resources and
4028
- # 16 KB (16,384 bytes) for CloudFront distributions. For CloudFront
4029
- # distributions, you can increase the limit in the web ACL
4030
- # `AssociationConfig`, for additional processing fees.
4073
+ # What WAF should do if the body is larger than WAF can inspect.
4074
+ #
4075
+ # WAF does not support inspecting the entire contents of the web
4076
+ # request body if the body exceeds the limit for the resource type.
4077
+ # When a web request body is larger than the limit, the underlying
4078
+ # host service only forwards the contents that are within the limit to
4079
+ # WAF for inspection.
4080
+ #
4081
+ # * For Application Load Balancer and AppSync, the limit is fixed at 8
4082
+ # KB (8,192 bytes).
4083
+ #
4084
+ # * For CloudFront, API Gateway, Amazon Cognito, App Runner, and
4085
+ # Verified Access, the default limit is 16 KB (16,384 bytes), and
4086
+ # you can increase the limit for each resource type in the web ACL
4087
+ # `AssociationConfig`, for additional processing fees.
4031
4088
  #
4032
4089
  # The options for oversize handling are the following:
4033
4090
  #
@@ -6056,6 +6113,12 @@ module Aws::WAFV2
6056
6113
  # according to your aggregation criteria, collects them into aggregation
6057
6114
  # instances, and counts and rate limits the requests for each instance.
6058
6115
  #
6116
+ # <note markdown="1"> If you change any of these settings in a rule that's currently in
6117
+ # use, the change resets the rule's rate limiting counts. This can
6118
+ # pause the rule's rate limiting activities for up to a minute.
6119
+ #
6120
+ # </note>
6121
+ #
6059
6122
  # You can specify individual aggregation keys, like IP address or HTTP
6060
6123
  # method. You can also specify aggregation key combinations, like IP
6061
6124
  # address and HTTP method, or HTTP method, query argument, and cookie.
@@ -6161,6 +6224,20 @@ module Aws::WAFV2
6161
6224
  # method, city pair.
6162
6225
  # @return [Integer]
6163
6226
  #
6227
+ # @!attribute [rw] evaluation_window_sec
6228
+ # The amount of time, in seconds, that WAF should include in its
6229
+ # request counts, looking back from the current time. For example, for
6230
+ # a setting of 120, when WAF checks the rate, it counts the requests
6231
+ # for the 2 minutes immediately preceding the current time. Valid
6232
+ # settings are 60, 120, 300, and 600.
6233
+ #
6234
+ # This setting doesn't determine how often WAF checks the rate, but
6235
+ # how far back it looks each time it checks. WAF checks the rate about
6236
+ # every 10 seconds.
6237
+ #
6238
+ # Default: `300` (5 minutes)
6239
+ # @return [Integer]
6240
+ #
6164
6241
  # @!attribute [rw] aggregate_key_type
6165
6242
  # Setting that indicates how to aggregate the request counts.
6166
6243
  #
@@ -6240,6 +6317,7 @@ module Aws::WAFV2
6240
6317
  #
6241
6318
  class RateBasedStatement < Struct.new(
6242
6319
  :limit,
6320
+ :evaluation_window_sec,
6243
6321
  :aggregate_key_type,
6244
6322
  :scope_down_statement,
6245
6323
  :forwarded_ip_config,
@@ -6818,8 +6896,10 @@ module Aws::WAFV2
6818
6896
  end
6819
6897
 
6820
6898
  # Customizes the maximum size of the request body that your protected
6821
- # CloudFront distributions forward to WAF for inspection. The default
6822
- # size is 16 KB (16,384 bytes).
6899
+ # CloudFront, API Gateway, Amazon Cognito, App Runner, and Verified
6900
+ # Access resources forward to WAF for inspection. The default size is 16
6901
+ # KB (16,384 bytes). You can change the setting for any of the available
6902
+ # resource types.
6823
6903
  #
6824
6904
  # <note markdown="1"> You are charged additional fees when your protected resources forward
6825
6905
  # body sizes that are larger than the default. For more information, see
@@ -6827,6 +6907,12 @@ module Aws::WAFV2
6827
6907
  #
6828
6908
  # </note>
6829
6909
  #
6910
+ # Example JSON: ` \{ "API_GATEWAY": "KB_48", "APP_RUNNER_SERVICE":
6911
+ # "KB_32" \}`
6912
+ #
6913
+ # For Application Load Balancer and AppSync, the limit is fixed at 8 KB
6914
+ # (8,192 bytes).
6915
+ #
6830
6916
  # This is used in the `AssociationConfig` of the web ACL.
6831
6917
  #
6832
6918
  #
@@ -6835,9 +6921,10 @@ module Aws::WAFV2
6835
6921
  #
6836
6922
  # @!attribute [rw] default_size_inspection_limit
6837
6923
  # Specifies the maximum size of the web request body component that an
6838
- # associated CloudFront distribution should send to WAF for
6839
- # inspection. This applies to statements in the web ACL that inspect
6840
- # the body or JSON body.
6924
+ # associated CloudFront, API Gateway, Amazon Cognito, App Runner, or
6925
+ # Verified Access resource should send to WAF for inspection. This
6926
+ # applies to statements in the web ACL that inspect the body or JSON
6927
+ # body.
6841
6928
  #
6842
6929
  # Default: `16 KB (16,384 bytes)`
6843
6930
  # @return [String]
@@ -7902,14 +7989,12 @@ module Aws::WAFV2
7902
7989
  # statement to look for query strings that are longer than 100 bytes.
7903
7990
  #
7904
7991
  # If you configure WAF to inspect the request body, WAF inspects only
7905
- # the number of bytes of the body up to the limit for the web ACL. By
7906
- # default, for regional web ACLs, this limit is 8 KB (8,192 bytes) and
7907
- # for CloudFront web ACLs, this limit is 16 KB (16,384 bytes). For
7908
- # CloudFront web ACLs, you can increase the limit in the web ACL
7909
- # `AssociationConfig`, for additional fees. If you know that the request
7910
- # body for your web requests should never exceed the inspection limit,
7911
- # you could use a size constraint statement to block requests that have
7912
- # a larger request body size.
7992
+ # the number of bytes in the body up to the limit for the web ACL and
7993
+ # protected resource type. If you know that the request body for your
7994
+ # web requests should never exceed the inspection limit, you can use a
7995
+ # size constraint statement to block requests that have a larger request
7996
+ # body size. For more information about the inspection limits, see
7997
+ # `Body` and `JsonBody` settings for the `FieldToMatch` data type.
7913
7998
  #
7914
7999
  # If you choose URI for the value of Part of the request to filter on,
7915
8000
  # the slash (/) in the URI counts as one character. For example, the URI
@@ -8037,14 +8122,12 @@ module Aws::WAFV2
8037
8122
  # 100 bytes.
8038
8123
  #
8039
8124
  # If you configure WAF to inspect the request body, WAF inspects only
8040
- # the number of bytes of the body up to the limit for the web ACL. By
8041
- # default, for regional web ACLs, this limit is 8 KB (8,192 bytes) and
8042
- # for CloudFront web ACLs, this limit is 16 KB (16,384 bytes). For
8043
- # CloudFront web ACLs, you can increase the limit in the web ACL
8044
- # `AssociationConfig`, for additional fees. If you know that the
8045
- # request body for your web requests should never exceed the
8046
- # inspection limit, you could use a size constraint statement to block
8047
- # requests that have a larger request body size.
8125
+ # the number of bytes in the body up to the limit for the web ACL and
8126
+ # protected resource type. If you know that the request body for your
8127
+ # web requests should never exceed the inspection limit, you can use a
8128
+ # size constraint statement to block requests that have a larger
8129
+ # request body size. For more information about the inspection limits,
8130
+ # see `Body` and `JsonBody` settings for the `FieldToMatch` data type.
8048
8131
  #
8049
8132
  # If you choose URI for the value of Part of the request to filter on,
8050
8133
  # the slash (/) in the URI counts as one character. For example, the
@@ -8136,6 +8219,12 @@ module Aws::WAFV2
8136
8219
  # aggregation instances, and counts and rate limits the requests for
8137
8220
  # each instance.
8138
8221
  #
8222
+ # <note markdown="1"> If you change any of these settings in a rule that's currently in
8223
+ # use, the change resets the rule's rate limiting counts. This can
8224
+ # pause the rule's rate limiting activities for up to a minute.
8225
+ #
8226
+ # </note>
8227
+ #
8139
8228
  # You can specify individual aggregation keys, like IP address or HTTP
8140
8229
  # method. You can also specify aggregation key combinations, like IP
8141
8230
  # address and HTTP method, or HTTP method, query argument, and cookie.
@@ -9000,8 +9089,10 @@ module Aws::WAFV2
9000
9089
  # ACL and protected resources.
9001
9090
  #
9002
9091
  # Use this to customize the maximum size of the request body that your
9003
- # protected CloudFront distributions forward to WAF for inspection.
9004
- # The default is 16 KB (16,384 bytes).
9092
+ # protected resources forward to WAF for inspection. You can customize
9093
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App
9094
+ # Runner, or Verified Access resources. The default setting is 16 KB
9095
+ # (16,384 bytes).
9005
9096
  #
9006
9097
  # <note markdown="1"> You are charged additional fees when your protected resources
9007
9098
  # forward body sizes that are larger than the default. For more
@@ -9009,6 +9100,9 @@ module Aws::WAFV2
9009
9100
  #
9010
9101
  # </note>
9011
9102
  #
9103
+ # For Application Load Balancer and AppSync, the limit is fixed at 8
9104
+ # KB (8,192 bytes).
9105
+ #
9012
9106
  #
9013
9107
  #
9014
9108
  # [1]: http://aws.amazon.com/waf/pricing/
@@ -9376,10 +9470,15 @@ module Aws::WAFV2
9376
9470
  # @!attribute [rw] message
9377
9471
  # @return [String]
9378
9472
  #
9473
+ # @!attribute [rw] source_type
9474
+ # Source type for the exception.
9475
+ # @return [String]
9476
+ #
9379
9477
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFLimitsExceededException AWS API Documentation
9380
9478
  #
9381
9479
  class WAFLimitsExceededException < Struct.new(
9382
- :message)
9480
+ :message,
9481
+ :source_type)
9383
9482
  SENSITIVE = []
9384
9483
  include Aws::Structure
9385
9484
  end
@@ -9697,8 +9796,10 @@ module Aws::WAFV2
9697
9796
  # ACL and protected resources.
9698
9797
  #
9699
9798
  # Use this to customize the maximum size of the request body that your
9700
- # protected CloudFront distributions forward to WAF for inspection.
9701
- # The default is 16 KB (16,384 bytes).
9799
+ # protected resources forward to WAF for inspection. You can customize
9800
+ # this setting for CloudFront, API Gateway, Amazon Cognito, App
9801
+ # Runner, or Verified Access resources. The default setting is 16 KB
9802
+ # (16,384 bytes).
9702
9803
  #
9703
9804
  # <note markdown="1"> You are charged additional fees when your protected resources
9704
9805
  # forward body sizes that are larger than the default. For more
@@ -9706,6 +9807,9 @@ module Aws::WAFV2
9706
9807
  #
9707
9808
  # </note>
9708
9809
  #
9810
+ # For Application Load Balancer and AppSync, the limit is fixed at 8
9811
+ # KB (8,192 bytes).
9812
+ #
9709
9813
  #
9710
9814
  #
9711
9815
  # [1]: http://aws.amazon.com/waf/pricing/
data/lib/aws-sdk-wafv2.rb CHANGED
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-wafv2/customizations'
52
52
  # @!group service
53
53
  module Aws::WAFV2
54
54
 
55
- GEM_VERSION = '1.76.0'
55
+ GEM_VERSION = '1.78.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -500,6 +500,7 @@ module Aws
500
500
  }?,
501
501
  rate_based_statement: {
502
502
  limit: ::Integer,
503
+ evaluation_window_sec: ::Integer?,
503
504
  aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"),
504
505
  scope_down_statement: untyped?,
505
506
  forwarded_ip_config: {
@@ -1378,6 +1379,7 @@ module Aws
1378
1379
  }?,
1379
1380
  rate_based_statement: {
1380
1381
  limit: ::Integer,
1382
+ evaluation_window_sec: ::Integer?,
1381
1383
  aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"),
1382
1384
  scope_down_statement: untyped?,
1383
1385
  forwarded_ip_config: {
@@ -2240,6 +2242,7 @@ module Aws
2240
2242
  }?,
2241
2243
  rate_based_statement: {
2242
2244
  limit: ::Integer,
2245
+ evaluation_window_sec: ::Integer?,
2243
2246
  aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"),
2244
2247
  scope_down_statement: untyped?,
2245
2248
  forwarded_ip_config: {
@@ -2668,7 +2671,7 @@ module Aws
2668
2671
  },
2669
2672
  ?token_domains: Array[::String],
2670
2673
  ?association_config: {
2671
- request_body: Hash[("CLOUDFRONT"), {
2674
+ request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), {
2672
2675
  default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64")
2673
2676
  }]?
2674
2677
  }
@@ -3748,6 +3751,7 @@ module Aws
3748
3751
  }?,
3749
3752
  rate_based_statement: {
3750
3753
  limit: ::Integer,
3754
+ evaluation_window_sec: ::Integer?,
3751
3755
  aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"),
3752
3756
  scope_down_statement: untyped?,
3753
3757
  forwarded_ip_config: {
@@ -4606,6 +4610,7 @@ module Aws
4606
4610
  }?,
4607
4611
  rate_based_statement: {
4608
4612
  limit: ::Integer,
4613
+ evaluation_window_sec: ::Integer?,
4609
4614
  aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"),
4610
4615
  scope_down_statement: untyped?,
4611
4616
  forwarded_ip_config: {
@@ -5029,7 +5034,7 @@ module Aws
5029
5034
  },
5030
5035
  ?token_domains: Array[::String],
5031
5036
  ?association_config: {
5032
- request_body: Hash[("CLOUDFRONT"), {
5037
+ request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), {
5033
5038
  default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64")
5034
5039
  }]?
5035
5040
  }
data/sig/errors.rbs CHANGED
@@ -43,6 +43,7 @@ module Aws
43
43
  end
44
44
  class WAFLimitsExceededException < ::Aws::Errors::ServiceError
45
45
  def message: () -> ::String
46
+ def source_type: () -> ::String
46
47
  end
47
48
  class WAFLogDestinationPermissionIssueException < ::Aws::Errors::ServiceError
48
49
  def message: () -> ::String
data/sig/types.rbs CHANGED
@@ -75,7 +75,7 @@ module Aws::WAFV2
75
75
  end
76
76
 
77
77
  class AssociationConfig
78
- attr_accessor request_body: ::Hash[("CLOUDFRONT"), Types::RequestBodyAssociatedResourceTypeConfig]
78
+ attr_accessor request_body: ::Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), Types::RequestBodyAssociatedResourceTypeConfig]
79
79
  SENSITIVE: []
80
80
  end
81
81
 
@@ -1069,6 +1069,7 @@ module Aws::WAFV2
1069
1069
 
1070
1070
  class RateBasedStatement
1071
1071
  attr_accessor limit: ::Integer
1072
+ attr_accessor evaluation_window_sec: ::Integer
1072
1073
  attr_accessor aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT")
1073
1074
  attr_accessor scope_down_statement: Types::Statement
1074
1075
  attr_accessor forwarded_ip_config: Types::ForwardedIPConfig
@@ -1559,6 +1560,7 @@ module Aws::WAFV2
1559
1560
 
1560
1561
  class WAFLimitsExceededException
1561
1562
  attr_accessor message: ::String
1563
+ attr_accessor source_type: ::String
1562
1564
  SENSITIVE: []
1563
1565
  end
1564
1566
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-wafv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.76.0
4
+ version: 1.78.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-06 00:00:00.000000000 Z
11
+ date: 2024-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core