aws-sdk-wafv2 1.24.0 → 1.28.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: 1b2e98100247d8e8206ffdfe6a626a73e62a31b8dc7edc970fd79915d7550de3
4
- data.tar.gz: 5ca93383a554697cb25bc02128b53a3bd97aed01b87c08cb03783bed76c6e00e
3
+ metadata.gz: 4b206f6136550394175f6892d68f5251ed144656d69ab4c49e759fe2fb5b9902
4
+ data.tar.gz: c38b69a9983aa54e12a3ff37636030b2fd05613a616ca15c62f9fdcddb148135
5
5
  SHA512:
6
- metadata.gz: 784c05b0000108fafda8a061383405aa78fea6268c1c796319fab7b6bc271eb77c0c6532251eace3e1de3711fcba2e1186dcff1a9bcd46ae07662eabebdfe112
7
- data.tar.gz: 264eb31a91d6d5458240bd0c13743911a7bef12e1cbb28a867b1abab672f45aea0d2e0ce24acdf9262ca326316ea6f407f313eb1cc224aaf28edd5d34902b366
6
+ metadata.gz: f9cbccf2304cf36306c10754fb6f666b6182d5a21e94a9295b542da7342473e5729aba5b6debdd5ea540442b3e161a9f76065961cd8b134d837c836298410c16
7
+ data.tar.gz: 5ee2b369a09ab087c4cba82fc694946630a16ea0be2c59b1be322feff647713d1be2ab916b217bc1d8b5c70220fb032f66ee61a51e2a98ca16d98d8cc6153f11
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2021-10-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.27.0 (2021-09-22)
10
+ ------------------
11
+
12
+ * Feature - Added the regex match rule statement, for matching web requests against a single regular expression.
13
+
14
+ 1.26.0 (2021-09-14)
15
+ ------------------
16
+
17
+ * Feature - This release adds support for including rate based rules in a rule group.
18
+
19
+ 1.25.0 (2021-09-01)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.24.0 (2021-08-09)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.24.0
1
+ 1.28.0
@@ -683,6 +683,42 @@ module Aws::WAFV2
683
683
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
684
684
  # key: "LabelMatchKey", # required
685
685
  # },
686
+ # regex_match_statement: {
687
+ # regex_string: "RegexPatternString", # required
688
+ # field_to_match: { # required
689
+ # single_header: {
690
+ # name: "FieldToMatchData", # required
691
+ # },
692
+ # single_query_argument: {
693
+ # name: "FieldToMatchData", # required
694
+ # },
695
+ # all_query_arguments: {
696
+ # },
697
+ # uri_path: {
698
+ # },
699
+ # query_string: {
700
+ # },
701
+ # body: {
702
+ # },
703
+ # method: {
704
+ # },
705
+ # json_body: {
706
+ # match_pattern: { # required
707
+ # all: {
708
+ # },
709
+ # included_paths: ["JsonPointerPath"],
710
+ # },
711
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
712
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
713
+ # },
714
+ # },
715
+ # text_transformations: [ # required
716
+ # {
717
+ # priority: 1, # required
718
+ # type: "NONE", # required, accepts 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
719
+ # },
720
+ # ],
721
+ # },
686
722
  # },
687
723
  # action: {
688
724
  # block: {
@@ -1274,6 +1310,42 @@ module Aws::WAFV2
1274
1310
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1275
1311
  # key: "LabelMatchKey", # required
1276
1312
  # },
1313
+ # regex_match_statement: {
1314
+ # regex_string: "RegexPatternString", # required
1315
+ # field_to_match: { # required
1316
+ # single_header: {
1317
+ # name: "FieldToMatchData", # required
1318
+ # },
1319
+ # single_query_argument: {
1320
+ # name: "FieldToMatchData", # required
1321
+ # },
1322
+ # all_query_arguments: {
1323
+ # },
1324
+ # uri_path: {
1325
+ # },
1326
+ # query_string: {
1327
+ # },
1328
+ # body: {
1329
+ # },
1330
+ # method: {
1331
+ # },
1332
+ # json_body: {
1333
+ # match_pattern: { # required
1334
+ # all: {
1335
+ # },
1336
+ # included_paths: ["JsonPointerPath"],
1337
+ # },
1338
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1339
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1340
+ # },
1341
+ # },
1342
+ # text_transformations: [ # required
1343
+ # {
1344
+ # priority: 1, # required
1345
+ # type: "NONE", # required, accepts 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
1346
+ # },
1347
+ # ],
1348
+ # },
1277
1349
  # },
1278
1350
  # action: {
1279
1351
  # block: {
@@ -1731,6 +1803,42 @@ module Aws::WAFV2
1731
1803
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1732
1804
  # key: "LabelMatchKey", # required
1733
1805
  # },
1806
+ # regex_match_statement: {
1807
+ # regex_string: "RegexPatternString", # required
1808
+ # field_to_match: { # required
1809
+ # single_header: {
1810
+ # name: "FieldToMatchData", # required
1811
+ # },
1812
+ # single_query_argument: {
1813
+ # name: "FieldToMatchData", # required
1814
+ # },
1815
+ # all_query_arguments: {
1816
+ # },
1817
+ # uri_path: {
1818
+ # },
1819
+ # query_string: {
1820
+ # },
1821
+ # body: {
1822
+ # },
1823
+ # method: {
1824
+ # },
1825
+ # json_body: {
1826
+ # match_pattern: { # required
1827
+ # all: {
1828
+ # },
1829
+ # included_paths: ["JsonPointerPath"],
1830
+ # },
1831
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1832
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1833
+ # },
1834
+ # },
1835
+ # text_transformations: [ # required
1836
+ # {
1837
+ # priority: 1, # required
1838
+ # type: "NONE", # required, accepts 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
1839
+ # },
1840
+ # ],
1841
+ # },
1734
1842
  # },
1735
1843
  # action: {
1736
1844
  # block: {
@@ -2379,7 +2487,7 @@ module Aws::WAFV2
2379
2487
  # Retrieves the specified managed rule set.
2380
2488
  #
2381
2489
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
2382
- # are Amazon Web Services and Marketplace sellers.
2490
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
2383
2491
  #
2384
2492
  # Vendors, you can use the managed rule set APIs to provide controlled
2385
2493
  # rollout of your versioned managed rule group offerings for your
@@ -2485,10 +2593,24 @@ module Aws::WAFV2
2485
2593
  req.send_request(options)
2486
2594
  end
2487
2595
 
2488
- # Retrieves the keys that are currently blocked by a rate-based rule.
2489
- # The maximum number of managed keys that can be blocked for a single
2490
- # rate-based rule is 10,000. If more than 10,000 addresses exceed the
2491
- # rate limit, those with the highest rates are blocked.
2596
+ # Retrieves the keys that are currently blocked by a rate-based rule
2597
+ # instance. The maximum number of managed keys that can be blocked for a
2598
+ # single rate-based rule instance is 10,000. If more than 10,000
2599
+ # addresses exceed the rate limit, those with the highest rates are
2600
+ # blocked.
2601
+ #
2602
+ # For a rate-based rule that you've defined inside a rule group,
2603
+ # provide the name of the rule group reference statement in your
2604
+ # request, in addition to the rate-based rule name and the web ACL name.
2605
+ #
2606
+ # WAF monitors web requests and manages keys independently for each
2607
+ # unique combination of web ACL, optional rule group, and rate-based
2608
+ # rule. For example, if you define a rate-based rule inside a rule
2609
+ # group, and then use the rule group in a web ACL, WAF monitors web
2610
+ # requests and manages keys for that web ACL, rule group reference
2611
+ # statement, and rate-based rule instance. If you use the same rule
2612
+ # group in a second web ACL, WAF monitors web requests and manages keys
2613
+ # for this second usage completely independent of your first.
2492
2614
  #
2493
2615
  # @option params [required, String] :scope
2494
2616
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -2513,8 +2635,16 @@ module Aws::WAFV2
2513
2635
  # responses to create and list commands. You provide it to operations
2514
2636
  # like update and delete.
2515
2637
  #
2638
+ # @option params [String] :rule_group_rule_name
2639
+ # The name of the rule group reference statement in your web ACL. This
2640
+ # is required only when you have the rate-based rule nested inside a
2641
+ # rule group.
2642
+ #
2516
2643
  # @option params [required, String] :rule_name
2517
- # The name of the rate-based rule to get the keys for.
2644
+ # The name of the rate-based rule to get the keys for. If you have the
2645
+ # rule defined inside a rule group that you're using in your web ACL,
2646
+ # also provide the name of the rule group reference statement in the
2647
+ # request parameter `RuleGroupRuleName`.
2518
2648
  #
2519
2649
  # @return [Types::GetRateBasedStatementManagedKeysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2520
2650
  #
@@ -2527,6 +2657,7 @@ module Aws::WAFV2
2527
2657
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2528
2658
  # web_acl_name: "EntityName", # required
2529
2659
  # web_acl_id: "EntityId", # required
2660
+ # rule_group_rule_name: "EntityName",
2530
2661
  # rule_name: "EntityName", # required
2531
2662
  # })
2532
2663
  #
@@ -2736,6 +2867,16 @@ module Aws::WAFV2
2736
2867
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2737
2868
  # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2738
2869
  # resp.rule_group.rules[0].statement.label_match_statement.key #=> String
2870
+ # resp.rule_group.rules[0].statement.regex_match_statement.regex_string #=> String
2871
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
2872
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
2873
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2874
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2875
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2876
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2877
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations #=> Array
2878
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
2879
+ # 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"
2739
2880
  # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2740
2881
  # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2741
2882
  # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3015,6 +3156,16 @@ module Aws::WAFV2
3015
3156
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3016
3157
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3017
3158
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3159
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3160
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3161
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3162
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3163
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3164
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3165
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3166
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3167
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3168
+ # resp.web_acl.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"
3018
3169
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3019
3170
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3020
3171
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3120,6 +3271,16 @@ module Aws::WAFV2
3120
3271
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3121
3272
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3122
3273
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3274
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3275
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3276
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3277
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3278
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3279
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3280
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3281
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3282
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3283
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_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"
3123
3284
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3124
3285
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3125
3286
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3211,6 +3372,16 @@ module Aws::WAFV2
3211
3372
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3212
3373
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3213
3374
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3375
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3376
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3377
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3378
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3379
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3380
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3381
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3382
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3383
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3384
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_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"
3214
3385
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3215
3386
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3216
3387
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3347,6 +3518,16 @@ module Aws::WAFV2
3347
3518
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3348
3519
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3349
3520
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3521
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3522
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3523
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3524
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3525
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3526
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3527
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3528
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3529
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3530
+ # resp.web_acl.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"
3350
3531
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3351
3532
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3352
3533
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3452,6 +3633,16 @@ module Aws::WAFV2
3452
3633
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3453
3634
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3454
3635
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3636
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3637
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3638
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3639
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3640
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3641
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3642
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3643
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3644
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3645
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_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"
3455
3646
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3456
3647
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3457
3648
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3543,6 +3734,16 @@ module Aws::WAFV2
3543
3734
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3544
3735
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3545
3736
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3737
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3738
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3739
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3740
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3741
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3742
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3743
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3744
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3745
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3746
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_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"
3546
3747
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3547
3748
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3548
3749
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3638,8 +3839,8 @@ module Aws::WAFV2
3638
3839
 
3639
3840
  # Retrieves an array of managed rule groups that are available for you
3640
3841
  # to use. This list includes all Amazon Web Services Managed Rules rule
3641
- # groups and all of the Marketplace managed rule groups that you're
3642
- # subscribed to.
3842
+ # groups and all of the Amazon Web Services Marketplace managed rule
3843
+ # groups that you're subscribed to.
3643
3844
  #
3644
3845
  # @option params [required, String] :scope
3645
3846
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -3837,7 +4038,7 @@ module Aws::WAFV2
3837
4038
  # Retrieves the managed rule sets that you own.
3838
4039
  #
3839
4040
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
3840
- # are Amazon Web Services and Marketplace sellers.
4041
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
3841
4042
  #
3842
4043
  # Vendors, you can use the managed rule set APIs to provide controlled
3843
4044
  # rollout of your versioned managed rule group offerings for your
@@ -4329,7 +4530,7 @@ module Aws::WAFV2
4329
4530
  # with versioning.
4330
4531
  #
4331
4532
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4332
- # are Amazon Web Services and Marketplace sellers.
4533
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4333
4534
  #
4334
4535
  # Vendors, you can use the managed rule set APIs to provide controlled
4335
4536
  # rollout of your versioned managed rule group offerings for your
@@ -4672,7 +4873,7 @@ module Aws::WAFV2
4672
4873
  # ListAvailableManagedRuleGroupVersions for the managed rule group.
4673
4874
  #
4674
4875
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4675
- # are Amazon Web Services and Marketplace sellers.
4876
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4676
4877
  #
4677
4878
  # Vendors, you can use the managed rule set APIs to provide controlled
4678
4879
  # rollout of your versioned managed rule group offerings for your
@@ -5189,6 +5390,42 @@ module Aws::WAFV2
5189
5390
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5190
5391
  # key: "LabelMatchKey", # required
5191
5392
  # },
5393
+ # regex_match_statement: {
5394
+ # regex_string: "RegexPatternString", # required
5395
+ # field_to_match: { # required
5396
+ # single_header: {
5397
+ # name: "FieldToMatchData", # required
5398
+ # },
5399
+ # single_query_argument: {
5400
+ # name: "FieldToMatchData", # required
5401
+ # },
5402
+ # all_query_arguments: {
5403
+ # },
5404
+ # uri_path: {
5405
+ # },
5406
+ # query_string: {
5407
+ # },
5408
+ # body: {
5409
+ # },
5410
+ # method: {
5411
+ # },
5412
+ # json_body: {
5413
+ # match_pattern: { # required
5414
+ # all: {
5415
+ # },
5416
+ # included_paths: ["JsonPointerPath"],
5417
+ # },
5418
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5419
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5420
+ # },
5421
+ # },
5422
+ # text_transformations: [ # required
5423
+ # {
5424
+ # priority: 1, # required
5425
+ # type: "NONE", # required, accepts 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
5426
+ # },
5427
+ # ],
5428
+ # },
5192
5429
  # },
5193
5430
  # action: {
5194
5431
  # block: {
@@ -5658,6 +5895,42 @@ module Aws::WAFV2
5658
5895
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5659
5896
  # key: "LabelMatchKey", # required
5660
5897
  # },
5898
+ # regex_match_statement: {
5899
+ # regex_string: "RegexPatternString", # required
5900
+ # field_to_match: { # required
5901
+ # single_header: {
5902
+ # name: "FieldToMatchData", # required
5903
+ # },
5904
+ # single_query_argument: {
5905
+ # name: "FieldToMatchData", # required
5906
+ # },
5907
+ # all_query_arguments: {
5908
+ # },
5909
+ # uri_path: {
5910
+ # },
5911
+ # query_string: {
5912
+ # },
5913
+ # body: {
5914
+ # },
5915
+ # method: {
5916
+ # },
5917
+ # json_body: {
5918
+ # match_pattern: { # required
5919
+ # all: {
5920
+ # },
5921
+ # included_paths: ["JsonPointerPath"],
5922
+ # },
5923
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5924
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5925
+ # },
5926
+ # },
5927
+ # text_transformations: [ # required
5928
+ # {
5929
+ # priority: 1, # required
5930
+ # type: "NONE", # required, accepts 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
5931
+ # },
5932
+ # ],
5933
+ # },
5661
5934
  # },
5662
5935
  # action: {
5663
5936
  # block: {
@@ -5759,7 +6032,7 @@ module Aws::WAFV2
5759
6032
  params: params,
5760
6033
  config: config)
5761
6034
  context[:gem_name] = 'aws-sdk-wafv2'
5762
- context[:gem_version] = '1.24.0'
6035
+ context[:gem_version] = '1.28.0'
5763
6036
  Seahorse::Client::Request.new(handlers, context)
5764
6037
  end
5765
6038
 
@@ -206,6 +206,7 @@ module Aws::WAFV2
206
206
  RateLimit = Shapes::IntegerShape.new(name: 'RateLimit')
207
207
  RedactedFields = Shapes::ListShape.new(name: 'RedactedFields')
208
208
  Regex = Shapes::StructureShape.new(name: 'Regex')
209
+ RegexMatchStatement = Shapes::StructureShape.new(name: 'RegexMatchStatement')
209
210
  RegexPatternSet = Shapes::StructureShape.new(name: 'RegexPatternSet')
210
211
  RegexPatternSetReferenceStatement = Shapes::StructureShape.new(name: 'RegexPatternSetReferenceStatement')
211
212
  RegexPatternSetSummaries = Shapes::ListShape.new(name: 'RegexPatternSetSummaries')
@@ -560,6 +561,7 @@ module Aws::WAFV2
560
561
  GetRateBasedStatementManagedKeysRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
561
562
  GetRateBasedStatementManagedKeysRequest.add_member(:web_acl_name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "WebACLName"))
562
563
  GetRateBasedStatementManagedKeysRequest.add_member(:web_acl_id, Shapes::ShapeRef.new(shape: EntityId, required: true, location_name: "WebACLId"))
564
+ GetRateBasedStatementManagedKeysRequest.add_member(:rule_group_rule_name, Shapes::ShapeRef.new(shape: EntityName, location_name: "RuleGroupRuleName"))
563
565
  GetRateBasedStatementManagedKeysRequest.add_member(:rule_name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "RuleName"))
564
566
  GetRateBasedStatementManagedKeysRequest.struct_class = Types::GetRateBasedStatementManagedKeysRequest
565
567
 
@@ -892,6 +894,11 @@ module Aws::WAFV2
892
894
  Regex.add_member(:regex_string, Shapes::ShapeRef.new(shape: RegexPatternString, location_name: "RegexString"))
893
895
  Regex.struct_class = Types::Regex
894
896
 
897
+ RegexMatchStatement.add_member(:regex_string, Shapes::ShapeRef.new(shape: RegexPatternString, required: true, location_name: "RegexString"))
898
+ RegexMatchStatement.add_member(:field_to_match, Shapes::ShapeRef.new(shape: FieldToMatch, required: true, location_name: "FieldToMatch"))
899
+ RegexMatchStatement.add_member(:text_transformations, Shapes::ShapeRef.new(shape: TextTransformations, required: true, location_name: "TextTransformations"))
900
+ RegexMatchStatement.struct_class = Types::RegexMatchStatement
901
+
895
902
  RegexPatternSet.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, location_name: "Name"))
896
903
  RegexPatternSet.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, location_name: "Id"))
897
904
  RegexPatternSet.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ARN"))
@@ -1007,6 +1014,7 @@ module Aws::WAFV2
1007
1014
  Statement.add_member(:not_statement, Shapes::ShapeRef.new(shape: NotStatement, location_name: "NotStatement"))
1008
1015
  Statement.add_member(:managed_rule_group_statement, Shapes::ShapeRef.new(shape: ManagedRuleGroupStatement, location_name: "ManagedRuleGroupStatement"))
1009
1016
  Statement.add_member(:label_match_statement, Shapes::ShapeRef.new(shape: LabelMatchStatement, location_name: "LabelMatchStatement"))
1017
+ Statement.add_member(:regex_match_statement, Shapes::ShapeRef.new(shape: RegexMatchStatement, location_name: "RegexMatchStatement"))
1010
1018
  Statement.struct_class = Types::Statement
1011
1019
 
1012
1020
  Statements.member = Shapes::ShapeRef.new(shape: Statement)