aws-sdk-wafv2 1.76.0 → 1.78.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: 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