aws-sdk-wafv2 1.23.0 → 1.27.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.
@@ -669,6 +669,7 @@ module Aws::WAFV2
669
669
  # managed_rule_group_statement: {
670
670
  # vendor_name: "VendorName", # required
671
671
  # name: "EntityName", # required
672
+ # version: "VersionKeyString",
672
673
  # excluded_rules: [
673
674
  # {
674
675
  # name: "EntityName", # required
@@ -682,6 +683,42 @@ module Aws::WAFV2
682
683
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
683
684
  # key: "LabelMatchKey", # required
684
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
+ # },
685
722
  # },
686
723
  # action: {
687
724
  # block: {
@@ -786,7 +823,7 @@ module Aws::WAFV2
786
823
  # A description of the IP set that helps with identification.
787
824
  #
788
825
  # @option params [required, String] :ip_address_version
789
- # Specify IPV4 or IPV6.
826
+ # The version of the IP addresses, either `IPV4` or `IPV6`.
790
827
  #
791
828
  # @option params [required, Array<String>] :addresses
792
829
  # Contains an array of strings that specify one or more IP addresses or
@@ -1259,6 +1296,7 @@ module Aws::WAFV2
1259
1296
  # managed_rule_group_statement: {
1260
1297
  # vendor_name: "VendorName", # required
1261
1298
  # name: "EntityName", # required
1299
+ # version: "VersionKeyString",
1262
1300
  # excluded_rules: [
1263
1301
  # {
1264
1302
  # name: "EntityName", # required
@@ -1272,6 +1310,42 @@ module Aws::WAFV2
1272
1310
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1273
1311
  # key: "LabelMatchKey", # required
1274
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
+ # },
1275
1349
  # },
1276
1350
  # action: {
1277
1351
  # block: {
@@ -1715,6 +1789,7 @@ module Aws::WAFV2
1715
1789
  # managed_rule_group_statement: {
1716
1790
  # vendor_name: "VendorName", # required
1717
1791
  # name: "EntityName", # required
1792
+ # version: "VersionKeyString",
1718
1793
  # excluded_rules: [
1719
1794
  # {
1720
1795
  # name: "EntityName", # required
@@ -1728,6 +1803,42 @@ module Aws::WAFV2
1728
1803
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1729
1804
  # key: "LabelMatchKey", # required
1730
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
+ # },
1731
1842
  # },
1732
1843
  # action: {
1733
1844
  # block: {
@@ -1835,14 +1946,14 @@ module Aws::WAFV2
1835
1946
  # The Amazon Resource Name (ARN) of the web ACL.
1836
1947
  #
1837
1948
  # @option params [required, String] :web_acl_lock_token
1838
- # A token used for optimistic locking. WAF returns a token to your get
1839
- # and list requests, to mark the state of the entity at the time of the
1840
- # request. To make changes to the entity associated with the token, you
1841
- # provide the token to operations like update and delete. WAF uses the
1842
- # token to ensure that no changes have been made to the entity since you
1843
- # last retrieved it. If a change has been made, the update fails with a
1844
- # `WAFOptimisticLockException`. If this happens, perform another get,
1845
- # and use the new token returned by that operation.
1949
+ # A token used for optimistic locking. WAF returns a token to your `get`
1950
+ # and `list` requests, to mark the state of the entity at the time of
1951
+ # the request. To make changes to the entity associated with the token,
1952
+ # you provide the token to operations like `update` and `delete`. WAF
1953
+ # uses the token to ensure that no changes have been made to the entity
1954
+ # since you last retrieved it. If a change has been made, the update
1955
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
1956
+ # another `get`, and use the new token returned by that operation.
1846
1957
  #
1847
1958
  # @return [Types::DeleteFirewallManagerRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1848
1959
  #
@@ -1894,14 +2005,14 @@ module Aws::WAFV2
1894
2005
  # and delete.
1895
2006
  #
1896
2007
  # @option params [required, String] :lock_token
1897
- # A token used for optimistic locking. WAF returns a token to your get
1898
- # and list requests, to mark the state of the entity at the time of the
1899
- # request. To make changes to the entity associated with the token, you
1900
- # provide the token to operations like update and delete. WAF uses the
1901
- # token to ensure that no changes have been made to the entity since you
1902
- # last retrieved it. If a change has been made, the update fails with a
1903
- # `WAFOptimisticLockException`. If this happens, perform another get,
1904
- # and use the new token returned by that operation.
2008
+ # A token used for optimistic locking. WAF returns a token to your `get`
2009
+ # and `list` requests, to mark the state of the entity at the time of
2010
+ # the request. To make changes to the entity associated with the token,
2011
+ # you provide the token to operations like `update` and `delete`. WAF
2012
+ # uses the token to ensure that no changes have been made to the entity
2013
+ # since you last retrieved it. If a change has been made, the update
2014
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
2015
+ # another `get`, and use the new token returned by that operation.
1905
2016
  #
1906
2017
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1907
2018
  #
@@ -1999,14 +2110,14 @@ module Aws::WAFV2
1999
2110
  # and delete.
2000
2111
  #
2001
2112
  # @option params [required, String] :lock_token
2002
- # A token used for optimistic locking. WAF returns a token to your get
2003
- # and list requests, to mark the state of the entity at the time of the
2004
- # request. To make changes to the entity associated with the token, you
2005
- # provide the token to operations like update and delete. WAF uses the
2006
- # token to ensure that no changes have been made to the entity since you
2007
- # last retrieved it. If a change has been made, the update fails with a
2008
- # `WAFOptimisticLockException`. If this happens, perform another get,
2009
- # and use the new token returned by that operation.
2113
+ # A token used for optimistic locking. WAF returns a token to your `get`
2114
+ # and `list` requests, to mark the state of the entity at the time of
2115
+ # the request. To make changes to the entity associated with the token,
2116
+ # you provide the token to operations like `update` and `delete`. WAF
2117
+ # uses the token to ensure that no changes have been made to the entity
2118
+ # since you last retrieved it. If a change has been made, the update
2119
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
2120
+ # another `get`, and use the new token returned by that operation.
2010
2121
  #
2011
2122
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2012
2123
  #
@@ -2054,14 +2165,14 @@ module Aws::WAFV2
2054
2165
  # like update and delete.
2055
2166
  #
2056
2167
  # @option params [required, String] :lock_token
2057
- # A token used for optimistic locking. WAF returns a token to your get
2058
- # and list requests, to mark the state of the entity at the time of the
2059
- # request. To make changes to the entity associated with the token, you
2060
- # provide the token to operations like update and delete. WAF uses the
2061
- # token to ensure that no changes have been made to the entity since you
2062
- # last retrieved it. If a change has been made, the update fails with a
2063
- # `WAFOptimisticLockException`. If this happens, perform another get,
2064
- # and use the new token returned by that operation.
2168
+ # A token used for optimistic locking. WAF returns a token to your `get`
2169
+ # and `list` requests, to mark the state of the entity at the time of
2170
+ # the request. To make changes to the entity associated with the token,
2171
+ # you provide the token to operations like `update` and `delete`. WAF
2172
+ # uses the token to ensure that no changes have been made to the entity
2173
+ # since you last retrieved it. If a change has been made, the update
2174
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
2175
+ # another `get`, and use the new token returned by that operation.
2065
2176
  #
2066
2177
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2067
2178
  #
@@ -2112,14 +2223,14 @@ module Aws::WAFV2
2112
2223
  # like update and delete.
2113
2224
  #
2114
2225
  # @option params [required, String] :lock_token
2115
- # A token used for optimistic locking. WAF returns a token to your get
2116
- # and list requests, to mark the state of the entity at the time of the
2117
- # request. To make changes to the entity associated with the token, you
2118
- # provide the token to operations like update and delete. WAF uses the
2119
- # token to ensure that no changes have been made to the entity since you
2120
- # last retrieved it. If a change has been made, the update fails with a
2121
- # `WAFOptimisticLockException`. If this happens, perform another get,
2122
- # and use the new token returned by that operation.
2226
+ # A token used for optimistic locking. WAF returns a token to your `get`
2227
+ # and `list` requests, to mark the state of the entity at the time of
2228
+ # the request. To make changes to the entity associated with the token,
2229
+ # you provide the token to operations like `update` and `delete`. WAF
2230
+ # uses the token to ensure that no changes have been made to the entity
2231
+ # since you last retrieved it. If a change has been made, the update
2232
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
2233
+ # another `get`, and use the new token returned by that operation.
2123
2234
  #
2124
2235
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2125
2236
  #
@@ -2166,8 +2277,15 @@ module Aws::WAFV2
2166
2277
  #
2167
2278
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2168
2279
  #
2280
+ # @option params [String] :version_name
2281
+ # The version of the rule group. You can only use a version that is not
2282
+ # scheduled for expiration. If you don't provide this, WAF uses the
2283
+ # vendor's default version.
2284
+ #
2169
2285
  # @return [Types::DescribeManagedRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2170
2286
  #
2287
+ # * {Types::DescribeManagedRuleGroupResponse#version_name #version_name} => String
2288
+ # * {Types::DescribeManagedRuleGroupResponse#sns_topic_arn #sns_topic_arn} => String
2171
2289
  # * {Types::DescribeManagedRuleGroupResponse#capacity #capacity} => Integer
2172
2290
  # * {Types::DescribeManagedRuleGroupResponse#rules #rules} => Array&lt;Types::RuleSummary&gt;
2173
2291
  # * {Types::DescribeManagedRuleGroupResponse#label_namespace #label_namespace} => String
@@ -2180,10 +2298,13 @@ module Aws::WAFV2
2180
2298
  # vendor_name: "VendorName", # required
2181
2299
  # name: "EntityName", # required
2182
2300
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2301
+ # version_name: "VersionKeyString",
2183
2302
  # })
2184
2303
  #
2185
2304
  # @example Response structure
2186
2305
  #
2306
+ # resp.version_name #=> String
2307
+ # resp.sns_topic_arn #=> String
2187
2308
  # resp.capacity #=> Integer
2188
2309
  # resp.rules #=> Array
2189
2310
  # resp.rules[0].name #=> String
@@ -2363,6 +2484,84 @@ module Aws::WAFV2
2363
2484
  req.send_request(options)
2364
2485
  end
2365
2486
 
2487
+ # Retrieves the specified managed rule set.
2488
+ #
2489
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
2490
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
2491
+ #
2492
+ # Vendors, you can use the managed rule set APIs to provide controlled
2493
+ # rollout of your versioned managed rule group offerings for your
2494
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
2495
+ # `PutManagedRuleSetVersions`, and
2496
+ # `UpdateManagedRuleSetVersionExpiryDate`.
2497
+ #
2498
+ # </note>
2499
+ #
2500
+ # @option params [required, String] :name
2501
+ # The name of the managed rule set. You use this, along with the rule
2502
+ # set ID, to identify the rule set.
2503
+ #
2504
+ # This name is assigned to the corresponding managed rule group, which
2505
+ # your customers can access and use.
2506
+ #
2507
+ # @option params [required, String] :scope
2508
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2509
+ # a regional application. A regional application can be an Application
2510
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2511
+ # GraphQL API.
2512
+ #
2513
+ # To work with CloudFront, you must also specify the Region US East (N.
2514
+ # Virginia) as follows:
2515
+ #
2516
+ # * CLI - Specify the Region when you use the CloudFront scope:
2517
+ # `--scope=CLOUDFRONT --region=us-east-1`.
2518
+ #
2519
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2520
+ #
2521
+ # @option params [required, String] :id
2522
+ # A unique identifier for the managed rule set. The ID is returned in
2523
+ # the responses to commands like `list`. You provide it to operations
2524
+ # like `get` and `update`.
2525
+ #
2526
+ # @return [Types::GetManagedRuleSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2527
+ #
2528
+ # * {Types::GetManagedRuleSetResponse#managed_rule_set #managed_rule_set} => Types::ManagedRuleSet
2529
+ # * {Types::GetManagedRuleSetResponse#lock_token #lock_token} => String
2530
+ #
2531
+ # @example Request syntax with placeholder values
2532
+ #
2533
+ # resp = client.get_managed_rule_set({
2534
+ # name: "EntityName", # required
2535
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2536
+ # id: "EntityId", # required
2537
+ # })
2538
+ #
2539
+ # @example Response structure
2540
+ #
2541
+ # resp.managed_rule_set.name #=> String
2542
+ # resp.managed_rule_set.id #=> String
2543
+ # resp.managed_rule_set.arn #=> String
2544
+ # resp.managed_rule_set.description #=> String
2545
+ # resp.managed_rule_set.published_versions #=> Hash
2546
+ # resp.managed_rule_set.published_versions["VersionKeyString"].associated_rule_group_arn #=> String
2547
+ # resp.managed_rule_set.published_versions["VersionKeyString"].capacity #=> Integer
2548
+ # resp.managed_rule_set.published_versions["VersionKeyString"].forecasted_lifetime #=> Integer
2549
+ # resp.managed_rule_set.published_versions["VersionKeyString"].publish_timestamp #=> Time
2550
+ # resp.managed_rule_set.published_versions["VersionKeyString"].last_update_timestamp #=> Time
2551
+ # resp.managed_rule_set.published_versions["VersionKeyString"].expiry_timestamp #=> Time
2552
+ # resp.managed_rule_set.recommended_version #=> String
2553
+ # resp.managed_rule_set.label_namespace #=> String
2554
+ # resp.lock_token #=> String
2555
+ #
2556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetManagedRuleSet AWS API Documentation
2557
+ #
2558
+ # @overload get_managed_rule_set(params = {})
2559
+ # @param [Hash] params ({})
2560
+ def get_managed_rule_set(params = {}, options = {})
2561
+ req = build_request(:get_managed_rule_set, params)
2562
+ req.send_request(options)
2563
+ end
2564
+
2366
2565
  # Returns the IAM policy that is attached to the specified rule group.
2367
2566
  #
2368
2567
  # You must be the owner of the rule group to perform this operation.
@@ -2394,10 +2593,24 @@ module Aws::WAFV2
2394
2593
  req.send_request(options)
2395
2594
  end
2396
2595
 
2397
- # Retrieves the keys that are currently blocked by a rate-based rule.
2398
- # The maximum number of managed keys that can be blocked for a single
2399
- # rate-based rule is 10,000. If more than 10,000 addresses exceed the
2400
- # 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.
2401
2614
  #
2402
2615
  # @option params [required, String] :scope
2403
2616
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -2422,8 +2635,16 @@ module Aws::WAFV2
2422
2635
  # responses to create and list commands. You provide it to operations
2423
2636
  # like update and delete.
2424
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
+ #
2425
2643
  # @option params [required, String] :rule_name
2426
- # 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`.
2427
2648
  #
2428
2649
  # @return [Types::GetRateBasedStatementManagedKeysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2429
2650
  #
@@ -2436,6 +2657,7 @@ module Aws::WAFV2
2436
2657
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2437
2658
  # web_acl_name: "EntityName", # required
2438
2659
  # web_acl_id: "EntityId", # required
2660
+ # rule_group_rule_name: "EntityName",
2439
2661
  # rule_name: "EntityName", # required
2440
2662
  # })
2441
2663
  #
@@ -2639,11 +2861,22 @@ module Aws::WAFV2
2639
2861
  # resp.rule_group.rules[0].statement.not_statement.statement #=> Types::Statement
2640
2862
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.vendor_name #=> String
2641
2863
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.name #=> String
2864
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.version #=> String
2642
2865
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2643
2866
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2644
2867
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2645
2868
  # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2646
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"
2647
2880
  # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2648
2881
  # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2649
2882
  # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
@@ -2917,11 +3150,22 @@ module Aws::WAFV2
2917
3150
  # resp.web_acl.rules[0].statement.not_statement.statement #=> Types::Statement
2918
3151
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.vendor_name #=> String
2919
3152
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
3153
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.version #=> String
2920
3154
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2921
3155
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2922
3156
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2923
3157
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2924
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"
2925
3169
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
2926
3170
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
2927
3171
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -2950,6 +3194,7 @@ module Aws::WAFV2
2950
3194
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].priority #=> Integer
2951
3195
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
2952
3196
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
3197
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.version #=> String
2953
3198
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2954
3199
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2955
3200
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.search_string #=> String
@@ -3026,6 +3271,16 @@ module Aws::WAFV2
3026
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
3027
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"
3028
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"
3029
3284
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3030
3285
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3031
3286
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3040,6 +3295,7 @@ module Aws::WAFV2
3040
3295
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].priority #=> Integer
3041
3296
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
3042
3297
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
3298
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.version #=> String
3043
3299
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
3044
3300
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3045
3301
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.search_string #=> String
@@ -3116,6 +3372,16 @@ module Aws::WAFV2
3116
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
3117
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"
3118
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"
3119
3385
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3120
3386
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3121
3387
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3246,11 +3512,22 @@ module Aws::WAFV2
3246
3512
  # resp.web_acl.rules[0].statement.not_statement.statement #=> Types::Statement
3247
3513
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.vendor_name #=> String
3248
3514
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
3515
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.version #=> String
3249
3516
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
3250
3517
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3251
3518
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3252
3519
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3253
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"
3254
3531
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3255
3532
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3256
3533
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3279,6 +3556,7 @@ module Aws::WAFV2
3279
3556
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].priority #=> Integer
3280
3557
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
3281
3558
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
3559
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.version #=> String
3282
3560
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
3283
3561
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3284
3562
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.search_string #=> String
@@ -3355,6 +3633,16 @@ module Aws::WAFV2
3355
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
3356
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"
3357
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"
3358
3646
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3359
3647
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3360
3648
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3369,6 +3657,7 @@ module Aws::WAFV2
3369
3657
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].priority #=> Integer
3370
3658
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
3371
3659
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
3660
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.version #=> String
3372
3661
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
3373
3662
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3374
3663
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.search_string #=> String
@@ -3445,6 +3734,16 @@ module Aws::WAFV2
3445
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
3446
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"
3447
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"
3448
3747
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3449
3748
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3450
3749
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3469,10 +3768,79 @@ module Aws::WAFV2
3469
3768
  req.send_request(options)
3470
3769
  end
3471
3770
 
3771
+ # Returns a list of the available versions for the specified managed
3772
+ # rule group.
3773
+ #
3774
+ # @option params [required, String] :vendor_name
3775
+ # The name of the managed rule group vendor. You use this, along with
3776
+ # the rule group name, to identify the rule group.
3777
+ #
3778
+ # @option params [required, String] :name
3779
+ # The name of the managed rule group. You use this, along with the
3780
+ # vendor name, to identify the rule group.
3781
+ #
3782
+ # @option params [required, String] :scope
3783
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3784
+ # a regional application. A regional application can be an Application
3785
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3786
+ # GraphQL API.
3787
+ #
3788
+ # To work with CloudFront, you must also specify the Region US East (N.
3789
+ # Virginia) as follows:
3790
+ #
3791
+ # * CLI - Specify the Region when you use the CloudFront scope:
3792
+ # `--scope=CLOUDFRONT --region=us-east-1`.
3793
+ #
3794
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
3795
+ #
3796
+ # @option params [String] :next_marker
3797
+ # When you request a list of objects with a `Limit` setting, if the
3798
+ # number of objects that are still available for retrieval exceeds the
3799
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3800
+ # the next batch of objects, provide the marker from the prior call in
3801
+ # your next request.
3802
+ #
3803
+ # @option params [Integer] :limit
3804
+ # The maximum number of objects that you want WAF to return for this
3805
+ # request. If more objects are available, in the response, WAF provides
3806
+ # a `NextMarker` value that you can use in a subsequent call to get the
3807
+ # next batch of objects.
3808
+ #
3809
+ # @return [Types::ListAvailableManagedRuleGroupVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3810
+ #
3811
+ # * {Types::ListAvailableManagedRuleGroupVersionsResponse#next_marker #next_marker} => String
3812
+ # * {Types::ListAvailableManagedRuleGroupVersionsResponse#versions #versions} => Array&lt;Types::ManagedRuleGroupVersion&gt;
3813
+ #
3814
+ # @example Request syntax with placeholder values
3815
+ #
3816
+ # resp = client.list_available_managed_rule_group_versions({
3817
+ # vendor_name: "VendorName", # required
3818
+ # name: "EntityName", # required
3819
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
3820
+ # next_marker: "NextMarker",
3821
+ # limit: 1,
3822
+ # })
3823
+ #
3824
+ # @example Response structure
3825
+ #
3826
+ # resp.next_marker #=> String
3827
+ # resp.versions #=> Array
3828
+ # resp.versions[0].name #=> String
3829
+ # resp.versions[0].last_update_timestamp #=> Time
3830
+ #
3831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions AWS API Documentation
3832
+ #
3833
+ # @overload list_available_managed_rule_group_versions(params = {})
3834
+ # @param [Hash] params ({})
3835
+ def list_available_managed_rule_group_versions(params = {}, options = {})
3836
+ req = build_request(:list_available_managed_rule_group_versions, params)
3837
+ req.send_request(options)
3838
+ end
3839
+
3472
3840
  # Retrieves an array of managed rule groups that are available for you
3473
3841
  # to use. This list includes all Amazon Web Services Managed Rules rule
3474
- # groups and the Marketplace managed rule groups that you're subscribed
3475
- # to.
3842
+ # groups and all of the Amazon Web Services Marketplace managed rule
3843
+ # groups that you're subscribed to.
3476
3844
  #
3477
3845
  # @option params [required, String] :scope
3478
3846
  # Specifies whether this is for an Amazon CloudFront distribution or for
@@ -3667,6 +4035,79 @@ module Aws::WAFV2
3667
4035
  req.send_request(options)
3668
4036
  end
3669
4037
 
4038
+ # Retrieves the managed rule sets that you own.
4039
+ #
4040
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4041
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4042
+ #
4043
+ # Vendors, you can use the managed rule set APIs to provide controlled
4044
+ # rollout of your versioned managed rule group offerings for your
4045
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
4046
+ # `PutManagedRuleSetVersions`, and
4047
+ # `UpdateManagedRuleSetVersionExpiryDate`.
4048
+ #
4049
+ # </note>
4050
+ #
4051
+ # @option params [required, String] :scope
4052
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4053
+ # a regional application. A regional application can be an Application
4054
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4055
+ # GraphQL API.
4056
+ #
4057
+ # To work with CloudFront, you must also specify the Region US East (N.
4058
+ # Virginia) as follows:
4059
+ #
4060
+ # * CLI - Specify the Region when you use the CloudFront scope:
4061
+ # `--scope=CLOUDFRONT --region=us-east-1`.
4062
+ #
4063
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4064
+ #
4065
+ # @option params [String] :next_marker
4066
+ # When you request a list of objects with a `Limit` setting, if the
4067
+ # number of objects that are still available for retrieval exceeds the
4068
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
4069
+ # the next batch of objects, provide the marker from the prior call in
4070
+ # your next request.
4071
+ #
4072
+ # @option params [Integer] :limit
4073
+ # The maximum number of objects that you want WAF to return for this
4074
+ # request. If more objects are available, in the response, WAF provides
4075
+ # a `NextMarker` value that you can use in a subsequent call to get the
4076
+ # next batch of objects.
4077
+ #
4078
+ # @return [Types::ListManagedRuleSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4079
+ #
4080
+ # * {Types::ListManagedRuleSetsResponse#next_marker #next_marker} => String
4081
+ # * {Types::ListManagedRuleSetsResponse#managed_rule_sets #managed_rule_sets} => Array&lt;Types::ManagedRuleSetSummary&gt;
4082
+ #
4083
+ # @example Request syntax with placeholder values
4084
+ #
4085
+ # resp = client.list_managed_rule_sets({
4086
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
4087
+ # next_marker: "NextMarker",
4088
+ # limit: 1,
4089
+ # })
4090
+ #
4091
+ # @example Response structure
4092
+ #
4093
+ # resp.next_marker #=> String
4094
+ # resp.managed_rule_sets #=> Array
4095
+ # resp.managed_rule_sets[0].name #=> String
4096
+ # resp.managed_rule_sets[0].id #=> String
4097
+ # resp.managed_rule_sets[0].description #=> String
4098
+ # resp.managed_rule_sets[0].lock_token #=> String
4099
+ # resp.managed_rule_sets[0].arn #=> String
4100
+ # resp.managed_rule_sets[0].label_namespace #=> String
4101
+ #
4102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListManagedRuleSets AWS API Documentation
4103
+ #
4104
+ # @overload list_managed_rule_sets(params = {})
4105
+ # @param [Hash] params ({})
4106
+ def list_managed_rule_sets(params = {}, options = {})
4107
+ req = build_request(:list_managed_rule_sets, params)
4108
+ req.send_request(options)
4109
+ end
4110
+
3670
4111
  # Retrieves an array of RegexPatternSetSummary objects for the regex
3671
4112
  # pattern sets that you manage.
3672
4113
  #
@@ -4084,6 +4525,110 @@ module Aws::WAFV2
4084
4525
  req.send_request(options)
4085
4526
  end
4086
4527
 
4528
+ # Defines the versions of your managed rule set that you are offering to
4529
+ # the customers. Customers see your offerings as managed rule groups
4530
+ # with versioning.
4531
+ #
4532
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4533
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4534
+ #
4535
+ # Vendors, you can use the managed rule set APIs to provide controlled
4536
+ # rollout of your versioned managed rule group offerings for your
4537
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
4538
+ # `PutManagedRuleSetVersions`, and
4539
+ # `UpdateManagedRuleSetVersionExpiryDate`.
4540
+ #
4541
+ # </note>
4542
+ #
4543
+ # Customers retrieve their managed rule group list by calling
4544
+ # ListAvailableManagedRuleGroups. The name that you provide here for
4545
+ # your managed rule set is the name the customer sees for the
4546
+ # corresponding managed rule group. Customers can retrieve the available
4547
+ # versions for a managed rule group by calling
4548
+ # ListAvailableManagedRuleGroupVersions. You provide a rule group
4549
+ # specification for each version. For each managed rule set, you must
4550
+ # specify a version that you recommend using.
4551
+ #
4552
+ # To initiate the expiration of a managed rule group version, use
4553
+ # UpdateManagedRuleSetVersionExpiryDate.
4554
+ #
4555
+ # @option params [required, String] :name
4556
+ # The name of the managed rule set. You use this, along with the rule
4557
+ # set ID, to identify the rule set.
4558
+ #
4559
+ # This name is assigned to the corresponding managed rule group, which
4560
+ # your customers can access and use.
4561
+ #
4562
+ # @option params [required, String] :scope
4563
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4564
+ # a regional application. A regional application can be an Application
4565
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4566
+ # GraphQL API.
4567
+ #
4568
+ # To work with CloudFront, you must also specify the Region US East (N.
4569
+ # Virginia) as follows:
4570
+ #
4571
+ # * CLI - Specify the Region when you use the CloudFront scope:
4572
+ # `--scope=CLOUDFRONT --region=us-east-1`.
4573
+ #
4574
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4575
+ #
4576
+ # @option params [required, String] :id
4577
+ # A unique identifier for the managed rule set. The ID is returned in
4578
+ # the responses to commands like `list`. You provide it to operations
4579
+ # like `get` and `update`.
4580
+ #
4581
+ # @option params [required, String] :lock_token
4582
+ # A token used for optimistic locking. WAF returns a token to your `get`
4583
+ # and `list` requests, to mark the state of the entity at the time of
4584
+ # the request. To make changes to the entity associated with the token,
4585
+ # you provide the token to operations like `update` and `delete`. WAF
4586
+ # uses the token to ensure that no changes have been made to the entity
4587
+ # since you last retrieved it. If a change has been made, the update
4588
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
4589
+ # another `get`, and use the new token returned by that operation.
4590
+ #
4591
+ # @option params [String] :recommended_version
4592
+ # The version of the named managed rule group that you'd like your
4593
+ # customers to choose, from among your version offerings.
4594
+ #
4595
+ # @option params [Hash<String,Types::VersionToPublish>] :versions_to_publish
4596
+ # The versions of the named managed rule group that you want to offer to
4597
+ # your customers.
4598
+ #
4599
+ # @return [Types::PutManagedRuleSetVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4600
+ #
4601
+ # * {Types::PutManagedRuleSetVersionsResponse#next_lock_token #next_lock_token} => String
4602
+ #
4603
+ # @example Request syntax with placeholder values
4604
+ #
4605
+ # resp = client.put_managed_rule_set_versions({
4606
+ # name: "EntityName", # required
4607
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
4608
+ # id: "EntityId", # required
4609
+ # lock_token: "LockToken", # required
4610
+ # recommended_version: "VersionKeyString",
4611
+ # versions_to_publish: {
4612
+ # "VersionKeyString" => {
4613
+ # associated_rule_group_arn: "ResourceArn",
4614
+ # forecasted_lifetime: 1,
4615
+ # },
4616
+ # },
4617
+ # })
4618
+ #
4619
+ # @example Response structure
4620
+ #
4621
+ # resp.next_lock_token #=> String
4622
+ #
4623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutManagedRuleSetVersions AWS API Documentation
4624
+ #
4625
+ # @overload put_managed_rule_set_versions(params = {})
4626
+ # @param [Hash] params ({})
4627
+ def put_managed_rule_set_versions(params = {}, options = {})
4628
+ req = build_request(:put_managed_rule_set_versions, params)
4629
+ req.send_request(options)
4630
+ end
4631
+
4087
4632
  # Attaches an IAM policy to the specified resource. Use this to share a
4088
4633
  # rule group across accounts.
4089
4634
  #
@@ -4285,14 +4830,14 @@ module Aws::WAFV2
4285
4830
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
4286
4831
  #
4287
4832
  # @option params [required, String] :lock_token
4288
- # A token used for optimistic locking. WAF returns a token to your get
4289
- # and list requests, to mark the state of the entity at the time of the
4290
- # request. To make changes to the entity associated with the token, you
4291
- # provide the token to operations like update and delete. WAF uses the
4292
- # token to ensure that no changes have been made to the entity since you
4293
- # last retrieved it. If a change has been made, the update fails with a
4294
- # `WAFOptimisticLockException`. If this happens, perform another get,
4295
- # and use the new token returned by that operation.
4833
+ # A token used for optimistic locking. WAF returns a token to your `get`
4834
+ # and `list` requests, to mark the state of the entity at the time of
4835
+ # the request. To make changes to the entity associated with the token,
4836
+ # you provide the token to operations like `update` and `delete`. WAF
4837
+ # uses the token to ensure that no changes have been made to the entity
4838
+ # since you last retrieved it. If a change has been made, the update
4839
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
4840
+ # another `get`, and use the new token returned by that operation.
4296
4841
  #
4297
4842
  # @return [Types::UpdateIPSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4298
4843
  #
@@ -4322,6 +4867,101 @@ module Aws::WAFV2
4322
4867
  req.send_request(options)
4323
4868
  end
4324
4869
 
4870
+ # Updates the expiration information for your managed rule set. Use this
4871
+ # to initiate the expiration of a managed rule group version. After you
4872
+ # initiate expiration for a version, WAF excludes it from the reponse to
4873
+ # ListAvailableManagedRuleGroupVersions for the managed rule group.
4874
+ #
4875
+ # <note markdown="1"> This is intended for use only by vendors of managed rule sets. Vendors
4876
+ # are Amazon Web Services and Amazon Web Services Marketplace sellers.
4877
+ #
4878
+ # Vendors, you can use the managed rule set APIs to provide controlled
4879
+ # rollout of your versioned managed rule group offerings for your
4880
+ # customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`,
4881
+ # `PutManagedRuleSetVersions`, and
4882
+ # `UpdateManagedRuleSetVersionExpiryDate`.
4883
+ #
4884
+ # </note>
4885
+ #
4886
+ # @option params [required, String] :name
4887
+ # The name of the managed rule set. You use this, along with the rule
4888
+ # set ID, to identify the rule set.
4889
+ #
4890
+ # This name is assigned to the corresponding managed rule group, which
4891
+ # your customers can access and use.
4892
+ #
4893
+ # @option params [required, String] :scope
4894
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4895
+ # a regional application. A regional application can be an Application
4896
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4897
+ # GraphQL API.
4898
+ #
4899
+ # To work with CloudFront, you must also specify the Region US East (N.
4900
+ # Virginia) as follows:
4901
+ #
4902
+ # * CLI - Specify the Region when you use the CloudFront scope:
4903
+ # `--scope=CLOUDFRONT --region=us-east-1`.
4904
+ #
4905
+ # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4906
+ #
4907
+ # @option params [required, String] :id
4908
+ # A unique identifier for the managed rule set. The ID is returned in
4909
+ # the responses to commands like `list`. You provide it to operations
4910
+ # like `get` and `update`.
4911
+ #
4912
+ # @option params [required, String] :lock_token
4913
+ # A token used for optimistic locking. WAF returns a token to your `get`
4914
+ # and `list` requests, to mark the state of the entity at the time of
4915
+ # the request. To make changes to the entity associated with the token,
4916
+ # you provide the token to operations like `update` and `delete`. WAF
4917
+ # uses the token to ensure that no changes have been made to the entity
4918
+ # since you last retrieved it. If a change has been made, the update
4919
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
4920
+ # another `get`, and use the new token returned by that operation.
4921
+ #
4922
+ # @option params [required, String] :version_to_expire
4923
+ # The version that you want to remove from your list of offerings for
4924
+ # the named managed rule group.
4925
+ #
4926
+ # @option params [required, Time,DateTime,Date,Integer,String] :expiry_timestamp
4927
+ # The time that you want the version to expire.
4928
+ #
4929
+ # Times are in Coordinated Universal Time (UTC) format. UTC format
4930
+ # includes the special designator, Z. For example,
4931
+ # "2016-09-27T14:50Z".
4932
+ #
4933
+ # @return [Types::UpdateManagedRuleSetVersionExpiryDateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4934
+ #
4935
+ # * {Types::UpdateManagedRuleSetVersionExpiryDateResponse#expiring_version #expiring_version} => String
4936
+ # * {Types::UpdateManagedRuleSetVersionExpiryDateResponse#expiry_timestamp #expiry_timestamp} => Time
4937
+ # * {Types::UpdateManagedRuleSetVersionExpiryDateResponse#next_lock_token #next_lock_token} => String
4938
+ #
4939
+ # @example Request syntax with placeholder values
4940
+ #
4941
+ # resp = client.update_managed_rule_set_version_expiry_date({
4942
+ # name: "EntityName", # required
4943
+ # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
4944
+ # id: "EntityId", # required
4945
+ # lock_token: "LockToken", # required
4946
+ # version_to_expire: "VersionKeyString", # required
4947
+ # expiry_timestamp: Time.now, # required
4948
+ # })
4949
+ #
4950
+ # @example Response structure
4951
+ #
4952
+ # resp.expiring_version #=> String
4953
+ # resp.expiry_timestamp #=> Time
4954
+ # resp.next_lock_token #=> String
4955
+ #
4956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate AWS API Documentation
4957
+ #
4958
+ # @overload update_managed_rule_set_version_expiry_date(params = {})
4959
+ # @param [Hash] params ({})
4960
+ def update_managed_rule_set_version_expiry_date(params = {}, options = {})
4961
+ req = build_request(:update_managed_rule_set_version_expiry_date, params)
4962
+ req.send_request(options)
4963
+ end
4964
+
4325
4965
  # Updates the specified RegexPatternSet.
4326
4966
  #
4327
4967
  # <note markdown="1"> This operation completely replaces the mutable specifications that you
@@ -4361,14 +5001,14 @@ module Aws::WAFV2
4361
5001
  # @option params [required, Array<Types::Regex>] :regular_expression_list
4362
5002
  #
4363
5003
  # @option params [required, String] :lock_token
4364
- # A token used for optimistic locking. WAF returns a token to your get
4365
- # and list requests, to mark the state of the entity at the time of the
4366
- # request. To make changes to the entity associated with the token, you
4367
- # provide the token to operations like update and delete. WAF uses the
4368
- # token to ensure that no changes have been made to the entity since you
4369
- # last retrieved it. If a change has been made, the update fails with a
4370
- # `WAFOptimisticLockException`. If this happens, perform another get,
4371
- # and use the new token returned by that operation.
5004
+ # A token used for optimistic locking. WAF returns a token to your `get`
5005
+ # and `list` requests, to mark the state of the entity at the time of
5006
+ # the request. To make changes to the entity associated with the token,
5007
+ # you provide the token to operations like `update` and `delete`. WAF
5008
+ # uses the token to ensure that no changes have been made to the entity
5009
+ # since you last retrieved it. If a change has been made, the update
5010
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
5011
+ # another `get`, and use the new token returned by that operation.
4372
5012
  #
4373
5013
  # @return [Types::UpdateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4374
5014
  #
@@ -4455,14 +5095,14 @@ module Aws::WAFV2
4455
5095
  # collection.
4456
5096
  #
4457
5097
  # @option params [required, String] :lock_token
4458
- # A token used for optimistic locking. WAF returns a token to your get
4459
- # and list requests, to mark the state of the entity at the time of the
4460
- # request. To make changes to the entity associated with the token, you
4461
- # provide the token to operations like update and delete. WAF uses the
4462
- # token to ensure that no changes have been made to the entity since you
4463
- # last retrieved it. If a change has been made, the update fails with a
4464
- # `WAFOptimisticLockException`. If this happens, perform another get,
4465
- # and use the new token returned by that operation.
5098
+ # A token used for optimistic locking. WAF returns a token to your `get`
5099
+ # and `list` requests, to mark the state of the entity at the time of
5100
+ # the request. To make changes to the entity associated with the token,
5101
+ # you provide the token to operations like `update` and `delete`. WAF
5102
+ # uses the token to ensure that no changes have been made to the entity
5103
+ # since you last retrieved it. If a change has been made, the update
5104
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
5105
+ # another `get`, and use the new token returned by that operation.
4466
5106
  #
4467
5107
  # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4468
5108
  # A map of custom response keys and content bodies. When you create a
@@ -4736,6 +5376,7 @@ module Aws::WAFV2
4736
5376
  # managed_rule_group_statement: {
4737
5377
  # vendor_name: "VendorName", # required
4738
5378
  # name: "EntityName", # required
5379
+ # version: "VersionKeyString",
4739
5380
  # excluded_rules: [
4740
5381
  # {
4741
5382
  # name: "EntityName", # required
@@ -4749,6 +5390,42 @@ module Aws::WAFV2
4749
5390
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
4750
5391
  # key: "LabelMatchKey", # required
4751
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
+ # },
4752
5429
  # },
4753
5430
  # action: {
4754
5431
  # block: {
@@ -4899,14 +5576,14 @@ module Aws::WAFV2
4899
5576
  # collection.
4900
5577
  #
4901
5578
  # @option params [required, String] :lock_token
4902
- # A token used for optimistic locking. WAF returns a token to your get
4903
- # and list requests, to mark the state of the entity at the time of the
4904
- # request. To make changes to the entity associated with the token, you
4905
- # provide the token to operations like update and delete. WAF uses the
4906
- # token to ensure that no changes have been made to the entity since you
4907
- # last retrieved it. If a change has been made, the update fails with a
4908
- # `WAFOptimisticLockException`. If this happens, perform another get,
4909
- # and use the new token returned by that operation.
5579
+ # A token used for optimistic locking. WAF returns a token to your `get`
5580
+ # and `list` requests, to mark the state of the entity at the time of
5581
+ # the request. To make changes to the entity associated with the token,
5582
+ # you provide the token to operations like `update` and `delete`. WAF
5583
+ # uses the token to ensure that no changes have been made to the entity
5584
+ # since you last retrieved it. If a change has been made, the update
5585
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
5586
+ # another `get`, and use the new token returned by that operation.
4910
5587
  #
4911
5588
  # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4912
5589
  # A map of custom response keys and content bodies. When you create a
@@ -5204,6 +5881,7 @@ module Aws::WAFV2
5204
5881
  # managed_rule_group_statement: {
5205
5882
  # vendor_name: "VendorName", # required
5206
5883
  # name: "EntityName", # required
5884
+ # version: "VersionKeyString",
5207
5885
  # excluded_rules: [
5208
5886
  # {
5209
5887
  # name: "EntityName", # required
@@ -5217,6 +5895,42 @@ module Aws::WAFV2
5217
5895
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5218
5896
  # key: "LabelMatchKey", # required
5219
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
+ # },
5220
5934
  # },
5221
5935
  # action: {
5222
5936
  # block: {
@@ -5318,7 +6032,7 @@ module Aws::WAFV2
5318
6032
  params: params,
5319
6033
  config: config)
5320
6034
  context[:gem_name] = 'aws-sdk-wafv2'
5321
- context[:gem_version] = '1.23.0'
6035
+ context[:gem_version] = '1.27.0'
5322
6036
  Seahorse::Client::Request.new(handlers, context)
5323
6037
  end
5324
6038