aws-sdk-wafv2 1.68.0 → 1.69.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55bfda004eba480991c75c6b64ae9e27a276f5634a2a642a5fb5250b1b528c75
4
- data.tar.gz: 6be1ea7c0b782202a5eeb080fc572df75da8fb2c56cb16d886ce65fa6ed2aaad
3
+ metadata.gz: f159993614dfc0b2e74f8acfc8e623dfbfd72392d54952ee2b572700b39da53e
4
+ data.tar.gz: 3e35418199afa443c85d88ac64daaf5487aa92966c4e978d8429974d935976b1
5
5
  SHA512:
6
- metadata.gz: 0ede4328b57c11dfdc743583e0ebff19b960a04426ffaf0b8b35d975e68b4e53eff3272e3e979583eaa286ad09adec2a69b5c78f8ea981b66683d80687789403
7
- data.tar.gz: ae1f655544dd8bb38e75cde4079ff7bc9bb75abb57abdd6b81e3377e7ad68dd31dd46a6c2650b508872672c07dfaf087369e89dc4f874620c4fdafa578195c8d
6
+ metadata.gz: 1843c4c836d7d3db31c5b161b4ada940e32acf1b9281a5500d5e1c25be4403662652423888df27c97d525ed78a1baffaaaaae09196050072cbec76760b37266a
7
+ data.tar.gz: 5328f18b64890f79f90e151910bcc3639a9a5e6e5e742e33054f795e13e9b257e6a89be75373a88b398253ec645095caed9dd146a9b97ae9261a02b9d7acd20f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.69.0 (2023-09-25)
5
+ ------------------
6
+
7
+ * Feature - You can now perform an exact match against the web request's JA3 fingerprint.
8
+
4
9
  1.68.0 (2023-09-06)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.68.0
1
+ 1.69.0
@@ -580,6 +580,9 @@ module Aws::WAFV2
580
580
  # header_order: {
581
581
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
582
582
  # },
583
+ # ja3_fingerprint: {
584
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
585
+ # },
583
586
  # },
584
587
  # text_transformations: [ # required
585
588
  # {
@@ -641,6 +644,9 @@ module Aws::WAFV2
641
644
  # header_order: {
642
645
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
643
646
  # },
647
+ # ja3_fingerprint: {
648
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
649
+ # },
644
650
  # },
645
651
  # text_transformations: [ # required
646
652
  # {
@@ -702,6 +708,9 @@ module Aws::WAFV2
702
708
  # header_order: {
703
709
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
704
710
  # },
711
+ # ja3_fingerprint: {
712
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
713
+ # },
705
714
  # },
706
715
  # text_transformations: [ # required
707
716
  # {
@@ -762,6 +771,9 @@ module Aws::WAFV2
762
771
  # header_order: {
763
772
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
764
773
  # },
774
+ # ja3_fingerprint: {
775
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
776
+ # },
765
777
  # },
766
778
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
767
779
  # size: 1, # required
@@ -907,6 +919,9 @@ module Aws::WAFV2
907
919
  # header_order: {
908
920
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
909
921
  # },
922
+ # ja3_fingerprint: {
923
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
924
+ # },
910
925
  # },
911
926
  # text_transformations: [ # required
912
927
  # {
@@ -1226,6 +1241,9 @@ module Aws::WAFV2
1226
1241
  # header_order: {
1227
1242
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
1228
1243
  # },
1244
+ # ja3_fingerprint: {
1245
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1246
+ # },
1229
1247
  # },
1230
1248
  # text_transformations: [ # required
1231
1249
  # {
@@ -1436,25 +1454,25 @@ module Aws::WAFV2
1436
1454
  #
1437
1455
  # @option params [required, Array<String>] :addresses
1438
1456
  # Contains an array of strings that specifies zero or more IP addresses
1439
- # or blocks of IP addresses. All addresses must be specified using
1440
- # Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4
1441
- # and IPv6 CIDR ranges except for `/0`.
1457
+ # or blocks of IP addresses that you want WAF to inspect for in incoming
1458
+ # requests. All addresses must be specified using Classless Inter-Domain
1459
+ # Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
1460
+ # except for `/0`.
1442
1461
  #
1443
1462
  # Example address strings:
1444
1463
  #
1445
- # * To configure WAF to allow, block, or count requests that originated
1446
- # from the IP address 192.0.2.44, specify `192.0.2.44/32`.
1464
+ # * For requests that originated from the IP address 192.0.2.44, specify
1465
+ # `192.0.2.44/32`.
1447
1466
  #
1448
- # * To configure WAF to allow, block, or count requests that originated
1449
- # from IP addresses from 192.0.2.0 to 192.0.2.255, specify
1450
- # `192.0.2.0/24`.
1467
+ # * For requests that originated from IP addresses from 192.0.2.0 to
1468
+ # 192.0.2.255, specify `192.0.2.0/24`.
1451
1469
  #
1452
- # * To configure WAF to allow, block, or count requests that originated
1453
- # from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
1470
+ # * For requests that originated from the IP address
1471
+ # 1111:0000:0000:0000:0000:0000:0000:0111, specify
1454
1472
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
1455
1473
  #
1456
- # * To configure WAF to allow, block, or count requests that originated
1457
- # from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
1474
+ # * For requests that originated from IP addresses
1475
+ # 1111:0000:0000:0000:0000:0000:0000:0000 to
1458
1476
  # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
1459
1477
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
1460
1478
  #
@@ -1641,9 +1659,9 @@ module Aws::WAFV2
1641
1659
  #
1642
1660
  # @option params [Array<Types::Rule>] :rules
1643
1661
  # The Rule statements used to identify the web requests that you want to
1644
- # allow, block, or count. Each rule includes one top-level statement
1645
- # that WAF uses to identify matching web requests, and parameters that
1646
- # govern how WAF handles them.
1662
+ # manage. Each rule includes one top-level statement that WAF uses to
1663
+ # identify matching web requests, and parameters that govern how WAF
1664
+ # handles them.
1647
1665
  #
1648
1666
  # @option params [required, Types::VisibilityConfig] :visibility_config
1649
1667
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -1740,6 +1758,9 @@ module Aws::WAFV2
1740
1758
  # header_order: {
1741
1759
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
1742
1760
  # },
1761
+ # ja3_fingerprint: {
1762
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1763
+ # },
1743
1764
  # },
1744
1765
  # text_transformations: [ # required
1745
1766
  # {
@@ -1801,6 +1822,9 @@ module Aws::WAFV2
1801
1822
  # header_order: {
1802
1823
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
1803
1824
  # },
1825
+ # ja3_fingerprint: {
1826
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1827
+ # },
1804
1828
  # },
1805
1829
  # text_transformations: [ # required
1806
1830
  # {
@@ -1862,6 +1886,9 @@ module Aws::WAFV2
1862
1886
  # header_order: {
1863
1887
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
1864
1888
  # },
1889
+ # ja3_fingerprint: {
1890
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1891
+ # },
1865
1892
  # },
1866
1893
  # text_transformations: [ # required
1867
1894
  # {
@@ -1922,6 +1949,9 @@ module Aws::WAFV2
1922
1949
  # header_order: {
1923
1950
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
1924
1951
  # },
1952
+ # ja3_fingerprint: {
1953
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
1954
+ # },
1925
1955
  # },
1926
1956
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1927
1957
  # size: 1, # required
@@ -2067,6 +2097,9 @@ module Aws::WAFV2
2067
2097
  # header_order: {
2068
2098
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2069
2099
  # },
2100
+ # ja3_fingerprint: {
2101
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2102
+ # },
2070
2103
  # },
2071
2104
  # text_transformations: [ # required
2072
2105
  # {
@@ -2386,6 +2419,9 @@ module Aws::WAFV2
2386
2419
  # header_order: {
2387
2420
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2388
2421
  # },
2422
+ # ja3_fingerprint: {
2423
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2424
+ # },
2389
2425
  # },
2390
2426
  # text_transformations: [ # required
2391
2427
  # {
@@ -2524,16 +2560,17 @@ module Aws::WAFV2
2524
2560
  # Creates a WebACL per the specifications provided.
2525
2561
  #
2526
2562
  # A web ACL defines a collection of rules to use to inspect and control
2527
- # web requests. Each rule has an action defined (allow, block, or count)
2528
- # for requests that match the statement of the rule. In the web ACL, you
2529
- # assign a default action to take (allow, block) for any request that
2530
- # does not match any of the rules. The rules in a web ACL can be a
2531
- # combination of the types Rule, RuleGroup, and managed rule group. You
2532
- # can associate a web ACL with one or more Amazon Web Services resources
2533
- # to protect. The resources can be an Amazon CloudFront distribution, an
2534
- # Amazon API Gateway REST API, an Application Load Balancer, an AppSync
2535
- # GraphQL API, an Amazon Cognito user pool, an App Runner service, or an
2536
- # Amazon Web Services Verified Access instance.
2563
+ # web requests. Each rule has a statement that defines what to look for
2564
+ # in web requests and an action that WAF applies to requests that match
2565
+ # the statement. In the web ACL, you assign a default action to take
2566
+ # (allow, block) for any request that does not match any of the rules.
2567
+ # The rules in a web ACL can be a combination of the types Rule,
2568
+ # RuleGroup, and managed rule group. You can associate a web ACL with
2569
+ # one or more Amazon Web Services resources to protect. The resources
2570
+ # can be an Amazon CloudFront distribution, an Amazon API Gateway REST
2571
+ # API, an Application Load Balancer, an AppSync GraphQL API, an Amazon
2572
+ # Cognito user pool, an App Runner service, or an Amazon Web Services
2573
+ # Verified Access instance.
2537
2574
  #
2538
2575
  # @option params [required, String] :name
2539
2576
  # The name of the web ACL. You cannot change the name of a web ACL after
@@ -2563,9 +2600,9 @@ module Aws::WAFV2
2563
2600
  #
2564
2601
  # @option params [Array<Types::Rule>] :rules
2565
2602
  # The Rule statements used to identify the web requests that you want to
2566
- # allow, block, or count. Each rule includes one top-level statement
2567
- # that WAF uses to identify matching web requests, and parameters that
2568
- # govern how WAF handles them.
2603
+ # manage. Each rule includes one top-level statement that WAF uses to
2604
+ # identify matching web requests, and parameters that govern how WAF
2605
+ # handles them.
2569
2606
  #
2570
2607
  # @option params [required, Types::VisibilityConfig] :visibility_config
2571
2608
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -2729,6 +2766,9 @@ module Aws::WAFV2
2729
2766
  # header_order: {
2730
2767
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2731
2768
  # },
2769
+ # ja3_fingerprint: {
2770
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2771
+ # },
2732
2772
  # },
2733
2773
  # text_transformations: [ # required
2734
2774
  # {
@@ -2790,6 +2830,9 @@ module Aws::WAFV2
2790
2830
  # header_order: {
2791
2831
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2792
2832
  # },
2833
+ # ja3_fingerprint: {
2834
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2835
+ # },
2793
2836
  # },
2794
2837
  # text_transformations: [ # required
2795
2838
  # {
@@ -2851,6 +2894,9 @@ module Aws::WAFV2
2851
2894
  # header_order: {
2852
2895
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2853
2896
  # },
2897
+ # ja3_fingerprint: {
2898
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2899
+ # },
2854
2900
  # },
2855
2901
  # text_transformations: [ # required
2856
2902
  # {
@@ -2911,6 +2957,9 @@ module Aws::WAFV2
2911
2957
  # header_order: {
2912
2958
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
2913
2959
  # },
2960
+ # ja3_fingerprint: {
2961
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
2962
+ # },
2914
2963
  # },
2915
2964
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
2916
2965
  # size: 1, # required
@@ -3056,6 +3105,9 @@ module Aws::WAFV2
3056
3105
  # header_order: {
3057
3106
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
3058
3107
  # },
3108
+ # ja3_fingerprint: {
3109
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
3110
+ # },
3059
3111
  # },
3060
3112
  # text_transformations: [ # required
3061
3113
  # {
@@ -3375,6 +3427,9 @@ module Aws::WAFV2
3375
3427
  # header_order: {
3376
3428
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
3377
3429
  # },
3430
+ # ja3_fingerprint: {
3431
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
3432
+ # },
3378
3433
  # },
3379
3434
  # text_transformations: [ # required
3380
3435
  # {
@@ -4337,6 +4392,7 @@ module Aws::WAFV2
4337
4392
  # resp.logging_configuration.redacted_fields[0].cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4338
4393
  # resp.logging_configuration.redacted_fields[0].cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4339
4394
  # resp.logging_configuration.redacted_fields[0].header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4395
+ # resp.logging_configuration.redacted_fields[0].ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4340
4396
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
4341
4397
  # resp.logging_configuration.logging_filter.filters #=> Array
4342
4398
  # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
@@ -4736,6 +4792,7 @@ module Aws::WAFV2
4736
4792
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4737
4793
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4738
4794
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4795
+ # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4739
4796
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations #=> Array
4740
4797
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
4741
4798
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
@@ -4761,6 +4818,7 @@ module Aws::WAFV2
4761
4818
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4762
4819
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4763
4820
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4821
+ # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4764
4822
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations #=> Array
4765
4823
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
4766
4824
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
@@ -4786,6 +4844,7 @@ module Aws::WAFV2
4786
4844
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4787
4845
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4788
4846
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4847
+ # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4789
4848
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations #=> Array
4790
4849
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
4791
4850
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
@@ -4810,6 +4869,7 @@ module Aws::WAFV2
4810
4869
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4811
4870
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4812
4871
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4872
+ # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4813
4873
  # resp.rule_group.rules[0].statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
4814
4874
  # resp.rule_group.rules[0].statement.size_constraint_statement.size #=> Integer
4815
4875
  # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations #=> Array
@@ -4867,6 +4927,7 @@ module Aws::WAFV2
4867
4927
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4868
4928
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4869
4929
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
4930
+ # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
4870
4931
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
4871
4932
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
4872
4933
  # 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"
@@ -5008,6 +5069,7 @@ module Aws::WAFV2
5008
5069
  # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
5009
5070
  # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
5010
5071
  # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
5072
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
5011
5073
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations #=> Array
5012
5074
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
5013
5075
  # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
@@ -5616,6 +5678,7 @@ module Aws::WAFV2
5616
5678
  # resp.logging_configurations[0].redacted_fields[0].cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
5617
5679
  # resp.logging_configurations[0].redacted_fields[0].cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
5618
5680
  # resp.logging_configurations[0].redacted_fields[0].header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
5681
+ # resp.logging_configurations[0].redacted_fields[0].ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
5619
5682
  # resp.logging_configurations[0].managed_by_firewall_manager #=> Boolean
5620
5683
  # resp.logging_configurations[0].logging_filter.filters #=> Array
5621
5684
  # resp.logging_configurations[0].logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
@@ -6178,6 +6241,9 @@ module Aws::WAFV2
6178
6241
  # header_order: {
6179
6242
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
6180
6243
  # },
6244
+ # ja3_fingerprint: {
6245
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
6246
+ # },
6181
6247
  # },
6182
6248
  # ],
6183
6249
  # managed_by_firewall_manager: false,
@@ -6230,6 +6296,7 @@ module Aws::WAFV2
6230
6296
  # resp.logging_configuration.redacted_fields[0].cookies.match_scope #=> String, one of "ALL", "KEY", "VALUE"
6231
6297
  # resp.logging_configuration.redacted_fields[0].cookies.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
6232
6298
  # resp.logging_configuration.redacted_fields[0].header_order.oversize_handling #=> String, one of "CONTINUE", "MATCH", "NO_MATCH"
6299
+ # resp.logging_configuration.redacted_fields[0].ja3_fingerprint.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
6233
6300
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
6234
6301
  # resp.logging_configuration.logging_filter.filters #=> Array
6235
6302
  # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
@@ -6546,25 +6613,25 @@ module Aws::WAFV2
6546
6613
  #
6547
6614
  # @option params [required, Array<String>] :addresses
6548
6615
  # Contains an array of strings that specifies zero or more IP addresses
6549
- # or blocks of IP addresses. All addresses must be specified using
6550
- # Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4
6551
- # and IPv6 CIDR ranges except for `/0`.
6616
+ # or blocks of IP addresses that you want WAF to inspect for in incoming
6617
+ # requests. All addresses must be specified using Classless Inter-Domain
6618
+ # Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges
6619
+ # except for `/0`.
6552
6620
  #
6553
6621
  # Example address strings:
6554
6622
  #
6555
- # * To configure WAF to allow, block, or count requests that originated
6556
- # from the IP address 192.0.2.44, specify `192.0.2.44/32`.
6623
+ # * For requests that originated from the IP address 192.0.2.44, specify
6624
+ # `192.0.2.44/32`.
6557
6625
  #
6558
- # * To configure WAF to allow, block, or count requests that originated
6559
- # from IP addresses from 192.0.2.0 to 192.0.2.255, specify
6560
- # `192.0.2.0/24`.
6626
+ # * For requests that originated from IP addresses from 192.0.2.0 to
6627
+ # 192.0.2.255, specify `192.0.2.0/24`.
6561
6628
  #
6562
- # * To configure WAF to allow, block, or count requests that originated
6563
- # from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
6629
+ # * For requests that originated from the IP address
6630
+ # 1111:0000:0000:0000:0000:0000:0000:0111, specify
6564
6631
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
6565
6632
  #
6566
- # * To configure WAF to allow, block, or count requests that originated
6567
- # from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
6633
+ # * For requests that originated from IP addresses
6634
+ # 1111:0000:0000:0000:0000:0000:0000:0000 to
6568
6635
  # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
6569
6636
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
6570
6637
  #
@@ -6886,9 +6953,9 @@ module Aws::WAFV2
6886
6953
  #
6887
6954
  # @option params [Array<Types::Rule>] :rules
6888
6955
  # The Rule statements used to identify the web requests that you want to
6889
- # allow, block, or count. Each rule includes one top-level statement
6890
- # that WAF uses to identify matching web requests, and parameters that
6891
- # govern how WAF handles them.
6956
+ # manage. Each rule includes one top-level statement that WAF uses to
6957
+ # identify matching web requests, and parameters that govern how WAF
6958
+ # handles them.
6892
6959
  #
6893
6960
  # @option params [required, Types::VisibilityConfig] :visibility_config
6894
6961
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -6992,6 +7059,9 @@ module Aws::WAFV2
6992
7059
  # header_order: {
6993
7060
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
6994
7061
  # },
7062
+ # ja3_fingerprint: {
7063
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7064
+ # },
6995
7065
  # },
6996
7066
  # text_transformations: [ # required
6997
7067
  # {
@@ -7053,6 +7123,9 @@ module Aws::WAFV2
7053
7123
  # header_order: {
7054
7124
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
7055
7125
  # },
7126
+ # ja3_fingerprint: {
7127
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7128
+ # },
7056
7129
  # },
7057
7130
  # text_transformations: [ # required
7058
7131
  # {
@@ -7114,6 +7187,9 @@ module Aws::WAFV2
7114
7187
  # header_order: {
7115
7188
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
7116
7189
  # },
7190
+ # ja3_fingerprint: {
7191
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7192
+ # },
7117
7193
  # },
7118
7194
  # text_transformations: [ # required
7119
7195
  # {
@@ -7174,6 +7250,9 @@ module Aws::WAFV2
7174
7250
  # header_order: {
7175
7251
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
7176
7252
  # },
7253
+ # ja3_fingerprint: {
7254
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7255
+ # },
7177
7256
  # },
7178
7257
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
7179
7258
  # size: 1, # required
@@ -7319,6 +7398,9 @@ module Aws::WAFV2
7319
7398
  # header_order: {
7320
7399
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
7321
7400
  # },
7401
+ # ja3_fingerprint: {
7402
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7403
+ # },
7322
7404
  # },
7323
7405
  # text_transformations: [ # required
7324
7406
  # {
@@ -7638,6 +7720,9 @@ module Aws::WAFV2
7638
7720
  # header_order: {
7639
7721
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
7640
7722
  # },
7723
+ # ja3_fingerprint: {
7724
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7725
+ # },
7641
7726
  # },
7642
7727
  # text_transformations: [ # required
7643
7728
  # {
@@ -7797,16 +7882,17 @@ module Aws::WAFV2
7797
7882
  # Generally, any inconsistencies of this type last only a few seconds.
7798
7883
  #
7799
7884
  # A web ACL defines a collection of rules to use to inspect and control
7800
- # web requests. Each rule has an action defined (allow, block, or count)
7801
- # for requests that match the statement of the rule. In the web ACL, you
7802
- # assign a default action to take (allow, block) for any request that
7803
- # does not match any of the rules. The rules in a web ACL can be a
7804
- # combination of the types Rule, RuleGroup, and managed rule group. You
7805
- # can associate a web ACL with one or more Amazon Web Services resources
7806
- # to protect. The resources can be an Amazon CloudFront distribution, an
7807
- # Amazon API Gateway REST API, an Application Load Balancer, an AppSync
7808
- # GraphQL API, an Amazon Cognito user pool, an App Runner service, or an
7809
- # Amazon Web Services Verified Access instance.
7885
+ # web requests. Each rule has a statement that defines what to look for
7886
+ # in web requests and an action that WAF applies to requests that match
7887
+ # the statement. In the web ACL, you assign a default action to take
7888
+ # (allow, block) for any request that does not match any of the rules.
7889
+ # The rules in a web ACL can be a combination of the types Rule,
7890
+ # RuleGroup, and managed rule group. You can associate a web ACL with
7891
+ # one or more Amazon Web Services resources to protect. The resources
7892
+ # can be an Amazon CloudFront distribution, an Amazon API Gateway REST
7893
+ # API, an Application Load Balancer, an AppSync GraphQL API, an Amazon
7894
+ # Cognito user pool, an App Runner service, or an Amazon Web Services
7895
+ # Verified Access instance.
7810
7896
  #
7811
7897
  # @option params [required, String] :name
7812
7898
  # The name of the web ACL. You cannot change the name of a web ACL after
@@ -7841,9 +7927,9 @@ module Aws::WAFV2
7841
7927
  #
7842
7928
  # @option params [Array<Types::Rule>] :rules
7843
7929
  # The Rule statements used to identify the web requests that you want to
7844
- # allow, block, or count. Each rule includes one top-level statement
7845
- # that WAF uses to identify matching web requests, and parameters that
7846
- # govern how WAF handles them.
7930
+ # manage. Each rule includes one top-level statement that WAF uses to
7931
+ # identify matching web requests, and parameters that govern how WAF
7932
+ # handles them.
7847
7933
  #
7848
7934
  # @option params [required, Types::VisibilityConfig] :visibility_config
7849
7935
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -8015,6 +8101,9 @@ module Aws::WAFV2
8015
8101
  # header_order: {
8016
8102
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8017
8103
  # },
8104
+ # ja3_fingerprint: {
8105
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8106
+ # },
8018
8107
  # },
8019
8108
  # text_transformations: [ # required
8020
8109
  # {
@@ -8076,6 +8165,9 @@ module Aws::WAFV2
8076
8165
  # header_order: {
8077
8166
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8078
8167
  # },
8168
+ # ja3_fingerprint: {
8169
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8170
+ # },
8079
8171
  # },
8080
8172
  # text_transformations: [ # required
8081
8173
  # {
@@ -8137,6 +8229,9 @@ module Aws::WAFV2
8137
8229
  # header_order: {
8138
8230
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8139
8231
  # },
8232
+ # ja3_fingerprint: {
8233
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8234
+ # },
8140
8235
  # },
8141
8236
  # text_transformations: [ # required
8142
8237
  # {
@@ -8197,6 +8292,9 @@ module Aws::WAFV2
8197
8292
  # header_order: {
8198
8293
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8199
8294
  # },
8295
+ # ja3_fingerprint: {
8296
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8297
+ # },
8200
8298
  # },
8201
8299
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
8202
8300
  # size: 1, # required
@@ -8342,6 +8440,9 @@ module Aws::WAFV2
8342
8440
  # header_order: {
8343
8441
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8344
8442
  # },
8443
+ # ja3_fingerprint: {
8444
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8445
+ # },
8345
8446
  # },
8346
8447
  # text_transformations: [ # required
8347
8448
  # {
@@ -8661,6 +8762,9 @@ module Aws::WAFV2
8661
8762
  # header_order: {
8662
8763
  # oversize_handling: "CONTINUE", # required, accepts CONTINUE, MATCH, NO_MATCH
8663
8764
  # },
8765
+ # ja3_fingerprint: {
8766
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
8767
+ # },
8664
8768
  # },
8665
8769
  # text_transformations: [ # required
8666
8770
  # {
@@ -8818,7 +8922,7 @@ module Aws::WAFV2
8818
8922
  params: params,
8819
8923
  config: config)
8820
8924
  context[:gem_name] = 'aws-sdk-wafv2'
8821
- context[:gem_version] = '1.68.0'
8925
+ context[:gem_version] = '1.69.0'
8822
8926
  Seahorse::Client::Request.new(handlers, context)
8823
8927
  end
8824
8928
 
@@ -176,6 +176,7 @@ module Aws::WAFV2
176
176
  IPString = Shapes::StringShape.new(name: 'IPString')
177
177
  ImmunityTimeProperty = Shapes::StructureShape.new(name: 'ImmunityTimeProperty')
178
178
  InspectionLevel = Shapes::StringShape.new(name: 'InspectionLevel')
179
+ JA3Fingerprint = Shapes::StructureShape.new(name: 'JA3Fingerprint')
179
180
  JsonBody = Shapes::StructureShape.new(name: 'JsonBody')
180
181
  JsonMatchPattern = Shapes::StructureShape.new(name: 'JsonMatchPattern')
181
182
  JsonMatchScope = Shapes::StringShape.new(name: 'JsonMatchScope')
@@ -717,6 +718,7 @@ module Aws::WAFV2
717
718
  FieldToMatch.add_member(:headers, Shapes::ShapeRef.new(shape: Headers, location_name: "Headers"))
718
719
  FieldToMatch.add_member(:cookies, Shapes::ShapeRef.new(shape: Cookies, location_name: "Cookies"))
719
720
  FieldToMatch.add_member(:header_order, Shapes::ShapeRef.new(shape: HeaderOrder, location_name: "HeaderOrder"))
721
+ FieldToMatch.add_member(:ja3_fingerprint, Shapes::ShapeRef.new(shape: JA3Fingerprint, location_name: "JA3Fingerprint"))
720
722
  FieldToMatch.struct_class = Types::FieldToMatch
721
723
 
722
724
  Filter.add_member(:behavior, Shapes::ShapeRef.new(shape: FilterBehavior, required: true, location_name: "Behavior"))
@@ -917,6 +919,9 @@ module Aws::WAFV2
917
919
  ImmunityTimeProperty.add_member(:immunity_time, Shapes::ShapeRef.new(shape: TimeWindowSecond, required: true, location_name: "ImmunityTime"))
918
920
  ImmunityTimeProperty.struct_class = Types::ImmunityTimeProperty
919
921
 
922
+ JA3Fingerprint.add_member(:fallback_behavior, Shapes::ShapeRef.new(shape: FallbackBehavior, required: true, location_name: "FallbackBehavior"))
923
+ JA3Fingerprint.struct_class = Types::JA3Fingerprint
924
+
920
925
  JsonBody.add_member(:match_pattern, Shapes::ShapeRef.new(shape: JsonMatchPattern, required: true, location_name: "MatchPattern"))
921
926
  JsonBody.add_member(:match_scope, Shapes::ShapeRef.new(shape: JsonMatchScope, required: true, location_name: "MatchScope"))
922
927
  JsonBody.add_member(:invalid_fallback_behavior, Shapes::ShapeRef.new(shape: BodyParsingFallbackBehavior, location_name: "InvalidFallbackBehavior"))
@@ -60,8 +60,13 @@ module Aws::WAFV2
60
60
  # is the page on your website that accepts the completed registration
61
61
  # form for a new user. This page must accept `POST` requests.
62
62
  #
63
- # For example, for the URL `https://example.com/web/signup`, you would
64
- # provide the path `/web/signup`.
63
+ # For example, for the URL `https://example.com/web/newaccount`, you
64
+ # would provide the path `/web/newaccount`. Account creation page
65
+ # paths that start with the path that you provide are considered a
66
+ # match. For example `/web/newaccount` matches the account creation
67
+ # paths `/web/newaccount`, `/web/newaccount/`, `/web/newaccountPage`,
68
+ # and `/web/newaccount/thisPage`, but doesn't match the path
69
+ # `/home/web/newaccount` or `/website/newaccount`.
65
70
  # @return [String]
66
71
  #
67
72
  # @!attribute [rw] registration_page_path
@@ -73,8 +78,13 @@ module Aws::WAFV2
73
78
  #
74
79
  # </note>
75
80
  #
76
- # For example, for the URL `https://example.com/web/register`, you
77
- # would provide the path `/web/register`.
81
+ # For example, for the URL `https://example.com/web/registration`, you
82
+ # would provide the path `/web/registration`. Registration page paths
83
+ # that start with the path that you provide are considered a match.
84
+ # For example `/web/registration` matches the registration paths
85
+ # `/web/registration`, `/web/registration/`, `/web/registrationPage`,
86
+ # and `/web/registration/thisPage`, but doesn't match the path
87
+ # `/home/web/registration` or `/website/registration`.
78
88
  # @return [String]
79
89
  #
80
90
  # @!attribute [rw] request_inspection
@@ -124,7 +134,11 @@ module Aws::WAFV2
124
134
  # @!attribute [rw] login_path
125
135
  # The path of the login endpoint for your application. For example,
126
136
  # for the URL `https://example.com/web/login`, you would provide the
127
- # path `/web/login`.
137
+ # path `/web/login`. Login paths that start with the path that you
138
+ # provide are considered a match. For example `/web/login` matches the
139
+ # login paths `/web/login`, `/web/login/`, `/web/loginPage`, and
140
+ # `/web/login/thisPage`, but doesn't match the login path
141
+ # `/home/web/login` or `/website/login`.
128
142
  #
129
143
  # The rule group inspects only HTTP `POST` requests to your specified
130
144
  # login endpoint.
@@ -528,6 +542,10 @@ module Aws::WAFV2
528
542
  # * `UriPath`: The value that you want WAF to search for in the URI
529
543
  # path, for example, `/images/daily-ad.jpg`.
530
544
  #
545
+ # * `JA3Fingerprint`: The string to match against the web request's
546
+ # JA3 fingerprint header. The header contains a hash fingerprint of
547
+ # the TLS Client Hello packet for the request.
548
+ #
531
549
  # * `HeaderOrder`: The comma-separated list of header names to match
532
550
  # for. WAF creates a string that contains the ordered list of header
533
551
  # names, from the headers in the web request, and then matches
@@ -566,7 +584,7 @@ module Aws::WAFV2
566
584
  # before using them as custom aggregation keys. If you specify one or
567
585
  # more transformations to apply, WAF performs all transformations on
568
586
  # the specified content, starting from the lowest priority setting,
569
- # and then uses the component contents.
587
+ # and then uses the transformed component contents.
570
588
  # @return [Array<Types::TextTransformation>]
571
589
  #
572
590
  # @!attribute [rw] positional_constraint
@@ -1085,27 +1103,24 @@ module Aws::WAFV2
1085
1103
  #
1086
1104
  # @!attribute [rw] addresses
1087
1105
  # Contains an array of strings that specifies zero or more IP
1088
- # addresses or blocks of IP addresses. All addresses must be specified
1089
- # using Classless Inter-Domain Routing (CIDR) notation. WAF supports
1090
- # all IPv4 and IPv6 CIDR ranges except for `/0`.
1106
+ # addresses or blocks of IP addresses that you want WAF to inspect for
1107
+ # in incoming requests. All addresses must be specified using
1108
+ # Classless Inter-Domain Routing (CIDR) notation. WAF supports all
1109
+ # IPv4 and IPv6 CIDR ranges except for `/0`.
1091
1110
  #
1092
1111
  # Example address strings:
1093
1112
  #
1094
- # * To configure WAF to allow, block, or count requests that
1095
- # originated from the IP address 192.0.2.44, specify
1096
- # `192.0.2.44/32`.
1113
+ # * For requests that originated from the IP address 192.0.2.44,
1114
+ # specify `192.0.2.44/32`.
1097
1115
  #
1098
- # * To configure WAF to allow, block, or count requests that
1099
- # originated from IP addresses from 192.0.2.0 to 192.0.2.255,
1100
- # specify `192.0.2.0/24`.
1116
+ # * For requests that originated from IP addresses from 192.0.2.0 to
1117
+ # 192.0.2.255, specify `192.0.2.0/24`.
1101
1118
  #
1102
- # * To configure WAF to allow, block, or count requests that
1103
- # originated from the IP address
1119
+ # * For requests that originated from the IP address
1104
1120
  # 1111:0000:0000:0000:0000:0000:0000:0111, specify
1105
1121
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
1106
1122
  #
1107
- # * To configure WAF to allow, block, or count requests that
1108
- # originated from IP addresses
1123
+ # * For requests that originated from IP addresses
1109
1124
  # 1111:0000:0000:0000:0000:0000:0000:0000 to
1110
1125
  # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
1111
1126
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
@@ -1272,9 +1287,9 @@ module Aws::WAFV2
1272
1287
  #
1273
1288
  # @!attribute [rw] rules
1274
1289
  # The Rule statements used to identify the web requests that you want
1275
- # to allow, block, or count. Each rule includes one top-level
1276
- # statement that WAF uses to identify matching web requests, and
1277
- # parameters that govern how WAF handles them.
1290
+ # to manage. Each rule includes one top-level statement that WAF uses
1291
+ # to identify matching web requests, and parameters that govern how
1292
+ # WAF handles them.
1278
1293
  # @return [Array<Types::Rule>]
1279
1294
  #
1280
1295
  # @!attribute [rw] visibility_config
@@ -1369,9 +1384,9 @@ module Aws::WAFV2
1369
1384
  #
1370
1385
  # @!attribute [rw] rules
1371
1386
  # The Rule statements used to identify the web requests that you want
1372
- # to allow, block, or count. Each rule includes one top-level
1373
- # statement that WAF uses to identify matching web requests, and
1374
- # parameters that govern how WAF handles them.
1387
+ # to manage. Each rule includes one top-level statement that WAF uses
1388
+ # to identify matching web requests, and parameters that govern how
1389
+ # WAF handles them.
1375
1390
  # @return [Array<Types::Rule>]
1376
1391
  #
1377
1392
  # @!attribute [rw] visibility_config
@@ -1581,8 +1596,9 @@ module Aws::WAFV2
1581
1596
  # @return [String]
1582
1597
  #
1583
1598
  # @!attribute [rw] response_headers
1584
- # The HTTP headers to use in the response. Duplicate header names are
1585
- # not allowed.
1599
+ # The HTTP headers to use in the response. You can specify any header
1600
+ # name except for `content-type`. Duplicate header names are not
1601
+ # allowed.
1586
1602
  #
1587
1603
  # For information about the limits on count and size for custom
1588
1604
  # request and response settings, see [WAF quotas][1] in the *WAF
@@ -2380,6 +2396,18 @@ module Aws::WAFV2
2380
2396
  # `host:user-agent:accept:authorization:referer`.
2381
2397
  # @return [Types::HeaderOrder]
2382
2398
  #
2399
+ # @!attribute [rw] ja3_fingerprint
2400
+ # Match against the request's JA3 fingerprint header. The header
2401
+ # contains a hash fingerprint of the TLS Client Hello packet for the
2402
+ # request.
2403
+ #
2404
+ # <note markdown="1"> You can use this choice only with a string match
2405
+ # `ByteMatchStatement` with the `PositionalConstraint` set to
2406
+ # `EXACTLY`.
2407
+ #
2408
+ # </note>
2409
+ # @return [Types::JA3Fingerprint]
2410
+ #
2383
2411
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FieldToMatch AWS API Documentation
2384
2412
  #
2385
2413
  class FieldToMatch < Struct.new(
@@ -2393,7 +2421,8 @@ module Aws::WAFV2
2393
2421
  :json_body,
2394
2422
  :headers,
2395
2423
  :cookies,
2396
- :header_order)
2424
+ :header_order,
2425
+ :ja3_fingerprint)
2397
2426
  SENSITIVE = []
2398
2427
  include Aws::Structure
2399
2428
  end
@@ -3573,27 +3602,24 @@ module Aws::WAFV2
3573
3602
  #
3574
3603
  # @!attribute [rw] addresses
3575
3604
  # Contains an array of strings that specifies zero or more IP
3576
- # addresses or blocks of IP addresses. All addresses must be specified
3577
- # using Classless Inter-Domain Routing (CIDR) notation. WAF supports
3578
- # all IPv4 and IPv6 CIDR ranges except for `/0`.
3605
+ # addresses or blocks of IP addresses that you want WAF to inspect for
3606
+ # in incoming requests. All addresses must be specified using
3607
+ # Classless Inter-Domain Routing (CIDR) notation. WAF supports all
3608
+ # IPv4 and IPv6 CIDR ranges except for `/0`.
3579
3609
  #
3580
3610
  # Example address strings:
3581
3611
  #
3582
- # * To configure WAF to allow, block, or count requests that
3583
- # originated from the IP address 192.0.2.44, specify
3584
- # `192.0.2.44/32`.
3612
+ # * For requests that originated from the IP address 192.0.2.44,
3613
+ # specify `192.0.2.44/32`.
3585
3614
  #
3586
- # * To configure WAF to allow, block, or count requests that
3587
- # originated from IP addresses from 192.0.2.0 to 192.0.2.255,
3588
- # specify `192.0.2.0/24`.
3615
+ # * For requests that originated from IP addresses from 192.0.2.0 to
3616
+ # 192.0.2.255, specify `192.0.2.0/24`.
3589
3617
  #
3590
- # * To configure WAF to allow, block, or count requests that
3591
- # originated from the IP address
3618
+ # * For requests that originated from the IP address
3592
3619
  # 1111:0000:0000:0000:0000:0000:0000:0111, specify
3593
3620
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
3594
3621
  #
3595
- # * To configure WAF to allow, block, or count requests that
3596
- # originated from IP addresses
3622
+ # * For requests that originated from IP addresses
3597
3623
  # 1111:0000:0000:0000:0000:0000:0000:0000 to
3598
3624
  # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
3599
3625
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
@@ -3806,6 +3832,36 @@ module Aws::WAFV2
3806
3832
  include Aws::Structure
3807
3833
  end
3808
3834
 
3835
+ # Match against the request's JA3 fingerprint header. The header
3836
+ # contains a hash fingerprint of the TLS Client Hello packet for the
3837
+ # request.
3838
+ #
3839
+ # <note markdown="1"> You can use this choice only with a string match `ByteMatchStatement`
3840
+ # with the `PositionalConstraint` set to `EXACTLY`.
3841
+ #
3842
+ # </note>
3843
+ #
3844
+ # @!attribute [rw] fallback_behavior
3845
+ # The match status to assign to the web request if the request
3846
+ # doesn't have a JA3 fingerprint.
3847
+ #
3848
+ # You can specify the following fallback behaviors:
3849
+ #
3850
+ # * `MATCH` - Treat the web request as matching the rule statement.
3851
+ # WAF applies the rule action to the request.
3852
+ #
3853
+ # * `NO_MATCH` - Treat the web request as not matching the rule
3854
+ # statement.
3855
+ # @return [String]
3856
+ #
3857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/JA3Fingerprint AWS API Documentation
3858
+ #
3859
+ class JA3Fingerprint < Struct.new(
3860
+ :fallback_behavior)
3861
+ SENSITIVE = []
3862
+ include Aws::Structure
3863
+ end
3864
+
3809
3865
  # Inspect the body of the web request as JSON. The body immediately
3810
3866
  # follows the request headers.
3811
3867
  #
@@ -5107,8 +5163,10 @@ module Aws::WAFV2
5107
5163
  # calling ListAvailableManagedRuleGroups.
5108
5164
  #
5109
5165
  # You cannot nest a `ManagedRuleGroupStatement`, for example for use
5110
- # inside a `NotStatement` or `OrStatement`. It can only be referenced as
5111
- # a top-level statement within a rule.
5166
+ # inside a `NotStatement` or `OrStatement`. You cannot use a managed
5167
+ # rule group inside another rule group. You can only reference a managed
5168
+ # rule group as a top-level statement within a rule that you define in a
5169
+ # web ACL.
5112
5170
  #
5113
5171
  # <note markdown="1"> You are charged additional fees when you use the WAF Bot Control
5114
5172
  # managed rule group `AWSManagedRulesBotControlRuleSet`, the WAF Fraud
@@ -6253,7 +6311,7 @@ module Aws::WAFV2
6253
6311
  # before using them as custom aggregation keys. If you specify one or
6254
6312
  # more transformations to apply, WAF performs all transformations on
6255
6313
  # the specified content, starting from the lowest priority setting,
6256
- # and then uses the component contents.
6314
+ # and then uses the transformed component contents.
6257
6315
  # @return [Array<Types::TextTransformation>]
6258
6316
  #
6259
6317
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitCookie AWS API Documentation
@@ -6323,7 +6381,7 @@ module Aws::WAFV2
6323
6381
  # before using them as custom aggregation keys. If you specify one or
6324
6382
  # more transformations to apply, WAF performs all transformations on
6325
6383
  # the specified content, starting from the lowest priority setting,
6326
- # and then uses the component contents.
6384
+ # and then uses the transformed component contents.
6327
6385
  # @return [Array<Types::TextTransformation>]
6328
6386
  #
6329
6387
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitHeader AWS API Documentation
@@ -6400,7 +6458,7 @@ module Aws::WAFV2
6400
6458
  # before using them as custom aggregation keys. If you specify one or
6401
6459
  # more transformations to apply, WAF performs all transformations on
6402
6460
  # the specified content, starting from the lowest priority setting,
6403
- # and then uses the component contents.
6461
+ # and then uses the transformed component contents.
6404
6462
  # @return [Array<Types::TextTransformation>]
6405
6463
  #
6406
6464
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitQueryArgument AWS API Documentation
@@ -6426,7 +6484,7 @@ module Aws::WAFV2
6426
6484
  # before using them as custom aggregation keys. If you specify one or
6427
6485
  # more transformations to apply, WAF performs all transformations on
6428
6486
  # the specified content, starting from the lowest priority setting,
6429
- # and then uses the component contents.
6487
+ # and then uses the transformed component contents.
6430
6488
  # @return [Array<Types::TextTransformation>]
6431
6489
  #
6432
6490
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitQueryString AWS API Documentation
@@ -6451,7 +6509,7 @@ module Aws::WAFV2
6451
6509
  # before using them as custom aggregation keys. If you specify one or
6452
6510
  # more transformations to apply, WAF performs all transformations on
6453
6511
  # the specified content, starting from the lowest priority setting,
6454
- # and then uses the component contents.
6512
+ # and then uses the transformed component contents.
6455
6513
  # @return [Array<Types::TextTransformation>]
6456
6514
  #
6457
6515
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RateLimitUriPath AWS API Documentation
@@ -6496,7 +6554,7 @@ module Aws::WAFV2
6496
6554
  # before using them as custom aggregation keys. If you specify one or
6497
6555
  # more transformations to apply, WAF performs all transformations on
6498
6556
  # the specified content, starting from the lowest priority setting,
6499
- # and then uses the component contents.
6557
+ # and then uses the transformed component contents.
6500
6558
  # @return [Array<Types::TextTransformation>]
6501
6559
  #
6502
6560
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RegexMatchStatement AWS API Documentation
@@ -6580,7 +6638,7 @@ module Aws::WAFV2
6580
6638
  # before using them as custom aggregation keys. If you specify one or
6581
6639
  # more transformations to apply, WAF performs all transformations on
6582
6640
  # the specified content, starting from the lowest priority setting,
6583
- # and then uses the component contents.
6641
+ # and then uses the transformed component contents.
6584
6642
  # @return [Array<Types::TextTransformation>]
6585
6643
  #
6586
6644
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RegexPatternSetReferenceStatement AWS API Documentation
@@ -7171,9 +7229,9 @@ module Aws::WAFV2
7171
7229
  end
7172
7230
 
7173
7231
  # A single rule, which you can use in a WebACL or RuleGroup to identify
7174
- # web requests that you want to allow, block, or count. Each rule
7175
- # includes one top-level Statement that WAF uses to identify matching
7176
- # web requests, and parameters that govern how WAF handles them.
7232
+ # web requests that you want to manage in some way. Each rule includes
7233
+ # one top-level Statement that WAF uses to identify matching web
7234
+ # requests, and parameters that govern how WAF handles them.
7177
7235
  #
7178
7236
  # @!attribute [rw] name
7179
7237
  # The name of the rule.
@@ -7413,9 +7471,9 @@ module Aws::WAFV2
7413
7471
  #
7414
7472
  # @!attribute [rw] rules
7415
7473
  # The Rule statements used to identify the web requests that you want
7416
- # to allow, block, or count. Each rule includes one top-level
7417
- # statement that WAF uses to identify matching web requests, and
7418
- # parameters that govern how WAF handles them.
7474
+ # to manage. Each rule includes one top-level statement that WAF uses
7475
+ # to identify matching web requests, and parameters that govern how
7476
+ # WAF handles them.
7419
7477
  # @return [Array<Types::Rule>]
7420
7478
  #
7421
7479
  # @!attribute [rw] visibility_config
@@ -7496,8 +7554,10 @@ module Aws::WAFV2
7496
7554
  # provide the ARN of the rule group in this statement.
7497
7555
  #
7498
7556
  # You cannot nest a `RuleGroupReferenceStatement`, for example for use
7499
- # inside a `NotStatement` or `OrStatement`. You can only use a rule
7500
- # group reference statement at the top level inside a web ACL.
7557
+ # inside a `NotStatement` or `OrStatement`. You cannot use a rule group
7558
+ # reference statement inside another rule group. You can only reference
7559
+ # a rule group as a top-level statement within a rule that you define in
7560
+ # a web ACL.
7501
7561
  #
7502
7562
  # @!attribute [rw] arn
7503
7563
  # The Amazon Resource Name (ARN) of the entity.
@@ -7779,7 +7839,7 @@ module Aws::WAFV2
7779
7839
  # before using them as custom aggregation keys. If you specify one or
7780
7840
  # more transformations to apply, WAF performs all transformations on
7781
7841
  # the specified content, starting from the lowest priority setting,
7782
- # and then uses the component contents.
7842
+ # and then uses the transformed component contents.
7783
7843
  # @return [Array<Types::TextTransformation>]
7784
7844
  #
7785
7845
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/SizeConstraintStatement AWS API Documentation
@@ -7810,7 +7870,7 @@ module Aws::WAFV2
7810
7870
  # before using them as custom aggregation keys. If you specify one or
7811
7871
  # more transformations to apply, WAF performs all transformations on
7812
7872
  # the specified content, starting from the lowest priority setting,
7813
- # and then uses the component contents.
7873
+ # and then uses the transformed component contents.
7814
7874
  # @return [Array<Types::TextTransformation>]
7815
7875
  #
7816
7876
  # @!attribute [rw] sensitivity_level
@@ -7937,8 +7997,10 @@ module Aws::WAFV2
7937
7997
  # provide the ARN of the rule group in this statement.
7938
7998
  #
7939
7999
  # You cannot nest a `RuleGroupReferenceStatement`, for example for use
7940
- # inside a `NotStatement` or `OrStatement`. You can only use a rule
7941
- # group reference statement at the top level inside a web ACL.
8000
+ # inside a `NotStatement` or `OrStatement`. You cannot use a rule
8001
+ # group reference statement inside another rule group. You can only
8002
+ # reference a rule group as a top-level statement within a rule that
8003
+ # you define in a web ACL.
7942
8004
  # @return [Types::RuleGroupReferenceStatement]
7943
8005
  #
7944
8006
  # @!attribute [rw] ip_set_reference_statement
@@ -8091,8 +8153,10 @@ module Aws::WAFV2
8091
8153
  # calling ListAvailableManagedRuleGroups.
8092
8154
  #
8093
8155
  # You cannot nest a `ManagedRuleGroupStatement`, for example for use
8094
- # inside a `NotStatement` or `OrStatement`. It can only be referenced
8095
- # as a top-level statement within a rule.
8156
+ # inside a `NotStatement` or `OrStatement`. You cannot use a managed
8157
+ # rule group inside another rule group. You can only reference a
8158
+ # managed rule group as a top-level statement within a rule that you
8159
+ # define in a web ACL.
8096
8160
  #
8097
8161
  # <note markdown="1"> You are charged additional fees when you use the WAF Bot Control
8098
8162
  # managed rule group `AWSManagedRulesBotControlRuleSet`, the WAF Fraud
@@ -8248,126 +8312,12 @@ module Aws::WAFV2
8248
8312
  # @return [Integer]
8249
8313
  #
8250
8314
  # @!attribute [rw] type
8251
- # You can specify the following transformation types:
8252
- #
8253
- # **BASE64\_DECODE** - Decode a `Base64`-encoded string.
8254
- #
8255
- # **BASE64\_DECODE\_EXT** - Decode a `Base64`-encoded string, but use
8256
- # a forgiving implementation that ignores characters that aren't
8257
- # valid.
8258
- #
8259
- # **CMD\_LINE** - Command-line transformations. These are helpful in
8260
- # reducing effectiveness of attackers who inject an operating system
8261
- # command-line command and use unusual formatting to disguise some or
8262
- # all of the command.
8263
- #
8264
- # * Delete the following characters: `\ " ' ^`
8265
- #
8266
- # * Delete spaces before the following characters: `/ (`
8267
- #
8268
- # * Replace the following characters with a space: `, ;`
8269
- #
8270
- # * Replace multiple spaces with one space
8271
- #
8272
- # * Convert uppercase letters (A-Z) to lowercase (a-z)
8273
- #
8274
- # **COMPRESS\_WHITE\_SPACE** - Replace these characters with a space
8275
- # character (decimal 32):
8276
- #
8277
- # * `\f`, formfeed, decimal 12
8278
- #
8279
- # * `\t`, tab, decimal 9
8280
- #
8281
- # * `\n`, newline, decimal 10
8282
- #
8283
- # * `\r`, carriage return, decimal 13
8284
- #
8285
- # * `\v`, vertical tab, decimal 11
8286
- #
8287
- # * Non-breaking space, decimal 160
8288
- #
8289
- # `COMPRESS_WHITE_SPACE` also replaces multiple spaces with one space.
8290
- #
8291
- # **CSS\_DECODE** - Decode characters that were encoded using CSS 2.x
8292
- # escape rules `syndata.html#characters`. This function uses up to two
8293
- # bytes in the decoding process, so it can help to uncover ASCII
8294
- # characters that were encoded using CSS encoding that wouldn’t
8295
- # typically be encoded. It's also useful in countering evasion, which
8296
- # is a combination of a backslash and non-hexadecimal characters. For
8297
- # example, `ja\vascript` for javascript.
8298
- #
8299
- # **ESCAPE\_SEQ\_DECODE** - Decode the following ANSI C escape
8300
- # sequences: `\a`, `\b`, `\f`, `\n`, `\r`, `\t`, `\v`, `\`, `\?`,
8301
- # `'`, `"`, `\xHH` (hexadecimal), `\0OOO` (octal). Encodings that
8302
- # aren't valid remain in the output.
8303
- #
8304
- # **HEX\_DECODE** - Decode a string of hexadecimal characters into a
8305
- # binary.
8306
- #
8307
- # **HTML\_ENTITY\_DECODE** - Replace HTML-encoded characters with
8308
- # unencoded characters. `HTML_ENTITY_DECODE` performs these
8309
- # operations:
8310
- #
8311
- # * Replaces `(ampersand)quot;` with `"`
8312
- #
8313
- # * Replaces `(ampersand)nbsp;` with a non-breaking space, decimal 160
8314
- #
8315
- # * Replaces `(ampersand)lt;` with a "less than" symbol
8316
- #
8317
- # * Replaces `(ampersand)gt;` with `>`
8318
- #
8319
- # * Replaces characters that are represented in hexadecimal format,
8320
- # `(ampersand)#xhhhh;`, with the corresponding characters
8321
- #
8322
- # * Replaces characters that are represented in decimal format,
8323
- # `(ampersand)#nnnn;`, with the corresponding characters
8324
- #
8325
- # **JS\_DECODE** - Decode JavaScript escape sequences. If a `` `u`
8326
- # `HHHH` code is in the full-width ASCII code range of `FF01-FF5E`,
8327
- # then the higher byte is used to detect and adjust the lower byte. If
8328
- # not, only the lower byte is used and the higher byte is zeroed,
8329
- # causing a possible loss of information.
8330
- #
8331
- # **LOWERCASE** - Convert uppercase letters (A-Z) to lowercase (a-z).
8332
- #
8333
- # **MD5** - Calculate an MD5 hash from the data in the input. The
8334
- # computed hash is in a raw binary form.
8335
- #
8336
- # **NONE** - Specify `NONE` if you don't want any text
8337
- # transformations.
8338
- #
8339
- # **NORMALIZE\_PATH** - Remove multiple slashes, directory
8340
- # self-references, and directory back-references that are not at the
8341
- # beginning of the input from an input string.
8342
- #
8343
- # **NORMALIZE\_PATH\_WIN** - This is the same as `NORMALIZE_PATH`, but
8344
- # first converts backslash characters to forward slashes.
8345
- #
8346
- # **REMOVE\_NULLS** - Remove all `NULL` bytes from the input.
8347
- #
8348
- # **REPLACE\_COMMENTS** - Replace each occurrence of a C-style comment
8349
- # (`/* ... */`) with a single space. Multiple consecutive occurrences
8350
- # are not compressed. Unterminated comments are also replaced with a
8351
- # space (ASCII 0x20). However, a standalone termination of a comment
8352
- # (`*/`) is not acted upon.
8353
- #
8354
- # **REPLACE\_NULLS** - Replace NULL bytes in the input with space
8355
- # characters (ASCII `0x20`).
8356
- #
8357
- # **SQL\_HEX\_DECODE** - Decode SQL hex data. Example (`0x414243`)
8358
- # will be decoded to (`ABC`).
8315
+ # For detailed descriptions of each of the transformation types, see
8316
+ # [Text transformations][1] in the *WAF Developer Guide*.
8359
8317
  #
8360
- # **URL\_DECODE** - Decode a URL-encoded value.
8361
8318
  #
8362
- # **URL\_DECODE\_UNI** - Like `URL_DECODE`, but with support for
8363
- # Microsoft-specific `%u` encoding. If the code is in the full-width
8364
- # ASCII code range of `FF01-FF5E`, the higher byte is used to detect
8365
- # and adjust the lower byte. Otherwise, only the lower byte is used
8366
- # and the higher byte is zeroed.
8367
8319
  #
8368
- # **UTF8\_TO\_UNICODE** - Convert all UTF-8 character sequences to
8369
- # Unicode. This helps input normalization, and minimizing
8370
- # false-positives and false-negatives for non-English languages.
8320
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-transformation.html
8371
8321
  # @return [String]
8372
8322
  #
8373
8323
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/TextTransformation AWS API Documentation
@@ -8479,27 +8429,24 @@ module Aws::WAFV2
8479
8429
  #
8480
8430
  # @!attribute [rw] addresses
8481
8431
  # Contains an array of strings that specifies zero or more IP
8482
- # addresses or blocks of IP addresses. All addresses must be specified
8483
- # using Classless Inter-Domain Routing (CIDR) notation. WAF supports
8484
- # all IPv4 and IPv6 CIDR ranges except for `/0`.
8432
+ # addresses or blocks of IP addresses that you want WAF to inspect for
8433
+ # in incoming requests. All addresses must be specified using
8434
+ # Classless Inter-Domain Routing (CIDR) notation. WAF supports all
8435
+ # IPv4 and IPv6 CIDR ranges except for `/0`.
8485
8436
  #
8486
8437
  # Example address strings:
8487
8438
  #
8488
- # * To configure WAF to allow, block, or count requests that
8489
- # originated from the IP address 192.0.2.44, specify
8490
- # `192.0.2.44/32`.
8439
+ # * For requests that originated from the IP address 192.0.2.44,
8440
+ # specify `192.0.2.44/32`.
8491
8441
  #
8492
- # * To configure WAF to allow, block, or count requests that
8493
- # originated from IP addresses from 192.0.2.0 to 192.0.2.255,
8494
- # specify `192.0.2.0/24`.
8442
+ # * For requests that originated from IP addresses from 192.0.2.0 to
8443
+ # 192.0.2.255, specify `192.0.2.0/24`.
8495
8444
  #
8496
- # * To configure WAF to allow, block, or count requests that
8497
- # originated from the IP address
8445
+ # * For requests that originated from the IP address
8498
8446
  # 1111:0000:0000:0000:0000:0000:0000:0111, specify
8499
8447
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
8500
8448
  #
8501
- # * To configure WAF to allow, block, or count requests that
8502
- # originated from IP addresses
8449
+ # * For requests that originated from IP addresses
8503
8450
  # 1111:0000:0000:0000:0000:0000:0000:0000 to
8504
8451
  # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
8505
8452
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
@@ -8770,9 +8717,9 @@ module Aws::WAFV2
8770
8717
  #
8771
8718
  # @!attribute [rw] rules
8772
8719
  # The Rule statements used to identify the web requests that you want
8773
- # to allow, block, or count. Each rule includes one top-level
8774
- # statement that WAF uses to identify matching web requests, and
8775
- # parameters that govern how WAF handles them.
8720
+ # to manage. Each rule includes one top-level statement that WAF uses
8721
+ # to identify matching web requests, and parameters that govern how
8722
+ # WAF handles them.
8776
8723
  # @return [Array<Types::Rule>]
8777
8724
  #
8778
8725
  # @!attribute [rw] visibility_config
@@ -8879,9 +8826,9 @@ module Aws::WAFV2
8879
8826
  #
8880
8827
  # @!attribute [rw] rules
8881
8828
  # The Rule statements used to identify the web requests that you want
8882
- # to allow, block, or count. Each rule includes one top-level
8883
- # statement that WAF uses to identify matching web requests, and
8884
- # parameters that govern how WAF handles them.
8829
+ # to manage. Each rule includes one top-level statement that WAF uses
8830
+ # to identify matching web requests, and parameters that govern how
8831
+ # WAF handles them.
8885
8832
  # @return [Array<Types::Rule>]
8886
8833
  #
8887
8834
  # @!attribute [rw] visibility_config
@@ -9487,16 +9434,17 @@ module Aws::WAFV2
9487
9434
  end
9488
9435
 
9489
9436
  # A web ACL defines a collection of rules to use to inspect and control
9490
- # web requests. Each rule has an action defined (allow, block, or count)
9491
- # for requests that match the statement of the rule. In the web ACL, you
9492
- # assign a default action to take (allow, block) for any request that
9493
- # does not match any of the rules. The rules in a web ACL can be a
9494
- # combination of the types Rule, RuleGroup, and managed rule group. You
9495
- # can associate a web ACL with one or more Amazon Web Services resources
9496
- # to protect. The resources can be an Amazon CloudFront distribution, an
9497
- # Amazon API Gateway REST API, an Application Load Balancer, an AppSync
9498
- # GraphQL API, an Amazon Cognito user pool, an App Runner service, or an
9499
- # Amazon Web Services Verified Access instance.
9437
+ # web requests. Each rule has a statement that defines what to look for
9438
+ # in web requests and an action that WAF applies to requests that match
9439
+ # the statement. In the web ACL, you assign a default action to take
9440
+ # (allow, block) for any request that does not match any of the rules.
9441
+ # The rules in a web ACL can be a combination of the types Rule,
9442
+ # RuleGroup, and managed rule group. You can associate a web ACL with
9443
+ # one or more Amazon Web Services resources to protect. The resources
9444
+ # can be an Amazon CloudFront distribution, an Amazon API Gateway REST
9445
+ # API, an Application Load Balancer, an AppSync GraphQL API, an Amazon
9446
+ # Cognito user pool, an App Runner service, or an Amazon Web Services
9447
+ # Verified Access instance.
9500
9448
  #
9501
9449
  # @!attribute [rw] name
9502
9450
  # The name of the web ACL. You cannot change the name of a web ACL
@@ -9525,9 +9473,9 @@ module Aws::WAFV2
9525
9473
  #
9526
9474
  # @!attribute [rw] rules
9527
9475
  # The Rule statements used to identify the web requests that you want
9528
- # to allow, block, or count. Each rule includes one top-level
9529
- # statement that WAF uses to identify matching web requests, and
9530
- # parameters that govern how WAF handles them.
9476
+ # to manage. Each rule includes one top-level statement that WAF uses
9477
+ # to identify matching web requests, and parameters that govern how
9478
+ # WAF handles them.
9531
9479
  # @return [Array<Types::Rule>]
9532
9480
  #
9533
9481
  # @!attribute [rw] visibility_config
@@ -9755,7 +9703,7 @@ module Aws::WAFV2
9755
9703
  # before using them as custom aggregation keys. If you specify one or
9756
9704
  # more transformations to apply, WAF performs all transformations on
9757
9705
  # the specified content, starting from the lowest priority setting,
9758
- # and then uses the component contents.
9706
+ # and then uses the transformed component contents.
9759
9707
  # @return [Array<Types::TextTransformation>]
9760
9708
  #
9761
9709
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/XssMatchStatement AWS API Documentation
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.68.0'
55
+ GEM_VERSION = '1.69.0'
56
56
 
57
57
  end
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.68.0
4
+ version: 1.69.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: 2023-09-06 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core