aws-sdk-wafv2 1.25.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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)