aws-sdk-wafv2 1.110.0 → 1.112.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: d61c6e32e94cd2c77641590f482910cf9f137f89ead4c05d974e7da90cadaca1
4
- data.tar.gz: '087e9860fb0c5b059d3e0243cede2fe0ccee2a854d0274ee8647f7de8e74c242'
3
+ metadata.gz: f5f2b82118c761852c3bd671c9ea7751795a391f1fffac5aed57008effbd31b2
4
+ data.tar.gz: 4aa4851f485e4b64403675cc0548564a12e4d3ee3cf3af3b2c3c5d81538eef65
5
5
  SHA512:
6
- metadata.gz: '08a23432bd5de93e8ceb76c0954c5e5dfb99829357cc4a8ea06782f8664b46fbc32756f20833617e052acd613f1c9266d67117c325f0afc2db066722ddb1b7f3'
7
- data.tar.gz: 6cab48d82d9dec6708dfe3222ec48e92a25ae3a49bf6b22de77880741f4a94577980e4493db712fa5d0539e4fec673c7a65931170040cc25798d28ea2298b2fb
6
+ metadata.gz: 1295c727e09911bca0c3565ce3e43d321985484a53f2ea96504a35ff41450a88522c6ce067a58d43ca69347f2f5dfbf919fdffa44b5b1f27c37d3f94e02bd2f4
7
+ data.tar.gz: 18bb26b7533f390adc09825f5e3bc1959eab077b4055ce4b5f79a62664c3721619603dbaa76d064138cb3f4808891e80f8345f00cda6f808815102434a64bb65
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.112.0 (2025-06-17)
5
+ ------------------
6
+
7
+ * Feature - AWS WAF can now suggest protection packs for you based on the application information you provide when you create a webACL.
8
+
9
+ 1.111.0 (2025-06-11)
10
+ ------------------
11
+
12
+ * Feature - WAF now provides two DDoS protection options: resource-level monitoring for Application Load Balancers and the AWSManagedRulesAntiDDoSRuleSet managed rule group for CloudFront distributions.
13
+
4
14
  1.110.0 (2025-06-05)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.110.0
1
+ 1.112.0
@@ -1253,6 +1253,20 @@ module Aws::WAFV2
1253
1253
  # },
1254
1254
  # enable_regex_in_path: false,
1255
1255
  # },
1256
+ # aws_managed_rules_anti_d_do_s_rule_set: {
1257
+ # client_side_action_config: { # required
1258
+ # challenge: { # required
1259
+ # usage_of_action: "ENABLED", # required, accepts ENABLED, DISABLED
1260
+ # sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH
1261
+ # exempt_uri_regular_expressions: [
1262
+ # {
1263
+ # regex_string: "RegexPatternString",
1264
+ # },
1265
+ # ],
1266
+ # },
1267
+ # },
1268
+ # sensitivity_to_block: "LOW", # accepts LOW, MEDIUM, HIGH
1269
+ # },
1256
1270
  # },
1257
1271
  # ],
1258
1272
  # rule_action_overrides: [
@@ -2471,6 +2485,20 @@ module Aws::WAFV2
2471
2485
  # },
2472
2486
  # enable_regex_in_path: false,
2473
2487
  # },
2488
+ # aws_managed_rules_anti_d_do_s_rule_set: {
2489
+ # client_side_action_config: { # required
2490
+ # challenge: { # required
2491
+ # usage_of_action: "ENABLED", # required, accepts ENABLED, DISABLED
2492
+ # sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH
2493
+ # exempt_uri_regular_expressions: [
2494
+ # {
2495
+ # regex_string: "RegexPatternString",
2496
+ # },
2497
+ # ],
2498
+ # },
2499
+ # },
2500
+ # sensitivity_to_block: "LOW", # accepts LOW, MEDIUM, HIGH
2501
+ # },
2474
2502
  # },
2475
2503
  # ],
2476
2504
  # rule_action_overrides: [
@@ -2871,6 +2899,20 @@ module Aws::WAFV2
2871
2899
  #
2872
2900
  # [1]: http://aws.amazon.com/waf/pricing/
2873
2901
  #
2902
+ # @option params [Types::OnSourceDDoSProtectionConfig] :on_source_d_do_s_protection_config
2903
+ # Specifies the type of DDoS protection to apply to web request data for
2904
+ # a web ACL. For most scenarios, it is recommended to use the default
2905
+ # protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is associated with
2906
+ # multiple Application Load Balancers, the changes you make to DDoS
2907
+ # protection in that web ACL will apply to all associated Application
2908
+ # Load Balancers.
2909
+ #
2910
+ # @option params [Types::ApplicationConfig] :application_config
2911
+ # Configures the ability for the WAF console to store and retrieve
2912
+ # application attributes during the web ACL creation process.
2913
+ # Application attributes help WAF give recommendations for protection
2914
+ # packs.
2915
+ #
2874
2916
  # @return [Types::CreateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2875
2917
  #
2876
2918
  # * {Types::CreateWebACLResponse#summary #summary} => Types::WebACLSummary
@@ -3544,6 +3586,20 @@ module Aws::WAFV2
3544
3586
  # },
3545
3587
  # enable_regex_in_path: false,
3546
3588
  # },
3589
+ # aws_managed_rules_anti_d_do_s_rule_set: {
3590
+ # client_side_action_config: { # required
3591
+ # challenge: { # required
3592
+ # usage_of_action: "ENABLED", # required, accepts ENABLED, DISABLED
3593
+ # sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH
3594
+ # exempt_uri_regular_expressions: [
3595
+ # {
3596
+ # regex_string: "RegexPatternString",
3597
+ # },
3598
+ # ],
3599
+ # },
3600
+ # },
3601
+ # sensitivity_to_block: "LOW", # accepts LOW, MEDIUM, HIGH
3602
+ # },
3547
3603
  # },
3548
3604
  # ],
3549
3605
  # rule_action_overrides: [
@@ -3826,6 +3882,17 @@ module Aws::WAFV2
3826
3882
  # },
3827
3883
  # },
3828
3884
  # },
3885
+ # on_source_d_do_s_protection_config: {
3886
+ # alb_low_reputation_mode: "ACTIVE_UNDER_DDOS", # required, accepts ACTIVE_UNDER_DDOS, ALWAYS_ON
3887
+ # },
3888
+ # application_config: {
3889
+ # attributes: [
3890
+ # {
3891
+ # name: "AttributeName",
3892
+ # values: ["AttributeValue"],
3893
+ # },
3894
+ # ],
3895
+ # },
3829
3896
  # })
3830
3897
  #
3831
3898
  # @example Response structure
@@ -5358,6 +5425,11 @@ module Aws::WAFV2
5358
5425
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_acfp_rule_set.response_inspection.json.failure_values #=> Array
5359
5426
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_acfp_rule_set.response_inspection.json.failure_values[0] #=> String
5360
5427
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_acfp_rule_set.enable_regex_in_path #=> Boolean
5428
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_anti_d_do_s_rule_set.client_side_action_config.challenge.usage_of_action #=> String, one of "ENABLED", "DISABLED"
5429
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_anti_d_do_s_rule_set.client_side_action_config.challenge.sensitivity #=> String, one of "LOW", "MEDIUM", "HIGH"
5430
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_anti_d_do_s_rule_set.client_side_action_config.challenge.exempt_uri_regular_expressions #=> Array
5431
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_anti_d_do_s_rule_set.client_side_action_config.challenge.exempt_uri_regular_expressions[0].regex_string #=> String
5432
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.managed_rule_group_configs[0].aws_managed_rules_anti_d_do_s_rule_set.sensitivity_to_block #=> String, one of "LOW", "MEDIUM", "HIGH"
5361
5433
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.rule_action_overrides #=> Array
5362
5434
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.rule_action_overrides[0].name #=> String
5363
5435
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.rule_action_overrides[0].action_to_use.block.custom_response.response_code #=> Integer
@@ -8053,6 +8125,20 @@ module Aws::WAFV2
8053
8125
  # },
8054
8126
  # enable_regex_in_path: false,
8055
8127
  # },
8128
+ # aws_managed_rules_anti_d_do_s_rule_set: {
8129
+ # client_side_action_config: { # required
8130
+ # challenge: { # required
8131
+ # usage_of_action: "ENABLED", # required, accepts ENABLED, DISABLED
8132
+ # sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH
8133
+ # exempt_uri_regular_expressions: [
8134
+ # {
8135
+ # regex_string: "RegexPatternString",
8136
+ # },
8137
+ # ],
8138
+ # },
8139
+ # },
8140
+ # sensitivity_to_block: "LOW", # accepts LOW, MEDIUM, HIGH
8141
+ # },
8056
8142
  # },
8057
8143
  # ],
8058
8144
  # rule_action_overrides: [
@@ -8497,6 +8583,14 @@ module Aws::WAFV2
8497
8583
  #
8498
8584
  # [1]: http://aws.amazon.com/waf/pricing/
8499
8585
  #
8586
+ # @option params [Types::OnSourceDDoSProtectionConfig] :on_source_d_do_s_protection_config
8587
+ # Specifies the type of DDoS protection to apply to web request data for
8588
+ # a web ACL. For most scenarios, it is recommended to use the default
8589
+ # protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is associated with
8590
+ # multiple Application Load Balancers, the changes you make to DDoS
8591
+ # protection in that web ACL will apply to all associated Application
8592
+ # Load Balancers.
8593
+ #
8500
8594
  # @return [Types::UpdateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8501
8595
  #
8502
8596
  # * {Types::UpdateWebACLResponse#next_lock_token #next_lock_token} => String
@@ -9171,6 +9265,20 @@ module Aws::WAFV2
9171
9265
  # },
9172
9266
  # enable_regex_in_path: false,
9173
9267
  # },
9268
+ # aws_managed_rules_anti_d_do_s_rule_set: {
9269
+ # client_side_action_config: { # required
9270
+ # challenge: { # required
9271
+ # usage_of_action: "ENABLED", # required, accepts ENABLED, DISABLED
9272
+ # sensitivity: "LOW", # accepts LOW, MEDIUM, HIGH
9273
+ # exempt_uri_regular_expressions: [
9274
+ # {
9275
+ # regex_string: "RegexPatternString",
9276
+ # },
9277
+ # ],
9278
+ # },
9279
+ # },
9280
+ # sensitivity_to_block: "LOW", # accepts LOW, MEDIUM, HIGH
9281
+ # },
9174
9282
  # },
9175
9283
  # ],
9176
9284
  # rule_action_overrides: [
@@ -9448,6 +9556,9 @@ module Aws::WAFV2
9448
9556
  # },
9449
9557
  # },
9450
9558
  # },
9559
+ # on_source_d_do_s_protection_config: {
9560
+ # alb_low_reputation_mode: "ACTIVE_UNDER_DDOS", # required, accepts ACTIVE_UNDER_DDOS, ALWAYS_ON
9561
+ # },
9451
9562
  # })
9452
9563
  #
9453
9564
  # @example Response structure
@@ -9481,7 +9592,7 @@ module Aws::WAFV2
9481
9592
  tracer: tracer
9482
9593
  )
9483
9594
  context[:gem_name] = 'aws-sdk-wafv2'
9484
- context[:gem_version] = '1.110.0'
9595
+ context[:gem_version] = '1.112.0'
9485
9596
  Seahorse::Client::Request.new(handlers, context)
9486
9597
  end
9487
9598
 
@@ -22,6 +22,7 @@ module Aws::WAFV2
22
22
  ASN = Shapes::IntegerShape.new(name: 'ASN')
23
23
  AWSManagedRulesACFPRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesACFPRuleSet')
24
24
  AWSManagedRulesATPRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesATPRuleSet')
25
+ AWSManagedRulesAntiDDoSRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesAntiDDoSRuleSet')
25
26
  AWSManagedRulesBotControlRuleSet = Shapes::StructureShape.new(name: 'AWSManagedRulesBotControlRuleSet')
26
27
  Action = Shapes::StringShape.new(name: 'Action')
27
28
  ActionCondition = Shapes::StructureShape.new(name: 'ActionCondition')
@@ -32,12 +33,18 @@ module Aws::WAFV2
32
33
  AllQueryArguments = Shapes::StructureShape.new(name: 'AllQueryArguments')
33
34
  AllowAction = Shapes::StructureShape.new(name: 'AllowAction')
34
35
  AndStatement = Shapes::StructureShape.new(name: 'AndStatement')
36
+ ApplicationAttribute = Shapes::StructureShape.new(name: 'ApplicationAttribute')
37
+ ApplicationAttributes = Shapes::ListShape.new(name: 'ApplicationAttributes')
38
+ ApplicationConfig = Shapes::StructureShape.new(name: 'ApplicationConfig')
35
39
  AsnList = Shapes::ListShape.new(name: 'AsnList')
36
40
  AsnMatchStatement = Shapes::StructureShape.new(name: 'AsnMatchStatement')
37
41
  AssociateWebACLRequest = Shapes::StructureShape.new(name: 'AssociateWebACLRequest')
38
42
  AssociateWebACLResponse = Shapes::StructureShape.new(name: 'AssociateWebACLResponse')
39
43
  AssociatedResourceType = Shapes::StringShape.new(name: 'AssociatedResourceType')
40
44
  AssociationConfig = Shapes::StructureShape.new(name: 'AssociationConfig')
45
+ AttributeName = Shapes::StringShape.new(name: 'AttributeName')
46
+ AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
47
+ AttributeValues = Shapes::ListShape.new(name: 'AttributeValues')
41
48
  BlockAction = Shapes::StructureShape.new(name: 'BlockAction')
42
49
  Body = Shapes::StructureShape.new(name: 'Body')
43
50
  BodyParsingFallbackBehavior = Shapes::StringShape.new(name: 'BodyParsingFallbackBehavior')
@@ -52,6 +59,8 @@ module Aws::WAFV2
52
59
  ChallengeResponse = Shapes::StructureShape.new(name: 'ChallengeResponse')
53
60
  CheckCapacityRequest = Shapes::StructureShape.new(name: 'CheckCapacityRequest')
54
61
  CheckCapacityResponse = Shapes::StructureShape.new(name: 'CheckCapacityResponse')
62
+ ClientSideAction = Shapes::StructureShape.new(name: 'ClientSideAction')
63
+ ClientSideActionConfig = Shapes::StructureShape.new(name: 'ClientSideActionConfig')
55
64
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
56
65
  Condition = Shapes::StructureShape.new(name: 'Condition')
57
66
  Conditions = Shapes::ListShape.new(name: 'Conditions')
@@ -242,6 +251,7 @@ module Aws::WAFV2
242
251
  LoggingConfigurations = Shapes::ListShape.new(name: 'LoggingConfigurations')
243
252
  LoggingFilter = Shapes::StructureShape.new(name: 'LoggingFilter')
244
253
  LoginPathString = Shapes::StringShape.new(name: 'LoginPathString')
254
+ LowReputationMode = Shapes::StringShape.new(name: 'LowReputationMode')
245
255
  ManagedProductDescriptor = Shapes::StructureShape.new(name: 'ManagedProductDescriptor')
246
256
  ManagedProductDescriptors = Shapes::ListShape.new(name: 'ManagedProductDescriptors')
247
257
  ManagedRuleGroupConfig = Shapes::StructureShape.new(name: 'ManagedRuleGroupConfig')
@@ -262,6 +272,7 @@ module Aws::WAFV2
262
272
  NextMarker = Shapes::StringShape.new(name: 'NextMarker')
263
273
  NoneAction = Shapes::StructureShape.new(name: 'NoneAction')
264
274
  NotStatement = Shapes::StructureShape.new(name: 'NotStatement')
275
+ OnSourceDDoSProtectionConfig = Shapes::StructureShape.new(name: 'OnSourceDDoSProtectionConfig')
265
276
  OrStatement = Shapes::StructureShape.new(name: 'OrStatement')
266
277
  OutputUrl = Shapes::StringShape.new(name: 'OutputUrl')
267
278
  OverrideAction = Shapes::StructureShape.new(name: 'OverrideAction')
@@ -363,6 +374,7 @@ module Aws::WAFV2
363
374
  Scope = Shapes::StringShape.new(name: 'Scope')
364
375
  SearchString = Shapes::BlobShape.new(name: 'SearchString')
365
376
  SensitivityLevel = Shapes::StringShape.new(name: 'SensitivityLevel')
377
+ SensitivityToAct = Shapes::StringShape.new(name: 'SensitivityToAct')
366
378
  SingleCookieName = Shapes::StringShape.new(name: 'SingleCookieName')
367
379
  SingleHeader = Shapes::StructureShape.new(name: 'SingleHeader')
368
380
  SingleQueryArgument = Shapes::StructureShape.new(name: 'SingleQueryArgument')
@@ -410,6 +422,7 @@ module Aws::WAFV2
410
422
  UpdateWebACLResponse = Shapes::StructureShape.new(name: 'UpdateWebACLResponse')
411
423
  UriFragment = Shapes::StructureShape.new(name: 'UriFragment')
412
424
  UriPath = Shapes::StructureShape.new(name: 'UriPath')
425
+ UsageOfAction = Shapes::StringShape.new(name: 'UsageOfAction')
413
426
  UsernameField = Shapes::StructureShape.new(name: 'UsernameField')
414
427
  VendorName = Shapes::StringShape.new(name: 'VendorName')
415
428
  VersionKeyString = Shapes::StringShape.new(name: 'VersionKeyString')
@@ -463,6 +476,10 @@ module Aws::WAFV2
463
476
  AWSManagedRulesATPRuleSet.add_member(:enable_regex_in_path, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableRegexInPath"))
464
477
  AWSManagedRulesATPRuleSet.struct_class = Types::AWSManagedRulesATPRuleSet
465
478
 
479
+ AWSManagedRulesAntiDDoSRuleSet.add_member(:client_side_action_config, Shapes::ShapeRef.new(shape: ClientSideActionConfig, required: true, location_name: "ClientSideActionConfig"))
480
+ AWSManagedRulesAntiDDoSRuleSet.add_member(:sensitivity_to_block, Shapes::ShapeRef.new(shape: SensitivityToAct, location_name: "SensitivityToBlock"))
481
+ AWSManagedRulesAntiDDoSRuleSet.struct_class = Types::AWSManagedRulesAntiDDoSRuleSet
482
+
466
483
  AWSManagedRulesBotControlRuleSet.add_member(:inspection_level, Shapes::ShapeRef.new(shape: InspectionLevel, required: true, location_name: "InspectionLevel"))
467
484
  AWSManagedRulesBotControlRuleSet.add_member(:enable_machine_learning, Shapes::ShapeRef.new(shape: EnableMachineLearning, location_name: "EnableMachineLearning"))
468
485
  AWSManagedRulesBotControlRuleSet.struct_class = Types::AWSManagedRulesBotControlRuleSet
@@ -485,6 +502,15 @@ module Aws::WAFV2
485
502
  AndStatement.add_member(:statements, Shapes::ShapeRef.new(shape: Statements, required: true, location_name: "Statements"))
486
503
  AndStatement.struct_class = Types::AndStatement
487
504
 
505
+ ApplicationAttribute.add_member(:name, Shapes::ShapeRef.new(shape: AttributeName, location_name: "Name"))
506
+ ApplicationAttribute.add_member(:values, Shapes::ShapeRef.new(shape: AttributeValues, location_name: "Values"))
507
+ ApplicationAttribute.struct_class = Types::ApplicationAttribute
508
+
509
+ ApplicationAttributes.member = Shapes::ShapeRef.new(shape: ApplicationAttribute)
510
+
511
+ ApplicationConfig.add_member(:attributes, Shapes::ShapeRef.new(shape: ApplicationAttributes, location_name: "Attributes"))
512
+ ApplicationConfig.struct_class = Types::ApplicationConfig
513
+
488
514
  AsnList.member = Shapes::ShapeRef.new(shape: ASN)
489
515
 
490
516
  AsnMatchStatement.add_member(:asn_list, Shapes::ShapeRef.new(shape: AsnList, required: true, location_name: "AsnList"))
@@ -500,6 +526,8 @@ module Aws::WAFV2
500
526
  AssociationConfig.add_member(:request_body, Shapes::ShapeRef.new(shape: RequestBody, location_name: "RequestBody"))
501
527
  AssociationConfig.struct_class = Types::AssociationConfig
502
528
 
529
+ AttributeValues.member = Shapes::ShapeRef.new(shape: AttributeValue)
530
+
503
531
  BlockAction.add_member(:custom_response, Shapes::ShapeRef.new(shape: CustomResponse, location_name: "CustomResponse"))
504
532
  BlockAction.struct_class = Types::BlockAction
505
533
 
@@ -541,6 +569,14 @@ module Aws::WAFV2
541
569
  CheckCapacityResponse.add_member(:capacity, Shapes::ShapeRef.new(shape: ConsumedCapacity, location_name: "Capacity"))
542
570
  CheckCapacityResponse.struct_class = Types::CheckCapacityResponse
543
571
 
572
+ ClientSideAction.add_member(:usage_of_action, Shapes::ShapeRef.new(shape: UsageOfAction, required: true, location_name: "UsageOfAction"))
573
+ ClientSideAction.add_member(:sensitivity, Shapes::ShapeRef.new(shape: SensitivityToAct, location_name: "Sensitivity"))
574
+ ClientSideAction.add_member(:exempt_uri_regular_expressions, Shapes::ShapeRef.new(shape: RegularExpressionList, location_name: "ExemptUriRegularExpressions"))
575
+ ClientSideAction.struct_class = Types::ClientSideAction
576
+
577
+ ClientSideActionConfig.add_member(:challenge, Shapes::ShapeRef.new(shape: ClientSideAction, required: true, location_name: "Challenge"))
578
+ ClientSideActionConfig.struct_class = Types::ClientSideActionConfig
579
+
544
580
  Condition.add_member(:action_condition, Shapes::ShapeRef.new(shape: ActionCondition, location_name: "ActionCondition"))
545
581
  Condition.add_member(:label_name_condition, Shapes::ShapeRef.new(shape: LabelNameCondition, location_name: "LabelNameCondition"))
546
582
  Condition.struct_class = Types::Condition
@@ -618,6 +654,8 @@ module Aws::WAFV2
618
654
  CreateWebACLRequest.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
619
655
  CreateWebACLRequest.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
620
656
  CreateWebACLRequest.add_member(:association_config, Shapes::ShapeRef.new(shape: AssociationConfig, location_name: "AssociationConfig"))
657
+ CreateWebACLRequest.add_member(:on_source_d_do_s_protection_config, Shapes::ShapeRef.new(shape: OnSourceDDoSProtectionConfig, location_name: "OnSourceDDoSProtectionConfig"))
658
+ CreateWebACLRequest.add_member(:application_config, Shapes::ShapeRef.new(shape: ApplicationConfig, location_name: "ApplicationConfig"))
621
659
  CreateWebACLRequest.struct_class = Types::CreateWebACLRequest
622
660
 
623
661
  CreateWebACLResponse.add_member(:summary, Shapes::ShapeRef.new(shape: WebACLSummary, location_name: "Summary"))
@@ -1163,6 +1201,7 @@ module Aws::WAFV2
1163
1201
  ManagedRuleGroupConfig.add_member(:aws_managed_rules_bot_control_rule_set, Shapes::ShapeRef.new(shape: AWSManagedRulesBotControlRuleSet, location_name: "AWSManagedRulesBotControlRuleSet"))
1164
1202
  ManagedRuleGroupConfig.add_member(:aws_managed_rules_atp_rule_set, Shapes::ShapeRef.new(shape: AWSManagedRulesATPRuleSet, location_name: "AWSManagedRulesATPRuleSet"))
1165
1203
  ManagedRuleGroupConfig.add_member(:aws_managed_rules_acfp_rule_set, Shapes::ShapeRef.new(shape: AWSManagedRulesACFPRuleSet, location_name: "AWSManagedRulesACFPRuleSet"))
1204
+ ManagedRuleGroupConfig.add_member(:aws_managed_rules_anti_d_do_s_rule_set, Shapes::ShapeRef.new(shape: AWSManagedRulesAntiDDoSRuleSet, location_name: "AWSManagedRulesAntiDDoSRuleSet"))
1166
1205
  ManagedRuleGroupConfig.struct_class = Types::ManagedRuleGroupConfig
1167
1206
 
1168
1207
  ManagedRuleGroupConfigs.member = Shapes::ShapeRef.new(shape: ManagedRuleGroupConfig)
@@ -1230,6 +1269,9 @@ module Aws::WAFV2
1230
1269
  NotStatement.add_member(:statement, Shapes::ShapeRef.new(shape: Statement, required: true, location_name: "Statement"))
1231
1270
  NotStatement.struct_class = Types::NotStatement
1232
1271
 
1272
+ OnSourceDDoSProtectionConfig.add_member(:alb_low_reputation_mode, Shapes::ShapeRef.new(shape: LowReputationMode, required: true, location_name: "ALBLowReputationMode"))
1273
+ OnSourceDDoSProtectionConfig.struct_class = Types::OnSourceDDoSProtectionConfig
1274
+
1233
1275
  OrStatement.add_member(:statements, Shapes::ShapeRef.new(shape: Statements, required: true, location_name: "Statements"))
1234
1276
  OrStatement.struct_class = Types::OrStatement
1235
1277
 
@@ -1645,6 +1687,7 @@ module Aws::WAFV2
1645
1687
  UpdateWebACLRequest.add_member(:challenge_config, Shapes::ShapeRef.new(shape: ChallengeConfig, location_name: "ChallengeConfig"))
1646
1688
  UpdateWebACLRequest.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
1647
1689
  UpdateWebACLRequest.add_member(:association_config, Shapes::ShapeRef.new(shape: AssociationConfig, location_name: "AssociationConfig"))
1690
+ UpdateWebACLRequest.add_member(:on_source_d_do_s_protection_config, Shapes::ShapeRef.new(shape: OnSourceDDoSProtectionConfig, location_name: "OnSourceDDoSProtectionConfig"))
1648
1691
  UpdateWebACLRequest.struct_class = Types::UpdateWebACLRequest
1649
1692
 
1650
1693
  UpdateWebACLResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
@@ -1750,6 +1793,8 @@ module Aws::WAFV2
1750
1793
  WebACL.add_member(:token_domains, Shapes::ShapeRef.new(shape: TokenDomains, location_name: "TokenDomains"))
1751
1794
  WebACL.add_member(:association_config, Shapes::ShapeRef.new(shape: AssociationConfig, location_name: "AssociationConfig"))
1752
1795
  WebACL.add_member(:retrofitted_by_firewall_manager, Shapes::ShapeRef.new(shape: Boolean, location_name: "RetrofittedByFirewallManager"))
1796
+ WebACL.add_member(:on_source_d_do_s_protection_config, Shapes::ShapeRef.new(shape: OnSourceDDoSProtectionConfig, location_name: "OnSourceDDoSProtectionConfig"))
1797
+ WebACL.add_member(:application_config, Shapes::ShapeRef.new(shape: ApplicationConfig, location_name: "ApplicationConfig"))
1753
1798
  WebACL.struct_class = Types::WebACL
1754
1799
 
1755
1800
  WebACLSummaries.member = Shapes::ShapeRef.new(shape: WebACLSummary)
@@ -55,6 +55,16 @@ module Aws::WAFV2
55
55
  # rule group, `AWSManagedRulesACFPRuleSet`. This configuration is used
56
56
  # in `ManagedRuleGroupConfig`.
57
57
  #
58
+ # For additional information about this and the other intelligent threat
59
+ # mitigation rule groups, see [Intelligent threat mitigation in WAF][1]
60
+ # and [Amazon Web Services Managed Rules rule groups list][2] in the
61
+ # *WAF Developer Guide*.
62
+ #
63
+ #
64
+ #
65
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections
66
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list
67
+ #
58
68
  # @!attribute [rw] creation_path
59
69
  # The path of the account creation endpoint for your application. This
60
70
  # is the page on your website that accepts the completed registration
@@ -131,6 +141,16 @@ module Aws::WAFV2
131
141
  # group, `AWSManagedRulesATPRuleSet`. This configuration is used in
132
142
  # `ManagedRuleGroupConfig`.
133
143
  #
144
+ # For additional information about this and the other intelligent threat
145
+ # mitigation rule groups, see [Intelligent threat mitigation in WAF][1]
146
+ # and [Amazon Web Services Managed Rules rule groups list][2] in the
147
+ # *WAF Developer Guide*.
148
+ #
149
+ #
150
+ #
151
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections
152
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list
153
+ #
134
154
  # @!attribute [rw] login_path
135
155
  # The path of the login endpoint for your application. For example,
136
156
  # for the URL `https://example.com/web/login`, you would provide the
@@ -181,10 +201,75 @@ module Aws::WAFV2
181
201
  include Aws::Structure
182
202
  end
183
203
 
204
+ # Configures the use of the anti-DDoS managed rule group,
205
+ # `AWSManagedRulesAntiDDoSRuleSet`. This configuration is used in
206
+ # `ManagedRuleGroupConfig`.
207
+ #
208
+ # The configuration that you provide here determines whether and how the
209
+ # rules in the rule group are used.
210
+ #
211
+ # For additional information about this and the other intelligent threat
212
+ # mitigation rule groups, see [Intelligent threat mitigation in WAF][1]
213
+ # and [Amazon Web Services Managed Rules rule groups list][2] in the
214
+ # *WAF Developer Guide*.
215
+ #
216
+ #
217
+ #
218
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections
219
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list
220
+ #
221
+ # @!attribute [rw] client_side_action_config
222
+ # Configures the request handling that's applied by the managed rule
223
+ # group rules `ChallengeAllDuringEvent` and `ChallengeDDoSRequests`
224
+ # during a distributed denial of service (DDoS) attack.
225
+ # @return [Types::ClientSideActionConfig]
226
+ #
227
+ # @!attribute [rw] sensitivity_to_block
228
+ # The sensitivity that the rule group rule `DDoSRequests` uses when
229
+ # matching against the DDoS suspicion labeling on a request. The
230
+ # managed rule group adds the labeling during DDoS events, before the
231
+ # `DDoSRequests` rule runs.
232
+ #
233
+ # The higher the sensitivity, the more levels of labeling that the
234
+ # rule matches:
235
+ #
236
+ # * Low sensitivity is less sensitive, causing the rule to match only
237
+ # on the most likely participants in an attack, which are the
238
+ # requests with the high suspicion label
239
+ # `awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`.
240
+ #
241
+ # * Medium sensitivity causes the rule to match on the medium and high
242
+ # suspicion labels.
243
+ #
244
+ # * High sensitivity causes the rule to match on all of the suspicion
245
+ # labels: low, medium, and high.
246
+ #
247
+ # Default: `LOW`
248
+ # @return [String]
249
+ #
250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AWSManagedRulesAntiDDoSRuleSet AWS API Documentation
251
+ #
252
+ class AWSManagedRulesAntiDDoSRuleSet < Struct.new(
253
+ :client_side_action_config,
254
+ :sensitivity_to_block)
255
+ SENSITIVE = []
256
+ include Aws::Structure
257
+ end
258
+
184
259
  # Details for your use of the Bot Control managed rule group,
185
260
  # `AWSManagedRulesBotControlRuleSet`. This configuration is used in
186
261
  # `ManagedRuleGroupConfig`.
187
262
  #
263
+ # For additional information about this and the other intelligent threat
264
+ # mitigation rule groups, see [Intelligent threat mitigation in WAF][1]
265
+ # and [Amazon Web Services Managed Rules rule groups list][2] in the
266
+ # *WAF Developer Guide*.
267
+ #
268
+ #
269
+ #
270
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections
271
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list
272
+ #
188
273
  # @!attribute [rw] inspection_level
189
274
  # The inspection level to use for the Bot Control rule group. The
190
275
  # common level is the least expensive. The targeted level includes all
@@ -361,6 +446,42 @@ module Aws::WAFV2
361
446
  include Aws::Structure
362
447
  end
363
448
 
449
+ # Application details defined during the web ACL creation process.
450
+ # Application attributes help WAF give recommendations for protection
451
+ # packs.
452
+ #
453
+ # @!attribute [rw] name
454
+ # Specifies the attribute name.
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] values
458
+ # Specifies the attribute value.
459
+ # @return [Array<String>]
460
+ #
461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ApplicationAttribute AWS API Documentation
462
+ #
463
+ class ApplicationAttribute < Struct.new(
464
+ :name,
465
+ :values)
466
+ SENSITIVE = []
467
+ include Aws::Structure
468
+ end
469
+
470
+ # A list of `ApplicationAttribute`s that contains information about the
471
+ # application.
472
+ #
473
+ # @!attribute [rw] attributes
474
+ # Contains the attribute name and a list of values for that attribute.
475
+ # @return [Array<Types::ApplicationAttribute>]
476
+ #
477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ApplicationConfig AWS API Documentation
478
+ #
479
+ class ApplicationConfig < Struct.new(
480
+ :attributes)
481
+ SENSITIVE = []
482
+ include Aws::Structure
483
+ end
484
+
364
485
  # A rule statement that inspects web traffic based on the Autonomous
365
486
  # System Number (ASN) associated with the request's IP address.
366
487
  #
@@ -953,6 +1074,135 @@ module Aws::WAFV2
953
1074
  include Aws::Structure
954
1075
  end
955
1076
 
1077
+ # This is part of the `AWSManagedRulesAntiDDoSRuleSet`
1078
+ # `ClientSideActionConfig` configuration in `ManagedRuleGroupConfig`.
1079
+ #
1080
+ # @!attribute [rw] usage_of_action
1081
+ # Determines whether to use the `AWSManagedRulesAntiDDoSRuleSet` rules
1082
+ # `ChallengeAllDuringEvent` and `ChallengeDDoSRequests` in the rule
1083
+ # group evaluation and the related label
1084
+ # `awswaf:managed:aws:anti-ddos:challengeable-request`.
1085
+ #
1086
+ # * If usage is enabled:
1087
+ #
1088
+ # * The managed rule group adds the label
1089
+ # `awswaf:managed:aws:anti-ddos:challengeable-request` to any web
1090
+ # request whose URL does *NOT* match the regular expressions
1091
+ # provided in the `ClientSideAction` setting
1092
+ # `ExemptUriRegularExpressions`.
1093
+ #
1094
+ # * The two rules are evaluated against web requests for protected
1095
+ # resources that are experiencing a DDoS attack. The two rules
1096
+ # only apply their action to matching requests that have the label
1097
+ # `awswaf:managed:aws:anti-ddos:challengeable-request`.
1098
+ # * If usage is disabled:
1099
+ #
1100
+ # * The managed rule group doesn't add the label
1101
+ # `awswaf:managed:aws:anti-ddos:challengeable-request` to any web
1102
+ # requests.
1103
+ #
1104
+ # * The two rules are not evaluated.
1105
+ #
1106
+ # * None of the other `ClientSideAction` settings have any effect.
1107
+ #
1108
+ # <note markdown="1"> This setting only enables or disables the use of the two anti-DDOS
1109
+ # rules `ChallengeAllDuringEvent` and `ChallengeDDoSRequests` in the
1110
+ # anti-DDoS managed rule group.
1111
+ #
1112
+ # This setting doesn't alter the action setting in the two rules. To
1113
+ # override the actions used by the rules `ChallengeAllDuringEvent` and
1114
+ # `ChallengeDDoSRequests`, enable this setting, and then override the
1115
+ # rule actions in the usual way, in your managed rule group
1116
+ # configuration.
1117
+ #
1118
+ # </note>
1119
+ # @return [String]
1120
+ #
1121
+ # @!attribute [rw] sensitivity
1122
+ # The sensitivity that the rule group rule `ChallengeDDoSRequests`
1123
+ # uses when matching against the DDoS suspicion labeling on a request.
1124
+ # The managed rule group adds the labeling during DDoS events, before
1125
+ # the `ChallengeDDoSRequests` rule runs.
1126
+ #
1127
+ # The higher the sensitivity, the more levels of labeling that the
1128
+ # rule matches:
1129
+ #
1130
+ # * Low sensitivity is less sensitive, causing the rule to match only
1131
+ # on the most likely participants in an attack, which are the
1132
+ # requests with the high suspicion label
1133
+ # `awswaf:managed:aws:anti-ddos:high-suspicion-ddos-request`.
1134
+ #
1135
+ # * Medium sensitivity causes the rule to match on the medium and high
1136
+ # suspicion labels.
1137
+ #
1138
+ # * High sensitivity causes the rule to match on all of the suspicion
1139
+ # labels: low, medium, and high.
1140
+ #
1141
+ # Default: `HIGH`
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] exempt_uri_regular_expressions
1145
+ # The regular expression to match against the web request URI, used to
1146
+ # identify requests that can't handle a silent browser challenge.
1147
+ # When the `ClientSideAction` setting `UsageOfAction` is enabled, the
1148
+ # managed rule group uses this setting to determine which requests to
1149
+ # label with `awswaf:managed:aws:anti-ddos:challengeable-request`. If
1150
+ # `UsageOfAction` is disabled, this setting has no effect and the
1151
+ # managed rule group doesn't add the label to any requests.
1152
+ #
1153
+ # The anti-DDoS managed rule group doesn't evaluate the rules
1154
+ # `ChallengeDDoSRequests` or `ChallengeAllDuringEvent` for web
1155
+ # requests whose URIs match this regex. This is true regardless of
1156
+ # whether you override the rule action for either of the rules in your
1157
+ # web ACL configuration.
1158
+ #
1159
+ # Amazon Web Services recommends using a regular expression.
1160
+ #
1161
+ # This setting is required if `UsageOfAction` is set to `ENABLED`. If
1162
+ # required, you can provide between 1 and 5 regex objects in the array
1163
+ # of settings.
1164
+ #
1165
+ # Amazon Web Services recommends starting with the following setting.
1166
+ # Review and update it for your application's needs:
1167
+ #
1168
+ # `\/api\/|\.(acc|avi|css|gif|jpe?g|js|mp[34]|ogg|otf|pdf|png|tiff?|ttf|webm|webp|woff2?)$`
1169
+ # @return [Array<Types::Regex>]
1170
+ #
1171
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ClientSideAction AWS API Documentation
1172
+ #
1173
+ class ClientSideAction < Struct.new(
1174
+ :usage_of_action,
1175
+ :sensitivity,
1176
+ :exempt_uri_regular_expressions)
1177
+ SENSITIVE = []
1178
+ include Aws::Structure
1179
+ end
1180
+
1181
+ # This is part of the configuration for the managed rules
1182
+ # `AWSManagedRulesAntiDDoSRuleSet` in `ManagedRuleGroupConfig`.
1183
+ #
1184
+ # @!attribute [rw] challenge
1185
+ # Configuration for the use of the `AWSManagedRulesAntiDDoSRuleSet`
1186
+ # rules `ChallengeAllDuringEvent` and `ChallengeDDoSRequests`.
1187
+ #
1188
+ # <note markdown="1"> This setting isn't related to the configuration of the `Challenge`
1189
+ # action itself. It only configures the use of the two anti-DDoS rules
1190
+ # named here.
1191
+ #
1192
+ # </note>
1193
+ #
1194
+ # You can enable or disable the use of these rules, and you can
1195
+ # configure how to use them when they are enabled.
1196
+ # @return [Types::ClientSideAction]
1197
+ #
1198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ClientSideActionConfig AWS API Documentation
1199
+ #
1200
+ class ClientSideActionConfig < Struct.new(
1201
+ :challenge)
1202
+ SENSITIVE = []
1203
+ include Aws::Structure
1204
+ end
1205
+
956
1206
  # A single match condition for a Filter.
957
1207
  #
958
1208
  # @!attribute [rw] action_condition
@@ -1547,6 +1797,22 @@ module Aws::WAFV2
1547
1797
  # [1]: http://aws.amazon.com/waf/pricing/
1548
1798
  # @return [Types::AssociationConfig]
1549
1799
  #
1800
+ # @!attribute [rw] on_source_d_do_s_protection_config
1801
+ # Specifies the type of DDoS protection to apply to web request data
1802
+ # for a web ACL. For most scenarios, it is recommended to use the
1803
+ # default protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is
1804
+ # associated with multiple Application Load Balancers, the changes you
1805
+ # make to DDoS protection in that web ACL will apply to all associated
1806
+ # Application Load Balancers.
1807
+ # @return [Types::OnSourceDDoSProtectionConfig]
1808
+ #
1809
+ # @!attribute [rw] application_config
1810
+ # Configures the ability for the WAF console to store and retrieve
1811
+ # application attributes during the web ACL creation process.
1812
+ # Application attributes help WAF give recommendations for protection
1813
+ # packs.
1814
+ # @return [Types::ApplicationConfig]
1815
+ #
1550
1816
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateWebACLRequest AWS API Documentation
1551
1817
  #
1552
1818
  class CreateWebACLRequest < Struct.new(
@@ -1562,7 +1828,9 @@ module Aws::WAFV2
1562
1828
  :captcha_config,
1563
1829
  :challenge_config,
1564
1830
  :token_domains,
1565
- :association_config)
1831
+ :association_config,
1832
+ :on_source_d_do_s_protection_config,
1833
+ :application_config)
1566
1834
  SENSITIVE = []
1567
1835
  include Aws::Structure
1568
1836
  end
@@ -5552,6 +5820,13 @@ module Aws::WAFV2
5552
5820
  # your application and the locations in the account creation request
5553
5821
  # payload of data, such as the user email and phone number fields.
5554
5822
  #
5823
+ # * Use the `AWSManagedRulesAntiDDoSRuleSet` configuration object to
5824
+ # configure the anti-DDoS managed rule group. The configuration
5825
+ # includes the sensitivity levels to use in the rules that typically
5826
+ # block and challenge requests that might be participating in DDoS
5827
+ # attacks and the specification to use to indicate whether a request
5828
+ # can handle a silent browser challenge.
5829
+ #
5555
5830
  # * Use the `AWSManagedRulesATPRuleSet` configuration object to
5556
5831
  # configure the account takeover prevention managed rule group. The
5557
5832
  # configuration includes the sign-in page of your application and the
@@ -5649,6 +5924,21 @@ module Aws::WAFV2
5649
5924
  # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-acfp.html
5650
5925
  # @return [Types::AWSManagedRulesACFPRuleSet]
5651
5926
  #
5927
+ # @!attribute [rw] aws_managed_rules_anti_d_do_s_rule_set
5928
+ # Additional configuration for using the anti-DDoS managed rule group,
5929
+ # `AWSManagedRulesAntiDDoSRuleSet`. Use this to configure anti-DDoS
5930
+ # behavior for the rule group.
5931
+ #
5932
+ # For information about using the anti-DDoS managed rule group, see
5933
+ # [WAF Anti-DDoS rule group][1] and [Distributed Denial of Service
5934
+ # (DDoS) prevention][2] in the *WAF Developer Guide*.
5935
+ #
5936
+ #
5937
+ #
5938
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-anti-ddos.html
5939
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-anti-ddos.html
5940
+ # @return [Types::AWSManagedRulesAntiDDoSRuleSet]
5941
+ #
5652
5942
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupConfig AWS API Documentation
5653
5943
  #
5654
5944
  class ManagedRuleGroupConfig < Struct.new(
@@ -5658,7 +5948,8 @@ module Aws::WAFV2
5658
5948
  :password_field,
5659
5949
  :aws_managed_rules_bot_control_rule_set,
5660
5950
  :aws_managed_rules_atp_rule_set,
5661
- :aws_managed_rules_acfp_rule_set)
5951
+ :aws_managed_rules_acfp_rule_set,
5952
+ :aws_managed_rules_anti_d_do_s_rule_set)
5662
5953
  SENSITIVE = []
5663
5954
  include Aws::Structure
5664
5955
  end
@@ -5738,6 +6029,13 @@ module Aws::WAFV2
5738
6029
  # creation request payload of data, such as the user email and phone
5739
6030
  # number fields.
5740
6031
  #
6032
+ # * Use the `AWSManagedRulesAntiDDoSRuleSet` configuration object to
6033
+ # configure the anti-DDoS managed rule group. The configuration
6034
+ # includes the sensitivity levels to use in the rules that typically
6035
+ # block and challenge requests that might be participating in DDoS
6036
+ # attacks and the specification to use to indicate whether a request
6037
+ # can handle a silent browser challenge.
6038
+ #
5741
6039
  # * Use the `AWSManagedRulesATPRuleSet` configuration object to
5742
6040
  # configure the account takeover prevention managed rule group. The
5743
6041
  # configuration includes the sign-in page of your application and
@@ -5754,10 +6052,12 @@ module Aws::WAFV2
5754
6052
  # configured inside the rule group. You specify one override for each
5755
6053
  # rule whose action you want to change.
5756
6054
  #
5757
- # <note markdown="1"> Take care to verify the rule names in your overrides. If you provide
5758
- # a rule name that doesn't match the name of any rule in the rule
5759
- # group, WAF doesn't return an error and doesn't apply the override
5760
- # setting.
6055
+ # <note markdown="1"> Verify the rule names in your overrides carefully. With managed rule
6056
+ # groups, WAF silently ignores any override that uses an invalid rule
6057
+ # name. With customer-owned rule groups, invalid rule names in your
6058
+ # overrides will cause web ACL updates to fail. An invalid rule name
6059
+ # is any name that doesn't exactly match the case-sensitive name of
6060
+ # an existing rule in the rule group.
5761
6061
  #
5762
6062
  # </note>
5763
6063
  #
@@ -6163,6 +6463,31 @@ module Aws::WAFV2
6163
6463
  include Aws::Structure
6164
6464
  end
6165
6465
 
6466
+ # Configures the level of DDoS protection that applies to web ACLs
6467
+ # associated with Application Load Balancers.
6468
+ #
6469
+ # @!attribute [rw] alb_low_reputation_mode
6470
+ # The level of DDoS protection that applies to web ACLs associated
6471
+ # with Application Load Balancers. `ACTIVE_UNDER_DDOS` protection is
6472
+ # enabled by default whenever a web ACL is associated with an
6473
+ # Application Load Balancer. In the event that an Application Load
6474
+ # Balancer experiences high-load conditions or suspected DDoS attacks,
6475
+ # the `ACTIVE_UNDER_DDOS` protection automatically rate limits traffic
6476
+ # from known low reputation sources without disrupting Application
6477
+ # Load Balancer availability. `ALWAYS_ON` protection provides
6478
+ # constant, always-on monitoring of known low reputation sources for
6479
+ # suspected DDoS attacks. While this provides a higher level of
6480
+ # protection, there may be potential impacts on legitimate traffic.
6481
+ # @return [String]
6482
+ #
6483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/OnSourceDDoSProtectionConfig AWS API Documentation
6484
+ #
6485
+ class OnSourceDDoSProtectionConfig < Struct.new(
6486
+ :alb_low_reputation_mode)
6487
+ SENSITIVE = []
6488
+ include Aws::Structure
6489
+ end
6490
+
6166
6491
  # A logical rule statement used to combine other rule statements with OR
6167
6492
  # logic. You provide more than one Statement within the `OrStatement`.
6168
6493
  #
@@ -7137,7 +7462,9 @@ module Aws::WAFV2
7137
7462
  include Aws::Structure
7138
7463
  end
7139
7464
 
7140
- # A single regular expression. This is used in a RegexPatternSet.
7465
+ # A single regular expression. This is used in a RegexPatternSet and
7466
+ # also in the configuration for the Amazon Web Services Managed Rules
7467
+ # rule group `AWSManagedRulesAntiDDoSRuleSet`.
7141
7468
  #
7142
7469
  # @!attribute [rw] regex_string
7143
7470
  # The string representing the regular expression.
@@ -8220,10 +8547,12 @@ module Aws::WAFV2
8220
8547
  # configured inside the rule group. You specify one override for each
8221
8548
  # rule whose action you want to change.
8222
8549
  #
8223
- # <note markdown="1"> Take care to verify the rule names in your overrides. If you provide
8224
- # a rule name that doesn't match the name of any rule in the rule
8225
- # group, WAF doesn't return an error and doesn't apply the override
8226
- # setting.
8550
+ # <note markdown="1"> Verify the rule names in your overrides carefully. With managed rule
8551
+ # groups, WAF silently ignores any override that uses an invalid rule
8552
+ # name. With customer-owned rule groups, invalid rule names in your
8553
+ # overrides will cause web ACL updates to fail. An invalid rule name
8554
+ # is any name that doesn't exactly match the case-sensitive name of
8555
+ # an existing rule in the rule group.
8227
8556
  #
8228
8557
  # </note>
8229
8558
  #
@@ -9587,6 +9916,15 @@ module Aws::WAFV2
9587
9916
  # [1]: http://aws.amazon.com/waf/pricing/
9588
9917
  # @return [Types::AssociationConfig]
9589
9918
  #
9919
+ # @!attribute [rw] on_source_d_do_s_protection_config
9920
+ # Specifies the type of DDoS protection to apply to web request data
9921
+ # for a web ACL. For most scenarios, it is recommended to use the
9922
+ # default protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is
9923
+ # associated with multiple Application Load Balancers, the changes you
9924
+ # make to DDoS protection in that web ACL will apply to all associated
9925
+ # Application Load Balancers.
9926
+ # @return [Types::OnSourceDDoSProtectionConfig]
9927
+ #
9590
9928
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateWebACLRequest AWS API Documentation
9591
9929
  #
9592
9930
  class UpdateWebACLRequest < Struct.new(
@@ -9603,7 +9941,8 @@ module Aws::WAFV2
9603
9941
  :captcha_config,
9604
9942
  :challenge_config,
9605
9943
  :token_domains,
9606
- :association_config)
9944
+ :association_config,
9945
+ :on_source_d_do_s_protection_config)
9607
9946
  SENSITIVE = []
9608
9947
  include Aws::Structure
9609
9948
  end
@@ -10381,6 +10720,15 @@ module Aws::WAFV2
10381
10720
  # `PostProcessFirewallManagerRuleGroups`.
10382
10721
  # @return [Boolean]
10383
10722
  #
10723
+ # @!attribute [rw] on_source_d_do_s_protection_config
10724
+ # Configures the level of DDoS protection that applies to web ACLs
10725
+ # associated with Application Load Balancers.
10726
+ # @return [Types::OnSourceDDoSProtectionConfig]
10727
+ #
10728
+ # @!attribute [rw] application_config
10729
+ # Returns a list of `ApplicationAttribute`s.
10730
+ # @return [Types::ApplicationConfig]
10731
+ #
10384
10732
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WebACL AWS API Documentation
10385
10733
  #
10386
10734
  class WebACL < Struct.new(
@@ -10402,7 +10750,9 @@ module Aws::WAFV2
10402
10750
  :challenge_config,
10403
10751
  :token_domains,
10404
10752
  :association_config,
10405
- :retrofitted_by_firewall_manager)
10753
+ :retrofitted_by_firewall_manager,
10754
+ :on_source_d_do_s_protection_config,
10755
+ :application_config)
10406
10756
  SENSITIVE = []
10407
10757
  include Aws::Structure
10408
10758
  end
data/lib/aws-sdk-wafv2.rb CHANGED
@@ -54,7 +54,7 @@ module Aws::WAFV2
54
54
  autoload :EndpointProvider, 'aws-sdk-wafv2/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-wafv2/endpoints'
56
56
 
57
- GEM_VERSION = '1.110.0'
57
+ GEM_VERSION = '1.112.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -723,6 +723,20 @@ module Aws
723
723
  }?
724
724
  }?,
725
725
  enable_regex_in_path: bool?
726
+ }?,
727
+ aws_managed_rules_anti_d_do_s_rule_set: {
728
+ client_side_action_config: {
729
+ challenge: {
730
+ usage_of_action: ("ENABLED" | "DISABLED"),
731
+ sensitivity: ("LOW" | "MEDIUM" | "HIGH")?,
732
+ exempt_uri_regular_expressions: Array[
733
+ {
734
+ regex_string: ::String?
735
+ },
736
+ ]?
737
+ }
738
+ },
739
+ sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")?
726
740
  }?
727
741
  },
728
742
  ]?,
@@ -1653,6 +1667,20 @@ module Aws
1653
1667
  }?
1654
1668
  }?,
1655
1669
  enable_regex_in_path: bool?
1670
+ }?,
1671
+ aws_managed_rules_anti_d_do_s_rule_set: {
1672
+ client_side_action_config: {
1673
+ challenge: {
1674
+ usage_of_action: ("ENABLED" | "DISABLED"),
1675
+ sensitivity: ("LOW" | "MEDIUM" | "HIGH")?,
1676
+ exempt_uri_regular_expressions: Array[
1677
+ {
1678
+ regex_string: ::String?
1679
+ },
1680
+ ]?
1681
+ }
1682
+ },
1683
+ sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")?
1656
1684
  }?
1657
1685
  },
1658
1686
  ]?,
@@ -2567,6 +2595,20 @@ module Aws
2567
2595
  }?
2568
2596
  }?,
2569
2597
  enable_regex_in_path: bool?
2598
+ }?,
2599
+ aws_managed_rules_anti_d_do_s_rule_set: {
2600
+ client_side_action_config: {
2601
+ challenge: {
2602
+ usage_of_action: ("ENABLED" | "DISABLED"),
2603
+ sensitivity: ("LOW" | "MEDIUM" | "HIGH")?,
2604
+ exempt_uri_regular_expressions: Array[
2605
+ {
2606
+ regex_string: ::String?
2607
+ },
2608
+ ]?
2609
+ }
2610
+ },
2611
+ sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")?
2570
2612
  }?
2571
2613
  },
2572
2614
  ]?,
@@ -2845,6 +2887,17 @@ module Aws
2845
2887
  request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), {
2846
2888
  default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64")
2847
2889
  }]?
2890
+ },
2891
+ ?on_source_d_do_s_protection_config: {
2892
+ alb_low_reputation_mode: ("ACTIVE_UNDER_DDOS" | "ALWAYS_ON")
2893
+ },
2894
+ ?application_config: {
2895
+ attributes: Array[
2896
+ {
2897
+ name: ::String?,
2898
+ values: Array[::String]?
2899
+ },
2900
+ ]?
2848
2901
  }
2849
2902
  ) -> _CreateWebACLResponseSuccess
2850
2903
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateWebACLResponseSuccess
@@ -4154,6 +4207,20 @@ module Aws
4154
4207
  }?
4155
4208
  }?,
4156
4209
  enable_regex_in_path: bool?
4210
+ }?,
4211
+ aws_managed_rules_anti_d_do_s_rule_set: {
4212
+ client_side_action_config: {
4213
+ challenge: {
4214
+ usage_of_action: ("ENABLED" | "DISABLED"),
4215
+ sensitivity: ("LOW" | "MEDIUM" | "HIGH")?,
4216
+ exempt_uri_regular_expressions: Array[
4217
+ {
4218
+ regex_string: ::String?
4219
+ },
4220
+ ]?
4221
+ }
4222
+ },
4223
+ sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")?
4157
4224
  }?
4158
4225
  },
4159
4226
  ]?,
@@ -5064,6 +5131,20 @@ module Aws
5064
5131
  }?
5065
5132
  }?,
5066
5133
  enable_regex_in_path: bool?
5134
+ }?,
5135
+ aws_managed_rules_anti_d_do_s_rule_set: {
5136
+ client_side_action_config: {
5137
+ challenge: {
5138
+ usage_of_action: ("ENABLED" | "DISABLED"),
5139
+ sensitivity: ("LOW" | "MEDIUM" | "HIGH")?,
5140
+ exempt_uri_regular_expressions: Array[
5141
+ {
5142
+ regex_string: ::String?
5143
+ },
5144
+ ]?
5145
+ }
5146
+ },
5147
+ sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")?
5067
5148
  }?
5068
5149
  },
5069
5150
  ]?,
@@ -5337,6 +5418,9 @@ module Aws
5337
5418
  request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), {
5338
5419
  default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64")
5339
5420
  }]?
5421
+ },
5422
+ ?on_source_d_do_s_protection_config: {
5423
+ alb_low_reputation_mode: ("ACTIVE_UNDER_DDOS" | "ALWAYS_ON")
5340
5424
  }
5341
5425
  ) -> _UpdateWebACLResponseSuccess
5342
5426
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateWebACLResponseSuccess
data/sig/types.rbs CHANGED
@@ -33,6 +33,12 @@ module Aws::WAFV2
33
33
  SENSITIVE: []
34
34
  end
35
35
 
36
+ class AWSManagedRulesAntiDDoSRuleSet
37
+ attr_accessor client_side_action_config: Types::ClientSideActionConfig
38
+ attr_accessor sensitivity_to_block: ("LOW" | "MEDIUM" | "HIGH")
39
+ SENSITIVE: []
40
+ end
41
+
36
42
  class AWSManagedRulesBotControlRuleSet
37
43
  attr_accessor inspection_level: ("COMMON" | "TARGETED")
38
44
  attr_accessor enable_machine_learning: bool
@@ -65,6 +71,17 @@ module Aws::WAFV2
65
71
  SENSITIVE: []
66
72
  end
67
73
 
74
+ class ApplicationAttribute
75
+ attr_accessor name: ::String
76
+ attr_accessor values: ::Array[::String]
77
+ SENSITIVE: []
78
+ end
79
+
80
+ class ApplicationConfig
81
+ attr_accessor attributes: ::Array[Types::ApplicationAttribute]
82
+ SENSITIVE: []
83
+ end
84
+
68
85
  class AsnMatchStatement
69
86
  attr_accessor asn_list: ::Array[::Integer]
70
87
  attr_accessor forwarded_ip_config: Types::ForwardedIPConfig
@@ -148,6 +165,18 @@ module Aws::WAFV2
148
165
  SENSITIVE: []
149
166
  end
150
167
 
168
+ class ClientSideAction
169
+ attr_accessor usage_of_action: ("ENABLED" | "DISABLED")
170
+ attr_accessor sensitivity: ("LOW" | "MEDIUM" | "HIGH")
171
+ attr_accessor exempt_uri_regular_expressions: ::Array[Types::Regex]
172
+ SENSITIVE: []
173
+ end
174
+
175
+ class ClientSideActionConfig
176
+ attr_accessor challenge: Types::ClientSideAction
177
+ SENSITIVE: []
178
+ end
179
+
151
180
  class Condition
152
181
  attr_accessor action_condition: Types::ActionCondition
153
182
  attr_accessor label_name_condition: Types::LabelNameCondition
@@ -244,6 +273,8 @@ module Aws::WAFV2
244
273
  attr_accessor challenge_config: Types::ChallengeConfig
245
274
  attr_accessor token_domains: ::Array[::String]
246
275
  attr_accessor association_config: Types::AssociationConfig
276
+ attr_accessor on_source_d_do_s_protection_config: Types::OnSourceDDoSProtectionConfig
277
+ attr_accessor application_config: Types::ApplicationConfig
247
278
  SENSITIVE: []
248
279
  end
249
280
 
@@ -972,6 +1003,7 @@ module Aws::WAFV2
972
1003
  attr_accessor aws_managed_rules_bot_control_rule_set: Types::AWSManagedRulesBotControlRuleSet
973
1004
  attr_accessor aws_managed_rules_atp_rule_set: Types::AWSManagedRulesATPRuleSet
974
1005
  attr_accessor aws_managed_rules_acfp_rule_set: Types::AWSManagedRulesACFPRuleSet
1006
+ attr_accessor aws_managed_rules_anti_d_do_s_rule_set: Types::AWSManagedRulesAntiDDoSRuleSet
975
1007
  SENSITIVE: []
976
1008
  end
977
1009
 
@@ -1050,6 +1082,11 @@ module Aws::WAFV2
1050
1082
  SENSITIVE: []
1051
1083
  end
1052
1084
 
1085
+ class OnSourceDDoSProtectionConfig
1086
+ attr_accessor alb_low_reputation_mode: ("ACTIVE_UNDER_DDOS" | "ALWAYS_ON")
1087
+ SENSITIVE: []
1088
+ end
1089
+
1053
1090
  class OrStatement
1054
1091
  attr_accessor statements: ::Array[Types::Statement]
1055
1092
  SENSITIVE: []
@@ -1540,6 +1577,7 @@ module Aws::WAFV2
1540
1577
  attr_accessor challenge_config: Types::ChallengeConfig
1541
1578
  attr_accessor token_domains: ::Array[::String]
1542
1579
  attr_accessor association_config: Types::AssociationConfig
1580
+ attr_accessor on_source_d_do_s_protection_config: Types::OnSourceDDoSProtectionConfig
1543
1581
  SENSITIVE: []
1544
1582
  end
1545
1583
 
@@ -1606,7 +1644,7 @@ module Aws::WAFV2
1606
1644
 
1607
1645
  class WAFInvalidParameterException
1608
1646
  attr_accessor message: ::String
1609
- attr_accessor field: ("WEB_ACL" | "RULE_GROUP" | "REGEX_PATTERN_SET" | "IP_SET" | "MANAGED_RULE_SET" | "RULE" | "EXCLUDED_RULE" | "STATEMENT" | "BYTE_MATCH_STATEMENT" | "SQLI_MATCH_STATEMENT" | "XSS_MATCH_STATEMENT" | "SIZE_CONSTRAINT_STATEMENT" | "GEO_MATCH_STATEMENT" | "RATE_BASED_STATEMENT" | "RULE_GROUP_REFERENCE_STATEMENT" | "REGEX_PATTERN_REFERENCE_STATEMENT" | "IP_SET_REFERENCE_STATEMENT" | "MANAGED_RULE_SET_STATEMENT" | "LABEL_MATCH_STATEMENT" | "AND_STATEMENT" | "OR_STATEMENT" | "NOT_STATEMENT" | "IP_ADDRESS" | "IP_ADDRESS_VERSION" | "FIELD_TO_MATCH" | "TEXT_TRANSFORMATION" | "SINGLE_QUERY_ARGUMENT" | "SINGLE_HEADER" | "DEFAULT_ACTION" | "RULE_ACTION" | "ENTITY_LIMIT" | "OVERRIDE_ACTION" | "SCOPE_VALUE" | "RESOURCE_ARN" | "RESOURCE_TYPE" | "TAGS" | "TAG_KEYS" | "METRIC_NAME" | "FIREWALL_MANAGER_STATEMENT" | "FALLBACK_BEHAVIOR" | "POSITION" | "FORWARDED_IP_CONFIG" | "IP_SET_FORWARDED_IP_CONFIG" | "HEADER_NAME" | "CUSTOM_REQUEST_HANDLING" | "RESPONSE_CONTENT_TYPE" | "CUSTOM_RESPONSE" | "CUSTOM_RESPONSE_BODY" | "JSON_MATCH_PATTERN" | "JSON_MATCH_SCOPE" | "BODY_PARSING_FALLBACK_BEHAVIOR" | "LOGGING_FILTER" | "FILTER_CONDITION" | "EXPIRE_TIMESTAMP" | "CHANGE_PROPAGATION_STATUS" | "ASSOCIABLE_RESOURCE" | "LOG_DESTINATION" | "MANAGED_RULE_GROUP_CONFIG" | "PAYLOAD_TYPE" | "HEADER_MATCH_PATTERN" | "COOKIE_MATCH_PATTERN" | "MAP_MATCH_SCOPE" | "OVERSIZE_HANDLING" | "CHALLENGE_CONFIG" | "TOKEN_DOMAIN" | "ATP_RULE_SET_RESPONSE_INSPECTION" | "ASSOCIATED_RESOURCE_TYPE" | "SCOPE_DOWN" | "CUSTOM_KEYS" | "ACP_RULE_SET_RESPONSE_INSPECTION" | "DATA_PROTECTION_CONFIG")
1647
+ attr_accessor field: ("WEB_ACL" | "RULE_GROUP" | "REGEX_PATTERN_SET" | "IP_SET" | "MANAGED_RULE_SET" | "RULE" | "EXCLUDED_RULE" | "STATEMENT" | "BYTE_MATCH_STATEMENT" | "SQLI_MATCH_STATEMENT" | "XSS_MATCH_STATEMENT" | "SIZE_CONSTRAINT_STATEMENT" | "GEO_MATCH_STATEMENT" | "RATE_BASED_STATEMENT" | "RULE_GROUP_REFERENCE_STATEMENT" | "REGEX_PATTERN_REFERENCE_STATEMENT" | "IP_SET_REFERENCE_STATEMENT" | "MANAGED_RULE_SET_STATEMENT" | "LABEL_MATCH_STATEMENT" | "AND_STATEMENT" | "OR_STATEMENT" | "NOT_STATEMENT" | "IP_ADDRESS" | "IP_ADDRESS_VERSION" | "FIELD_TO_MATCH" | "TEXT_TRANSFORMATION" | "SINGLE_QUERY_ARGUMENT" | "SINGLE_HEADER" | "DEFAULT_ACTION" | "RULE_ACTION" | "ENTITY_LIMIT" | "OVERRIDE_ACTION" | "SCOPE_VALUE" | "RESOURCE_ARN" | "RESOURCE_TYPE" | "TAGS" | "TAG_KEYS" | "METRIC_NAME" | "FIREWALL_MANAGER_STATEMENT" | "FALLBACK_BEHAVIOR" | "POSITION" | "FORWARDED_IP_CONFIG" | "IP_SET_FORWARDED_IP_CONFIG" | "HEADER_NAME" | "CUSTOM_REQUEST_HANDLING" | "RESPONSE_CONTENT_TYPE" | "CUSTOM_RESPONSE" | "CUSTOM_RESPONSE_BODY" | "JSON_MATCH_PATTERN" | "JSON_MATCH_SCOPE" | "BODY_PARSING_FALLBACK_BEHAVIOR" | "LOGGING_FILTER" | "FILTER_CONDITION" | "EXPIRE_TIMESTAMP" | "CHANGE_PROPAGATION_STATUS" | "ASSOCIABLE_RESOURCE" | "LOG_DESTINATION" | "MANAGED_RULE_GROUP_CONFIG" | "PAYLOAD_TYPE" | "HEADER_MATCH_PATTERN" | "COOKIE_MATCH_PATTERN" | "MAP_MATCH_SCOPE" | "OVERSIZE_HANDLING" | "CHALLENGE_CONFIG" | "TOKEN_DOMAIN" | "ATP_RULE_SET_RESPONSE_INSPECTION" | "ASSOCIATED_RESOURCE_TYPE" | "SCOPE_DOWN" | "CUSTOM_KEYS" | "ACP_RULE_SET_RESPONSE_INSPECTION" | "DATA_PROTECTION_CONFIG" | "LOW_REPUTATION_MODE")
1610
1648
  attr_accessor parameter: ::String
1611
1649
  attr_accessor reason: ::String
1612
1650
  SENSITIVE: []
@@ -1693,6 +1731,8 @@ module Aws::WAFV2
1693
1731
  attr_accessor token_domains: ::Array[::String]
1694
1732
  attr_accessor association_config: Types::AssociationConfig
1695
1733
  attr_accessor retrofitted_by_firewall_manager: bool
1734
+ attr_accessor on_source_d_do_s_protection_config: Types::OnSourceDDoSProtectionConfig
1735
+ attr_accessor application_config: Types::ApplicationConfig
1696
1736
  SENSITIVE: []
1697
1737
  end
1698
1738
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-wafv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.110.0
4
+ version: 1.112.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services