aws-sdk-wafv2 1.23.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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