aws-sdk-wafv2 1.25.0 → 1.29.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: cb49a706a00149bebb04513c27c0a4b06a07b289ec12b61f61a7baa56e42497f
4
- data.tar.gz: 8df72980626b54247131d670e10a157768ce39eec58a59261fd1800805ad9141
3
+ metadata.gz: 80f32a5d5b5bb24d6105d309f463402492ccc75367e724647e162f03e40c05d8
4
+ data.tar.gz: e1f486eeb68663f87370d6d93e9f312d4cee9c2ed98f5004c63cdb7e59a0e97f
5
5
  SHA512:
6
- metadata.gz: a7311e59e04ec522aab351d96f484a216fe869b05de8aa8ee79a58229ea8da27445e47afe7d05cdbf0ac281e8aa08873b210b846ca0992fedbc065542b381f3d
7
- data.tar.gz: 25e78ba0c2e7c83423b6331c29d8c680399409916fecc3f71016dbb7d336a266b47bf95a8a4d20d962d4adfbf2ce236a30ae446c6252353de7d30c1a56134b85
6
+ metadata.gz: 6a78933de6304c54d06c1eba810136755f0a603f5ff95f9128881fcedd9795b4fa481754055993f9627471633a1e24bc32dbed796b5bdefde3ce546eb44c0a8d
7
+ data.tar.gz: 7e1310c6d2d7968902fcb4522125c3ba94e8c5c30eb7d148393d08b46ff0fc60a2af975b4864ef59927c6bae032202821851fcae617aeda8b3089b25794d4b8b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.29.0 (2021-11-04)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.28.0 (2021-10-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.27.0 (2021-09-22)
15
+ ------------------
16
+
17
+ * Feature - Added the regex match rule statement, for matching web requests against a single regular expression.
18
+
19
+ 1.26.0 (2021-09-14)
20
+ ------------------
21
+
22
+ * Feature - This release adds support for including rate based rules in a rule group.
23
+
4
24
  1.25.0 (2021-09-01)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.25.0
1
+ 1.29.0
@@ -285,6 +285,15 @@ module Aws::WAFV2
285
285
  # ** Please note ** When response stubbing is enabled, no HTTP
286
286
  # requests are made, and retries are disabled.
287
287
  #
288
+ # @option options [Boolean] :use_dualstack_endpoint
289
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
290
+ # will be used if available.
291
+ #
292
+ # @option options [Boolean] :use_fips_endpoint
293
+ # When set to `true`, fips compatible endpoints will be used if available.
294
+ # When a `fips` region is used, the region is normalized and this config
295
+ # is set to `true`.
296
+ #
288
297
  # @option options [Boolean] :validate_params (true)
289
298
  # When `true`, request parameters are validated before
290
299
  # sending the request.
@@ -683,6 +692,42 @@ module Aws::WAFV2
683
692
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
684
693
  # key: "LabelMatchKey", # required
685
694
  # },
695
+ # regex_match_statement: {
696
+ # regex_string: "RegexPatternString", # required
697
+ # field_to_match: { # required
698
+ # single_header: {
699
+ # name: "FieldToMatchData", # required
700
+ # },
701
+ # single_query_argument: {
702
+ # name: "FieldToMatchData", # required
703
+ # },
704
+ # all_query_arguments: {
705
+ # },
706
+ # uri_path: {
707
+ # },
708
+ # query_string: {
709
+ # },
710
+ # body: {
711
+ # },
712
+ # method: {
713
+ # },
714
+ # json_body: {
715
+ # match_pattern: { # required
716
+ # all: {
717
+ # },
718
+ # included_paths: ["JsonPointerPath"],
719
+ # },
720
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
721
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
722
+ # },
723
+ # },
724
+ # text_transformations: [ # required
725
+ # {
726
+ # priority: 1, # required
727
+ # 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
728
+ # },
729
+ # ],
730
+ # },
686
731
  # },
687
732
  # action: {
688
733
  # block: {
@@ -1274,6 +1319,42 @@ module Aws::WAFV2
1274
1319
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1275
1320
  # key: "LabelMatchKey", # required
1276
1321
  # },
1322
+ # regex_match_statement: {
1323
+ # regex_string: "RegexPatternString", # required
1324
+ # field_to_match: { # required
1325
+ # single_header: {
1326
+ # name: "FieldToMatchData", # required
1327
+ # },
1328
+ # single_query_argument: {
1329
+ # name: "FieldToMatchData", # required
1330
+ # },
1331
+ # all_query_arguments: {
1332
+ # },
1333
+ # uri_path: {
1334
+ # },
1335
+ # query_string: {
1336
+ # },
1337
+ # body: {
1338
+ # },
1339
+ # method: {
1340
+ # },
1341
+ # json_body: {
1342
+ # match_pattern: { # required
1343
+ # all: {
1344
+ # },
1345
+ # included_paths: ["JsonPointerPath"],
1346
+ # },
1347
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1348
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1349
+ # },
1350
+ # },
1351
+ # text_transformations: [ # required
1352
+ # {
1353
+ # priority: 1, # required
1354
+ # 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
1355
+ # },
1356
+ # ],
1357
+ # },
1277
1358
  # },
1278
1359
  # action: {
1279
1360
  # block: {
@@ -1731,6 +1812,42 @@ module Aws::WAFV2
1731
1812
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1732
1813
  # key: "LabelMatchKey", # required
1733
1814
  # },
1815
+ # regex_match_statement: {
1816
+ # regex_string: "RegexPatternString", # required
1817
+ # field_to_match: { # required
1818
+ # single_header: {
1819
+ # name: "FieldToMatchData", # required
1820
+ # },
1821
+ # single_query_argument: {
1822
+ # name: "FieldToMatchData", # required
1823
+ # },
1824
+ # all_query_arguments: {
1825
+ # },
1826
+ # uri_path: {
1827
+ # },
1828
+ # query_string: {
1829
+ # },
1830
+ # body: {
1831
+ # },
1832
+ # method: {
1833
+ # },
1834
+ # json_body: {
1835
+ # match_pattern: { # required
1836
+ # all: {
1837
+ # },
1838
+ # included_paths: ["JsonPointerPath"],
1839
+ # },
1840
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1841
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1842
+ # },
1843
+ # },
1844
+ # text_transformations: [ # required
1845
+ # {
1846
+ # priority: 1, # required
1847
+ # 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
1848
+ # },
1849
+ # ],
1850
+ # },
1734
1851
  # },
1735
1852
  # action: {
1736
1853
  # block: {
@@ -2379,7 +2496,7 @@ module Aws::WAFV2
2379
2496
  # Retrieves the specified managed rule set.
2380
2497
  #
2381
2498
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
2382
- # are Amazon Web Services and Marketplace sellers.
2499
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
2383
2500
  #
2384
2501
  # Vendors, you can use the managed rule set APIs to provide controlled
2385
2502
  # rollout of your versioned managed rule group offerings for your
@@ -2485,10 +2602,24 @@ module Aws::WAFV2
2485
2602
  req.send_request(options)
2486
2603
  end
2487
2604
 
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.
2605
+ # Retrieves the keys that are currently blocked by a rate-based rule
2606
+ # instance. The maximum number of managed keys that can be blocked for a
2607
+ # single rate-based rule instance is 10,000. If more than 10,000
2608
+ # addresses exceed the rate limit, those with the highest rates are
2609
+ # blocked.
2610
+ #
2611
+ # For a rate-based rule that you've defined inside a rule group,
2612
+ # provide the name of the rule group reference statement in your
2613
+ # request, in addition to the rate-based rule name and the web ACL name.
2614
+ #
2615
+ # WAF monitors web requests and manages keys independently for each
2616
+ # unique combination of web ACL, optional rule group, and rate-based
2617
+ # rule. For example, if you define a rate-based rule inside a rule
2618
+ # group, and then use the rule group in a web ACL, WAF monitors web
2619
+ # requests and manages keys for that web ACL, rule group reference
2620
+ # statement, and rate-based rule instance. If you use the same rule
2621
+ # group in a second web ACL, WAF monitors web requests and manages keys
2622
+ # for this second usage completely independent of your first.
2492
2623
  #
2493
2624
  # @option params [required, String] :scope
2494
2625
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -2513,8 +2644,16 @@ module Aws::WAFV2
2513
2644
  # responses to create and list commands. You provide it to operations
2514
2645
  # like update and delete.
2515
2646
  #
2647
+ # @option params [String] :rule_group_rule_name
2648
+ # The name of the rule group reference statement in your web ACL. This
2649
+ # is required only when you have the rate-based rule nested inside a
2650
+ # rule group.
2651
+ #
2516
2652
  # @option params [required, String] :rule_name
2517
- # The name of the rate-based rule to get the keys for.
2653
+ # The name of the rate-based rule to get the keys for. If you have the
2654
+ # rule defined inside a rule group that you're using in your web ACL,
2655
+ # also provide the name of the rule group reference statement in the
2656
+ # request parameter `RuleGroupRuleName`.
2518
2657
  #
2519
2658
  # @return [Types::GetRateBasedStatementManagedKeysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2520
2659
  #
@@ -2527,6 +2666,7 @@ module Aws::WAFV2
2527
2666
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2528
2667
  # web_acl_name: "EntityName", # required
2529
2668
  # web_acl_id: "EntityId", # required
2669
+ # rule_group_rule_name: "EntityName",
2530
2670
  # rule_name: "EntityName", # required
2531
2671
  # })
2532
2672
  #
@@ -2736,6 +2876,16 @@ module Aws::WAFV2
2736
2876
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2737
2877
  # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2738
2878
  # resp.rule_group.rules[0].statement.label_match_statement.key #=> String
2879
+ # resp.rule_group.rules[0].statement.regex_match_statement.regex_string #=> String
2880
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
2881
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
2882
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2883
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2884
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2885
+ # 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"
2886
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations #=> Array
2887
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
2888
+ # 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
2889
  # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2740
2890
  # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2741
2891
  # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3015,6 +3165,16 @@ module Aws::WAFV2
3015
3165
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3016
3166
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3017
3167
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3168
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3169
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3170
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3171
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3172
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3173
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3174
+ # 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"
3175
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3176
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3177
+ # 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
3178
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3019
3179
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3020
3180
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3120,6 +3280,16 @@ module Aws::WAFV2
3120
3280
  # 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
3281
  # 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
3282
  # 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
3283
+ # 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
3284
+ # 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
3285
+ # 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
3286
+ # 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
3287
+ # 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
3288
+ # 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"
3289
+ # 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"
3290
+ # 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
3291
+ # 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
3292
+ # 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
3293
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3124
3294
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3125
3295
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3211,6 +3381,16 @@ module Aws::WAFV2
3211
3381
  # 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
3382
  # 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
3383
  # 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
3384
+ # 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
3385
+ # 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
3386
+ # 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
3387
+ # 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
3388
+ # 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
3389
+ # 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"
3390
+ # 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"
3391
+ # 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
3392
+ # 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
3393
+ # 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
3394
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3215
3395
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3216
3396
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3347,6 +3527,16 @@ module Aws::WAFV2
3347
3527
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3348
3528
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3349
3529
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3530
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3531
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3532
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3533
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3534
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3535
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3536
+ # 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"
3537
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3538
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3539
+ # 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
3540
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3351
3541
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3352
3542
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3452,6 +3642,16 @@ module Aws::WAFV2
3452
3642
  # 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
3643
  # 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
3644
  # 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
3645
+ # 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
3646
+ # 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
3647
+ # 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
3648
+ # 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
3649
+ # 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
3650
+ # 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"
3651
+ # 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"
3652
+ # 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
3653
+ # 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
3654
+ # 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
3655
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3456
3656
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3457
3657
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3543,6 +3743,16 @@ module Aws::WAFV2
3543
3743
  # 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
3744
  # 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
3745
  # 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
3746
+ # 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
3747
+ # 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
3748
+ # 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
3749
+ # 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
3750
+ # 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
3751
+ # 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"
3752
+ # 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"
3753
+ # 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
3754
+ # 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
3755
+ # 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
3756
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3547
3757
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3548
3758
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3638,8 +3848,8 @@ module Aws::WAFV2
3638
3848
 
3639
3849
  # Retrieves an array of managed rule groups that are available for you
3640
3850
  # 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.
3851
+ # groups and all of the Amazon Web Services Marketplace managed rule
3852
+ # groups that you're subscribed to.
3643
3853
  #
3644
3854
  # @option params [required, String] :scope
3645
3855
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -3837,7 +4047,7 @@ module Aws::WAFV2
3837
4047
  # Retrieves the managed rule sets that you own.
3838
4048
  #
3839
4049
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
3840
- # are Amazon Web Services and Marketplace sellers.
4050
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
3841
4051
  #
3842
4052
  # Vendors, you can use the managed rule set APIs to provide controlled
3843
4053
  # rollout of your versioned managed rule group offerings for your
@@ -4329,7 +4539,7 @@ module Aws::WAFV2
4329
4539
  # with versioning.
4330
4540
  #
4331
4541
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4332
- # are Amazon Web Services and Marketplace sellers.
4542
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4333
4543
  #
4334
4544
  # Vendors, you can use the managed rule set APIs to provide controlled
4335
4545
  # rollout of your versioned managed rule group offerings for your
@@ -4672,7 +4882,7 @@ module Aws::WAFV2
4672
4882
  # ListAvailableManagedRuleGroupVersions for the managed rule group.
4673
4883
  #
4674
4884
  # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4675
- # are Amazon Web Services and Marketplace sellers.
4885
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4676
4886
  #
4677
4887
  # Vendors, you can use the managed rule set APIs to provide controlled
4678
4888
  # rollout of your versioned managed rule group offerings for your
@@ -5189,6 +5399,42 @@ module Aws::WAFV2
5189
5399
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5190
5400
  # key: "LabelMatchKey", # required
5191
5401
  # },
5402
+ # regex_match_statement: {
5403
+ # regex_string: "RegexPatternString", # required
5404
+ # field_to_match: { # required
5405
+ # single_header: {
5406
+ # name: "FieldToMatchData", # required
5407
+ # },
5408
+ # single_query_argument: {
5409
+ # name: "FieldToMatchData", # required
5410
+ # },
5411
+ # all_query_arguments: {
5412
+ # },
5413
+ # uri_path: {
5414
+ # },
5415
+ # query_string: {
5416
+ # },
5417
+ # body: {
5418
+ # },
5419
+ # method: {
5420
+ # },
5421
+ # json_body: {
5422
+ # match_pattern: { # required
5423
+ # all: {
5424
+ # },
5425
+ # included_paths: ["JsonPointerPath"],
5426
+ # },
5427
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5428
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5429
+ # },
5430
+ # },
5431
+ # text_transformations: [ # required
5432
+ # {
5433
+ # priority: 1, # required
5434
+ # 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
5435
+ # },
5436
+ # ],
5437
+ # },
5192
5438
  # },
5193
5439
  # action: {
5194
5440
  # block: {
@@ -5658,6 +5904,42 @@ module Aws::WAFV2
5658
5904
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5659
5905
  # key: "LabelMatchKey", # required
5660
5906
  # },
5907
+ # regex_match_statement: {
5908
+ # regex_string: "RegexPatternString", # required
5909
+ # field_to_match: { # required
5910
+ # single_header: {
5911
+ # name: "FieldToMatchData", # required
5912
+ # },
5913
+ # single_query_argument: {
5914
+ # name: "FieldToMatchData", # required
5915
+ # },
5916
+ # all_query_arguments: {
5917
+ # },
5918
+ # uri_path: {
5919
+ # },
5920
+ # query_string: {
5921
+ # },
5922
+ # body: {
5923
+ # },
5924
+ # method: {
5925
+ # },
5926
+ # json_body: {
5927
+ # match_pattern: { # required
5928
+ # all: {
5929
+ # },
5930
+ # included_paths: ["JsonPointerPath"],
5931
+ # },
5932
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5933
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5934
+ # },
5935
+ # },
5936
+ # text_transformations: [ # required
5937
+ # {
5938
+ # priority: 1, # required
5939
+ # 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
5940
+ # },
5941
+ # ],
5942
+ # },
5661
5943
  # },
5662
5944
  # action: {
5663
5945
  # block: {
@@ -5759,7 +6041,7 @@ module Aws::WAFV2
5759
6041
  params: params,
5760
6042
  config: config)
5761
6043
  context[:gem_name] = 'aws-sdk-wafv2'
5762
- context[:gem_version] = '1.25.0'
6044
+ context[:gem_version] = '1.29.0'
5763
6045
  Seahorse::Client::Request.new(handlers, context)
5764
6046
  end
5765
6047
 
@@ -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)