aws-sdk-wafv2 1.16.0 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a728bec8f9b85cf39b9802873686f5bcb7ab6724cf33ccfb717c13b1f0308ad
4
- data.tar.gz: fac2047f25163a12e0353030719e5e4a8e63453240e4b5d2856c3922470e392d
3
+ metadata.gz: 03cea6bbb6da24ce39010404e64a35e8d32b7b7b75d91ffb86e9ee3fe687c187
4
+ data.tar.gz: fa1c210b25c5458f3886ee35fbb2c6dc4593014444b6ad5491c6037887e07165
5
5
  SHA512:
6
- metadata.gz: b764fa8b76f49a71211c013642a9222cb2d556d8a3fa6afd1e07353e70596033fe362ad5c1172a0e9221ebf4ba058cccb15d7962a2ea910a1cf3177c0c293e3f
7
- data.tar.gz: 6a52ef2c7507e9a38021eb1189f17b32d3d86132eb318fa0e0df260fc590e887377d48e1a09c5f667aa69095956e3900ac88e5cd7ed003715b9be99164cfc2e8
6
+ metadata.gz: 70f6b48885e636c56470e2f1e5c9d515a3d01b8f099651370e7673ce1af556faaafe5dcd6ac870f0b375a456c824e93deb2c8d397e5e0db331f090fc29d928bc
7
+ data.tar.gz: 9d84d94b8cc13570974ee3ff10e020723128679a80cd19f9758423a8691c296b97c0430ff5d2c7c1f583b9bf77d15e6d826419deb7738a6ab6b589646ed7b3a7
data/CHANGELOG.md ADDED
@@ -0,0 +1,118 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.21.0 (2021-06-24)
5
+ ------------------
6
+
7
+ * Feature - Added support for 15 new text transformation.
8
+
9
+ 1.20.0 (2021-04-01)
10
+ ------------------
11
+
12
+ * Feature - Added support for ScopeDownStatement for ManagedRuleGroups, Labels, LabelMatchStatement, and LoggingFilter. For more information on these features, see the AWS WAF Developer Guide.
13
+
14
+ 1.19.0 (2021-03-29)
15
+ ------------------
16
+
17
+ * Feature - Added custom request handling and custom response support in rule actions and default action; Added the option to inspect the web request body as parsed and filtered JSON.
18
+
19
+ 1.18.0 (2021-03-11)
20
+ ------------------
21
+
22
+ * Feature - Correct the documentation about JSON body parsing behavior and IP set update behavior
23
+
24
+ 1.17.0 (2021-03-10)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.16.0 (2021-02-12)
30
+ ------------------
31
+
32
+ * Feature - Added the option to inspect the web request body as parsed and filtered JSON (new FieldToMatch type JsonBody), in addition to the existing option to inspect the web request body as plain text.
33
+
34
+ 1.15.0 (2021-02-02)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.14.0 (2020-10-01)
40
+ ------------------
41
+
42
+ * Feature - AWS WAF is now available for AWS AppSync GraphQL APIs. AWS WAF protects against malicious attacks with AWS Managed Rules or your own custom rules. For more information see the AWS WAF Developer Guide.
43
+
44
+ 1.13.0 (2020-09-30)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.12.0 (2020-09-15)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ 1.11.0 (2020-08-25)
55
+ ------------------
56
+
57
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
58
+
59
+ 1.10.0 (2020-07-31)
60
+ ------------------
61
+
62
+ * Feature - Add ManagedByFirewallManager flag to the logging configuration, which indicates whether AWS Firewall Manager controls the configuration.
63
+
64
+ 1.9.0 (2020-07-09)
65
+ ------------------
66
+
67
+ * Feature - Added the option to use IP addresses from an HTTP header that you specify, instead of using the web request origin. Available for IP set matching, geo matching, and rate-based rule count aggregation.
68
+
69
+ 1.8.0 (2020-07-02)
70
+ ------------------
71
+
72
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
73
+
74
+ 1.7.0 (2020-06-23)
75
+ ------------------
76
+
77
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
78
+
79
+ 1.6.1 (2020-06-11)
80
+ ------------------
81
+
82
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
83
+
84
+ 1.6.0 (2020-06-10)
85
+ ------------------
86
+
87
+ * Issue - This version has been yanked. (#2327).
88
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
89
+
90
+ 1.5.0 (2020-05-28)
91
+ ------------------
92
+
93
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
94
+
95
+ 1.4.0 (2020-05-07)
96
+ ------------------
97
+
98
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
99
+
100
+ 1.3.0 (2020-03-31)
101
+ ------------------
102
+
103
+ * Feature - Added support for AWS Firewall Manager for WAFv2 and PermissionPolicy APIs for WAFv2.
104
+
105
+ 1.2.0 (2020-03-09)
106
+ ------------------
107
+
108
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
109
+
110
+ 1.1.0 (2020-02-21)
111
+ ------------------
112
+
113
+ * Feature - Documentation updates for AWS WAF (wafv2) to correct the guidance for associating a web ACL to a CloudFront distribution.
114
+
115
+ 1.0.0 (2019-11-25)
116
+ ------------------
117
+
118
+ * Feature - Initial release of `aws-sdk-wafv2`.
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.21.0
data/lib/aws-sdk-wafv2.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-wafv2/customizations'
48
48
  # @!group service
49
49
  module Aws::WAFV2
50
50
 
51
- GEM_VERSION = '1.16.0'
51
+ GEM_VERSION = '1.21.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -337,14 +337,15 @@ module Aws::WAFV2
337
337
 
338
338
  # @!group API Operations
339
339
 
340
- # Associates a Web ACL with a regional application resource, to protect
340
+ # Associates a web ACL with a regional application resource, to protect
341
341
  # the resource. A regional application can be an Application Load
342
- # Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.
342
+ # Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL
343
+ # API.
343
344
  #
344
- # For AWS CloudFront, don't use this call. Instead, use your CloudFront
345
- # distribution configuration. To associate a Web ACL, in the CloudFront
346
- # call `UpdateDistribution`, set the web ACL ID to the Amazon Resource
347
- # Name (ARN) of the Web ACL. For information, see
345
+ # For Amazon CloudFront, don't use this call. Instead, use your
346
+ # CloudFront distribution configuration. To associate a web ACL, in the
347
+ # CloudFront call `UpdateDistribution`, set the web ACL ID to the Amazon
348
+ # Resource Name (ARN) of the web ACL. For information, see
348
349
  # [UpdateDistribution][1].
349
350
  #
350
351
  #
@@ -352,7 +353,7 @@ module Aws::WAFV2
352
353
  # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
353
354
  #
354
355
  # @option params [required, String] :web_acl_arn
355
- # The Amazon Resource Name (ARN) of the Web ACL that you want to
356
+ # The Amazon Resource Name (ARN) of the web ACL that you want to
356
357
  # associate with the resource.
357
358
  #
358
359
  # @option params [required, String] :resource_arn
@@ -365,7 +366,7 @@ module Aws::WAFV2
365
366
  # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
366
367
  # `
367
368
  #
368
- # * For an API Gateway REST API:
369
+ # * For an Amazon API Gateway REST API:
369
370
  # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
370
371
  #
371
372
  # * For an AppSync GraphQL API:
@@ -393,20 +394,19 @@ module Aws::WAFV2
393
394
  # scope and set of rules. You can use this to check the capacity
394
395
  # requirements for the rules you want to use in a RuleGroup or WebACL.
395
396
  #
396
- # AWS WAF uses WCUs to calculate and control the operating resources
397
- # that are used to run your rules, rule groups, and web ACLs. AWS WAF
398
- # calculates capacity differently for each rule type, to reflect the
399
- # relative cost of each rule. Simple rules that cost little to run use
400
- # fewer WCUs than more complex rules that use more processing power.
401
- # Rule group capacity is fixed at creation, which helps users plan their
402
- # web ACL WCU usage when they use a rule group. The WCU limit for web
403
- # ACLs is 1,500.
397
+ # WAF uses WCUs to calculate and control the operating resources that
398
+ # are used to run your rules, rule groups, and web ACLs. WAF calculates
399
+ # capacity differently for each rule type, to reflect the relative cost
400
+ # of each rule. Simple rules that cost little to run use fewer WCUs than
401
+ # more complex rules that use more processing power. Rule group capacity
402
+ # is fixed at creation, which helps users plan their web ACL WCU usage
403
+ # when they use a rule group. The WCU limit for web ACLs is 1,500.
404
404
  #
405
405
  # @option params [required, String] :scope
406
- # Specifies whether this is for an AWS CloudFront distribution or for a
407
- # regional application. A regional application can be an Application
408
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
409
- # API.
406
+ # Specifies whether this is for an Amazon CloudFront distribution or for
407
+ # a regional application. A regional application can be an Application
408
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
409
+ # GraphQL API.
410
410
  #
411
411
  # To work with CloudFront, you must also specify the Region US East (N.
412
412
  # Virginia) as follows:
@@ -465,7 +465,7 @@ module Aws::WAFV2
465
465
  # text_transformations: [ # required
466
466
  # {
467
467
  # priority: 1, # required
468
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
468
+ # 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
469
469
  # },
470
470
  # ],
471
471
  # positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
@@ -501,7 +501,7 @@ module Aws::WAFV2
501
501
  # text_transformations: [ # required
502
502
  # {
503
503
  # priority: 1, # required
504
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
504
+ # 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
505
505
  # },
506
506
  # ],
507
507
  # },
@@ -536,7 +536,7 @@ module Aws::WAFV2
536
536
  # text_transformations: [ # required
537
537
  # {
538
538
  # priority: 1, # required
539
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
539
+ # 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
540
540
  # },
541
541
  # ],
542
542
  # },
@@ -573,7 +573,7 @@ module Aws::WAFV2
573
573
  # text_transformations: [ # required
574
574
  # {
575
575
  # priority: 1, # required
576
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
576
+ # 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
577
577
  # },
578
578
  # ],
579
579
  # },
@@ -632,7 +632,7 @@ module Aws::WAFV2
632
632
  # text_transformations: [ # required
633
633
  # {
634
634
  # priority: 1, # required
635
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
635
+ # 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
636
636
  # },
637
637
  # ],
638
638
  # },
@@ -674,22 +674,68 @@ module Aws::WAFV2
674
674
  # name: "EntityName", # required
675
675
  # },
676
676
  # ],
677
+ # scope_down_statement: {
678
+ # # recursive Statement
679
+ # },
680
+ # },
681
+ # label_match_statement: {
682
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
683
+ # key: "LabelMatchKey", # required
677
684
  # },
678
685
  # },
679
686
  # action: {
680
687
  # block: {
688
+ # custom_response: {
689
+ # response_code: 1, # required
690
+ # custom_response_body_key: "EntityName",
691
+ # response_headers: [
692
+ # {
693
+ # name: "CustomHTTPHeaderName", # required
694
+ # value: "CustomHTTPHeaderValue", # required
695
+ # },
696
+ # ],
697
+ # },
681
698
  # },
682
699
  # allow: {
700
+ # custom_request_handling: {
701
+ # insert_headers: [ # required
702
+ # {
703
+ # name: "CustomHTTPHeaderName", # required
704
+ # value: "CustomHTTPHeaderValue", # required
705
+ # },
706
+ # ],
707
+ # },
683
708
  # },
684
709
  # count: {
710
+ # custom_request_handling: {
711
+ # insert_headers: [ # required
712
+ # {
713
+ # name: "CustomHTTPHeaderName", # required
714
+ # value: "CustomHTTPHeaderValue", # required
715
+ # },
716
+ # ],
717
+ # },
685
718
  # },
686
719
  # },
687
720
  # override_action: {
688
721
  # count: {
722
+ # custom_request_handling: {
723
+ # insert_headers: [ # required
724
+ # {
725
+ # name: "CustomHTTPHeaderName", # required
726
+ # value: "CustomHTTPHeaderValue", # required
727
+ # },
728
+ # ],
729
+ # },
689
730
  # },
690
731
  # none: {
691
732
  # },
692
733
  # },
734
+ # rule_labels: [
735
+ # {
736
+ # name: "LabelName", # required
737
+ # },
738
+ # ],
693
739
  # visibility_config: { # required
694
740
  # sampled_requests_enabled: false, # required
695
741
  # cloud_watch_metrics_enabled: false, # required
@@ -715,7 +761,7 @@ module Aws::WAFV2
715
761
  # Creates an IPSet, which you use to identify web requests that
716
762
  # originate from specific IP addresses or ranges of IP addresses. For
717
763
  # example, if you're receiving a lot of requests from a ranges of IP
718
- # addresses, you can configure AWS WAF to block them using an IPSet that
764
+ # addresses, you can configure WAF to block them using an IPSet that
719
765
  # lists those IP addresses.
720
766
  #
721
767
  # @option params [required, String] :name
@@ -723,10 +769,10 @@ module Aws::WAFV2
723
769
  # you create it.
724
770
  #
725
771
  # @option params [required, String] :scope
726
- # Specifies whether this is for an AWS CloudFront distribution or for a
727
- # regional application. A regional application can be an Application
728
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
729
- # API.
772
+ # Specifies whether this is for an Amazon CloudFront distribution or for
773
+ # a regional application. A regional application can be an Application
774
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
775
+ # GraphQL API.
730
776
  #
731
777
  # To work with CloudFront, you must also specify the Region US East (N.
732
778
  # Virginia) as follows:
@@ -745,26 +791,24 @@ module Aws::WAFV2
745
791
  # @option params [required, Array<String>] :addresses
746
792
  # Contains an array of strings that specify one or more IP addresses or
747
793
  # blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
748
- # notation. AWS WAF supports all address ranges for IP versions IPv4 and
749
- # IPv6.
794
+ # notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
750
795
  #
751
796
  # Examples:
752
797
  #
753
- # * To configure AWS WAF to allow, block, or count requests that
754
- # originated from the IP address 192.0.2.44, specify `192.0.2.44/32`.
798
+ # * To configure WAF to allow, block, or count requests that originated
799
+ # from the IP address 192.0.2.44, specify `192.0.2.44/32`.
755
800
  #
756
- # * To configure AWS WAF to allow, block, or count requests that
757
- # originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
801
+ # * To configure WAF to allow, block, or count requests that originated
802
+ # from IP addresses from 192.0.2.0 to 192.0.2.255, specify
758
803
  # `192.0.2.0/24`.
759
804
  #
760
- # * To configure AWS WAF to allow, block, or count requests that
761
- # originated from the IP address
762
- # 1111:0000:0000:0000:0000:0000:0000:0111, specify
805
+ # * To configure WAF to allow, block, or count requests that originated
806
+ # from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
763
807
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
764
808
  #
765
- # * To configure AWS WAF to allow, block, or count requests that
766
- # originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000
767
- # to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
809
+ # * To configure WAF to allow, block, or count requests that originated
810
+ # from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
811
+ # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
768
812
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
769
813
  #
770
814
  # For more information about CIDR notation, see the Wikipedia entry
@@ -815,18 +859,18 @@ module Aws::WAFV2
815
859
  end
816
860
 
817
861
  # Creates a RegexPatternSet, which you reference in a
818
- # RegexPatternSetReferenceStatement, to have AWS WAF inspect a web
819
- # request component for the specified patterns.
862
+ # RegexPatternSetReferenceStatement, to have WAF inspect a web request
863
+ # component for the specified patterns.
820
864
  #
821
865
  # @option params [required, String] :name
822
866
  # The name of the set. You cannot change the name after you create the
823
867
  # set.
824
868
  #
825
869
  # @option params [required, String] :scope
826
- # Specifies whether this is for an AWS CloudFront distribution or for a
827
- # regional application. A regional application can be an Application
828
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
829
- # API.
870
+ # Specifies whether this is for an Amazon CloudFront distribution or for
871
+ # a regional application. A regional application can be an Application
872
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
873
+ # GraphQL API.
830
874
  #
831
875
  # To work with CloudFront, you must also specify the Region US East (N.
832
876
  # Virginia) as follows:
@@ -898,10 +942,10 @@ module Aws::WAFV2
898
942
  # after you create it.
899
943
  #
900
944
  # @option params [required, String] :scope
901
- # Specifies whether this is for an AWS CloudFront distribution or for a
902
- # regional application. A regional application can be an Application
903
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
904
- # API.
945
+ # Specifies whether this is for an Amazon CloudFront distribution or for
946
+ # a regional application. A regional application can be an Application
947
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
948
+ # GraphQL API.
905
949
  #
906
950
  # To work with CloudFront, you must also specify the Region US East (N.
907
951
  # Virginia) as follows:
@@ -916,17 +960,16 @@ module Aws::WAFV2
916
960
  #
917
961
  # When you create your own rule group, you define this, and you cannot
918
962
  # change it after creation. When you add or modify the rules in a rule
919
- # group, AWS WAF enforces this limit. You can check the capacity for a
920
- # set of rules using CheckCapacity.
921
- #
922
- # AWS WAF uses WCUs to calculate and control the operating resources
923
- # that are used to run your rules, rule groups, and web ACLs. AWS WAF
924
- # calculates capacity differently for each rule type, to reflect the
925
- # relative cost of each rule. Simple rules that cost little to run use
926
- # fewer WCUs than more complex rules that use more processing power.
927
- # Rule group capacity is fixed at creation, which helps users plan their
928
- # web ACL WCU usage when they use a rule group. The WCU limit for web
929
- # ACLs is 1,500.
963
+ # group, WAF enforces this limit. You can check the capacity for a set
964
+ # of rules using CheckCapacity.
965
+ #
966
+ # WAF uses WCUs to calculate and control the operating resources that
967
+ # are used to run your rules, rule groups, and web ACLs. WAF calculates
968
+ # capacity differently for each rule type, to reflect the relative cost
969
+ # of each rule. Simple rules that cost little to run use fewer WCUs than
970
+ # more complex rules that use more processing power. Rule group capacity
971
+ # is fixed at creation, which helps users plan their web ACL WCU usage
972
+ # when they use a rule group. The WCU limit for web ACLs is 1,500.
930
973
  #
931
974
  # @option params [String] :description
932
975
  # A description of the rule group that helps with identification.
@@ -934,8 +977,8 @@ module Aws::WAFV2
934
977
  # @option params [Array<Types::Rule>] :rules
935
978
  # The Rule statements used to identify the web requests that you want to
936
979
  # allow, block, or count. Each rule includes one top-level statement
937
- # that AWS WAF uses to identify matching web requests, and parameters
938
- # that govern how AWS WAF handles them.
980
+ # that WAF uses to identify matching web requests, and parameters that
981
+ # govern how WAF handles them.
939
982
  #
940
983
  # @option params [required, Types::VisibilityConfig] :visibility_config
941
984
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -944,6 +987,26 @@ module Aws::WAFV2
944
987
  # @option params [Array<Types::Tag>] :tags
945
988
  # An array of key:value pairs to associate with the resource.
946
989
  #
990
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
991
+ # A map of custom response keys and content bodies. When you create a
992
+ # rule with a block action, you can send a custom response to the web
993
+ # request. You define these for the rule group, and then use them in the
994
+ # rules that you define in the rule group.
995
+ #
996
+ # For information about customizing web requests and responses, see
997
+ # [Customizing web requests and responses in WAF][1] in the [WAF
998
+ # Developer Guide][2].
999
+ #
1000
+ # For information about the limits on count and size for custom request
1001
+ # and response settings, see [WAF quotas][3] in the [WAF Developer
1002
+ # Guide][2].
1003
+ #
1004
+ #
1005
+ #
1006
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
1007
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1008
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1009
+ #
947
1010
  # @return [Types::CreateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
1011
  #
949
1012
  # * {Types::CreateRuleGroupResponse#summary #summary} => Types::RuleGroupSummary
@@ -992,7 +1055,7 @@ module Aws::WAFV2
992
1055
  # text_transformations: [ # required
993
1056
  # {
994
1057
  # priority: 1, # required
995
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1058
+ # 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
996
1059
  # },
997
1060
  # ],
998
1061
  # positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
@@ -1028,7 +1091,7 @@ module Aws::WAFV2
1028
1091
  # text_transformations: [ # required
1029
1092
  # {
1030
1093
  # priority: 1, # required
1031
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1094
+ # 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
1032
1095
  # },
1033
1096
  # ],
1034
1097
  # },
@@ -1063,7 +1126,7 @@ module Aws::WAFV2
1063
1126
  # text_transformations: [ # required
1064
1127
  # {
1065
1128
  # priority: 1, # required
1066
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1129
+ # 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
1067
1130
  # },
1068
1131
  # ],
1069
1132
  # },
@@ -1100,7 +1163,7 @@ module Aws::WAFV2
1100
1163
  # text_transformations: [ # required
1101
1164
  # {
1102
1165
  # priority: 1, # required
1103
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1166
+ # 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
1104
1167
  # },
1105
1168
  # ],
1106
1169
  # },
@@ -1159,7 +1222,7 @@ module Aws::WAFV2
1159
1222
  # text_transformations: [ # required
1160
1223
  # {
1161
1224
  # priority: 1, # required
1162
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1225
+ # 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
1163
1226
  # },
1164
1227
  # ],
1165
1228
  # },
@@ -1201,22 +1264,68 @@ module Aws::WAFV2
1201
1264
  # name: "EntityName", # required
1202
1265
  # },
1203
1266
  # ],
1267
+ # scope_down_statement: {
1268
+ # # recursive Statement
1269
+ # },
1270
+ # },
1271
+ # label_match_statement: {
1272
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1273
+ # key: "LabelMatchKey", # required
1204
1274
  # },
1205
1275
  # },
1206
1276
  # action: {
1207
1277
  # block: {
1278
+ # custom_response: {
1279
+ # response_code: 1, # required
1280
+ # custom_response_body_key: "EntityName",
1281
+ # response_headers: [
1282
+ # {
1283
+ # name: "CustomHTTPHeaderName", # required
1284
+ # value: "CustomHTTPHeaderValue", # required
1285
+ # },
1286
+ # ],
1287
+ # },
1208
1288
  # },
1209
1289
  # allow: {
1290
+ # custom_request_handling: {
1291
+ # insert_headers: [ # required
1292
+ # {
1293
+ # name: "CustomHTTPHeaderName", # required
1294
+ # value: "CustomHTTPHeaderValue", # required
1295
+ # },
1296
+ # ],
1297
+ # },
1210
1298
  # },
1211
1299
  # count: {
1300
+ # custom_request_handling: {
1301
+ # insert_headers: [ # required
1302
+ # {
1303
+ # name: "CustomHTTPHeaderName", # required
1304
+ # value: "CustomHTTPHeaderValue", # required
1305
+ # },
1306
+ # ],
1307
+ # },
1212
1308
  # },
1213
1309
  # },
1214
1310
  # override_action: {
1215
1311
  # count: {
1312
+ # custom_request_handling: {
1313
+ # insert_headers: [ # required
1314
+ # {
1315
+ # name: "CustomHTTPHeaderName", # required
1316
+ # value: "CustomHTTPHeaderValue", # required
1317
+ # },
1318
+ # ],
1319
+ # },
1216
1320
  # },
1217
1321
  # none: {
1218
1322
  # },
1219
1323
  # },
1324
+ # rule_labels: [
1325
+ # {
1326
+ # name: "LabelName", # required
1327
+ # },
1328
+ # ],
1220
1329
  # visibility_config: { # required
1221
1330
  # sampled_requests_enabled: false, # required
1222
1331
  # cloud_watch_metrics_enabled: false, # required
@@ -1235,6 +1344,12 @@ module Aws::WAFV2
1235
1344
  # value: "TagValue", # required
1236
1345
  # },
1237
1346
  # ],
1347
+ # custom_response_bodies: {
1348
+ # "EntityName" => {
1349
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1350
+ # content: "ResponseContent", # required
1351
+ # },
1352
+ # },
1238
1353
  # })
1239
1354
  #
1240
1355
  # @example Response structure
@@ -1256,25 +1371,26 @@ module Aws::WAFV2
1256
1371
 
1257
1372
  # Creates a WebACL per the specifications provided.
1258
1373
  #
1259
- # A Web ACL defines a collection of rules to use to inspect and control
1374
+ # A web ACL defines a collection of rules to use to inspect and control
1260
1375
  # web requests. Each rule has an action defined (allow, block, or count)
1261
- # for requests that match the statement of the rule. In the Web ACL, you
1376
+ # for requests that match the statement of the rule. In the web ACL, you
1262
1377
  # assign a default action to take (allow, block) for any request that
1263
- # does not match any of the rules. The rules in a Web ACL can be a
1378
+ # does not match any of the rules. The rules in a web ACL can be a
1264
1379
  # combination of the types Rule, RuleGroup, and managed rule group. You
1265
- # can associate a Web ACL with one or more AWS resources to protect. The
1266
- # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
1267
- # Application Load Balancer, or an AWS AppSync GraphQL API.
1380
+ # can associate a web ACL with one or more Amazon Web Services resources
1381
+ # to protect. The resources can be an Amazon CloudFront distribution, an
1382
+ # Amazon API Gateway REST API, an Application Load Balancer, or an
1383
+ # AppSync GraphQL API.
1268
1384
  #
1269
1385
  # @option params [required, String] :name
1270
- # The name of the Web ACL. You cannot change the name of a Web ACL after
1386
+ # The name of the web ACL. You cannot change the name of a web ACL after
1271
1387
  # you create it.
1272
1388
  #
1273
1389
  # @option params [required, String] :scope
1274
- # Specifies whether this is for an AWS CloudFront distribution or for a
1275
- # regional application. A regional application can be an Application
1276
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1277
- # API.
1390
+ # Specifies whether this is for an Amazon CloudFront distribution or for
1391
+ # a regional application. A regional application can be an Application
1392
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
1393
+ # GraphQL API.
1278
1394
  #
1279
1395
  # To work with CloudFront, you must also specify the Region US East (N.
1280
1396
  # Virginia) as follows:
@@ -1289,13 +1405,13 @@ module Aws::WAFV2
1289
1405
  # match.
1290
1406
  #
1291
1407
  # @option params [String] :description
1292
- # A description of the Web ACL that helps with identification.
1408
+ # A description of the web ACL that helps with identification.
1293
1409
  #
1294
1410
  # @option params [Array<Types::Rule>] :rules
1295
1411
  # The Rule statements used to identify the web requests that you want to
1296
1412
  # allow, block, or count. Each rule includes one top-level statement
1297
- # that AWS WAF uses to identify matching web requests, and parameters
1298
- # that govern how AWS WAF handles them.
1413
+ # that WAF uses to identify matching web requests, and parameters that
1414
+ # govern how WAF handles them.
1299
1415
  #
1300
1416
  # @option params [required, Types::VisibilityConfig] :visibility_config
1301
1417
  # Defines and enables Amazon CloudWatch metrics and web request sample
@@ -1304,6 +1420,26 @@ module Aws::WAFV2
1304
1420
  # @option params [Array<Types::Tag>] :tags
1305
1421
  # An array of key:value pairs to associate with the resource.
1306
1422
  #
1423
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
1424
+ # A map of custom response keys and content bodies. When you create a
1425
+ # rule with a block action, you can send a custom response to the web
1426
+ # request. You define these for the web ACL, and then use them in the
1427
+ # rules and default actions that you define in the web ACL.
1428
+ #
1429
+ # For information about customizing web requests and responses, see
1430
+ # [Customizing web requests and responses in WAF][1] in the [WAF
1431
+ # Developer Guide][2].
1432
+ #
1433
+ # For information about the limits on count and size for custom request
1434
+ # and response settings, see [WAF quotas][3] in the [WAF Developer
1435
+ # Guide][2].
1436
+ #
1437
+ #
1438
+ #
1439
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
1440
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1441
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1442
+ #
1307
1443
  # @return [Types::CreateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1308
1444
  #
1309
1445
  # * {Types::CreateWebACLResponse#summary #summary} => Types::WebACLSummary
@@ -1315,8 +1451,26 @@ module Aws::WAFV2
1315
1451
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
1316
1452
  # default_action: { # required
1317
1453
  # block: {
1454
+ # custom_response: {
1455
+ # response_code: 1, # required
1456
+ # custom_response_body_key: "EntityName",
1457
+ # response_headers: [
1458
+ # {
1459
+ # name: "CustomHTTPHeaderName", # required
1460
+ # value: "CustomHTTPHeaderValue", # required
1461
+ # },
1462
+ # ],
1463
+ # },
1318
1464
  # },
1319
1465
  # allow: {
1466
+ # custom_request_handling: {
1467
+ # insert_headers: [ # required
1468
+ # {
1469
+ # name: "CustomHTTPHeaderName", # required
1470
+ # value: "CustomHTTPHeaderValue", # required
1471
+ # },
1472
+ # ],
1473
+ # },
1320
1474
  # },
1321
1475
  # },
1322
1476
  # description: "EntityDescription",
@@ -1357,7 +1511,7 @@ module Aws::WAFV2
1357
1511
  # text_transformations: [ # required
1358
1512
  # {
1359
1513
  # priority: 1, # required
1360
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1514
+ # 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
1361
1515
  # },
1362
1516
  # ],
1363
1517
  # positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
@@ -1393,7 +1547,7 @@ module Aws::WAFV2
1393
1547
  # text_transformations: [ # required
1394
1548
  # {
1395
1549
  # priority: 1, # required
1396
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1550
+ # 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
1397
1551
  # },
1398
1552
  # ],
1399
1553
  # },
@@ -1428,7 +1582,7 @@ module Aws::WAFV2
1428
1582
  # text_transformations: [ # required
1429
1583
  # {
1430
1584
  # priority: 1, # required
1431
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1585
+ # 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
1432
1586
  # },
1433
1587
  # ],
1434
1588
  # },
@@ -1465,7 +1619,7 @@ module Aws::WAFV2
1465
1619
  # text_transformations: [ # required
1466
1620
  # {
1467
1621
  # priority: 1, # required
1468
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1622
+ # 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
1469
1623
  # },
1470
1624
  # ],
1471
1625
  # },
@@ -1524,7 +1678,7 @@ module Aws::WAFV2
1524
1678
  # text_transformations: [ # required
1525
1679
  # {
1526
1680
  # priority: 1, # required
1527
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
1681
+ # 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
1528
1682
  # },
1529
1683
  # ],
1530
1684
  # },
@@ -1566,22 +1720,68 @@ module Aws::WAFV2
1566
1720
  # name: "EntityName", # required
1567
1721
  # },
1568
1722
  # ],
1723
+ # scope_down_statement: {
1724
+ # # recursive Statement
1725
+ # },
1726
+ # },
1727
+ # label_match_statement: {
1728
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1729
+ # key: "LabelMatchKey", # required
1569
1730
  # },
1570
1731
  # },
1571
1732
  # action: {
1572
1733
  # block: {
1734
+ # custom_response: {
1735
+ # response_code: 1, # required
1736
+ # custom_response_body_key: "EntityName",
1737
+ # response_headers: [
1738
+ # {
1739
+ # name: "CustomHTTPHeaderName", # required
1740
+ # value: "CustomHTTPHeaderValue", # required
1741
+ # },
1742
+ # ],
1743
+ # },
1573
1744
  # },
1574
1745
  # allow: {
1746
+ # custom_request_handling: {
1747
+ # insert_headers: [ # required
1748
+ # {
1749
+ # name: "CustomHTTPHeaderName", # required
1750
+ # value: "CustomHTTPHeaderValue", # required
1751
+ # },
1752
+ # ],
1753
+ # },
1575
1754
  # },
1576
1755
  # count: {
1756
+ # custom_request_handling: {
1757
+ # insert_headers: [ # required
1758
+ # {
1759
+ # name: "CustomHTTPHeaderName", # required
1760
+ # value: "CustomHTTPHeaderValue", # required
1761
+ # },
1762
+ # ],
1763
+ # },
1577
1764
  # },
1578
1765
  # },
1579
1766
  # override_action: {
1580
1767
  # count: {
1768
+ # custom_request_handling: {
1769
+ # insert_headers: [ # required
1770
+ # {
1771
+ # name: "CustomHTTPHeaderName", # required
1772
+ # value: "CustomHTTPHeaderValue", # required
1773
+ # },
1774
+ # ],
1775
+ # },
1581
1776
  # },
1582
1777
  # none: {
1583
1778
  # },
1584
1779
  # },
1780
+ # rule_labels: [
1781
+ # {
1782
+ # name: "LabelName", # required
1783
+ # },
1784
+ # ],
1585
1785
  # visibility_config: { # required
1586
1786
  # sampled_requests_enabled: false, # required
1587
1787
  # cloud_watch_metrics_enabled: false, # required
@@ -1600,6 +1800,12 @@ module Aws::WAFV2
1600
1800
  # value: "TagValue", # required
1601
1801
  # },
1602
1802
  # ],
1803
+ # custom_response_bodies: {
1804
+ # "EntityName" => {
1805
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1806
+ # content: "ResponseContent", # required
1807
+ # },
1808
+ # },
1603
1809
  # })
1604
1810
  #
1605
1811
  # @example Response structure
@@ -1619,8 +1825,8 @@ module Aws::WAFV2
1619
1825
  req.send_request(options)
1620
1826
  end
1621
1827
 
1622
- # Deletes all rule groups that are managed by AWS Firewall Manager for
1623
- # the specified web ACL.
1828
+ # Deletes all rule groups that are managed by Firewall Manager for the
1829
+ # specified web ACL.
1624
1830
  #
1625
1831
  # You can only use this if `ManagedByFirewallManager` is false in the
1626
1832
  # specified WebACL.
@@ -1629,14 +1835,14 @@ module Aws::WAFV2
1629
1835
  # The Amazon Resource Name (ARN) of the web ACL.
1630
1836
  #
1631
1837
  # @option params [required, String] :web_acl_lock_token
1632
- # A token used for optimistic locking. AWS WAF returns a token to your
1633
- # get and list requests, to mark the state of the entity at the time of
1634
- # the request. To make changes to the entity associated with the token,
1635
- # you provide the token to operations like update and delete. AWS WAF
1636
- # uses the token to ensure that no changes have been made to the entity
1637
- # since you last retrieved it. If a change has been made, the update
1638
- # fails with a `WAFOptimisticLockException`. If this happens, perform
1639
- # another get, and use the new token returned by that operation.
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.
1640
1846
  #
1641
1847
  # @return [Types::DeleteFirewallManagerRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1642
1848
  #
@@ -1669,10 +1875,10 @@ module Aws::WAFV2
1669
1875
  # you create it.
1670
1876
  #
1671
1877
  # @option params [required, String] :scope
1672
- # Specifies whether this is for an AWS CloudFront distribution or for a
1673
- # regional application. A regional application can be an Application
1674
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1675
- # API.
1878
+ # Specifies whether this is for an Amazon CloudFront distribution or for
1879
+ # a regional application. A regional application can be an Application
1880
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
1881
+ # GraphQL API.
1676
1882
  #
1677
1883
  # To work with CloudFront, you must also specify the Region US East (N.
1678
1884
  # Virginia) as follows:
@@ -1688,14 +1894,14 @@ module Aws::WAFV2
1688
1894
  # and delete.
1689
1895
  #
1690
1896
  # @option params [required, String] :lock_token
1691
- # A token used for optimistic locking. AWS WAF returns a token to your
1692
- # get and list requests, to mark the state of the entity at the time of
1693
- # the request. To make changes to the entity associated with the token,
1694
- # you provide the token to operations like update and delete. AWS WAF
1695
- # uses the token to ensure that no changes have been made to the entity
1696
- # since you last retrieved it. If a change has been made, the update
1697
- # fails with a `WAFOptimisticLockException`. If this happens, perform
1698
- # another get, and use the new token returned by that operation.
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.
1699
1905
  #
1700
1906
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1701
1907
  #
@@ -1774,10 +1980,10 @@ module Aws::WAFV2
1774
1980
  # set.
1775
1981
  #
1776
1982
  # @option params [required, String] :scope
1777
- # Specifies whether this is for an AWS CloudFront distribution or for a
1778
- # regional application. A regional application can be an Application
1779
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1780
- # API.
1983
+ # Specifies whether this is for an Amazon CloudFront distribution or for
1984
+ # a regional application. A regional application can be an Application
1985
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
1986
+ # GraphQL API.
1781
1987
  #
1782
1988
  # To work with CloudFront, you must also specify the Region US East (N.
1783
1989
  # Virginia) as follows:
@@ -1793,14 +1999,14 @@ module Aws::WAFV2
1793
1999
  # and delete.
1794
2000
  #
1795
2001
  # @option params [required, String] :lock_token
1796
- # A token used for optimistic locking. AWS WAF returns a token to your
1797
- # get and list requests, to mark the state of the entity at the time of
1798
- # the request. To make changes to the entity associated with the token,
1799
- # you provide the token to operations like update and delete. AWS WAF
1800
- # uses the token to ensure that no changes have been made to the entity
1801
- # since you last retrieved it. If a change has been made, the update
1802
- # fails with a `WAFOptimisticLockException`. If this happens, perform
1803
- # another get, and use the new token returned by that operation.
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.
1804
2010
  #
1805
2011
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1806
2012
  #
@@ -1829,10 +2035,10 @@ module Aws::WAFV2
1829
2035
  # after you create it.
1830
2036
  #
1831
2037
  # @option params [required, String] :scope
1832
- # Specifies whether this is for an AWS CloudFront distribution or for a
1833
- # regional application. A regional application can be an Application
1834
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1835
- # API.
2038
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2039
+ # a regional application. A regional application can be an Application
2040
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2041
+ # GraphQL API.
1836
2042
  #
1837
2043
  # To work with CloudFront, you must also specify the Region US East (N.
1838
2044
  # Virginia) as follows:
@@ -1848,14 +2054,14 @@ module Aws::WAFV2
1848
2054
  # like update and delete.
1849
2055
  #
1850
2056
  # @option params [required, String] :lock_token
1851
- # A token used for optimistic locking. AWS WAF returns a token to your
1852
- # get and list requests, to mark the state of the entity at the time of
1853
- # the request. To make changes to the entity associated with the token,
1854
- # you provide the token to operations like update and delete. AWS WAF
1855
- # uses the token to ensure that no changes have been made to the entity
1856
- # since you last retrieved it. If a change has been made, the update
1857
- # fails with a `WAFOptimisticLockException`. If this happens, perform
1858
- # another get, and use the new token returned by that operation.
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.
1859
2065
  #
1860
2066
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1861
2067
  #
@@ -1883,14 +2089,14 @@ module Aws::WAFV2
1883
2089
  # specified WebACL.
1884
2090
  #
1885
2091
  # @option params [required, String] :name
1886
- # The name of the Web ACL. You cannot change the name of a Web ACL after
2092
+ # The name of the web ACL. You cannot change the name of a web ACL after
1887
2093
  # you create it.
1888
2094
  #
1889
2095
  # @option params [required, String] :scope
1890
- # Specifies whether this is for an AWS CloudFront distribution or for a
1891
- # regional application. A regional application can be an Application
1892
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1893
- # API.
2096
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2097
+ # a regional application. A regional application can be an Application
2098
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2099
+ # GraphQL API.
1894
2100
  #
1895
2101
  # To work with CloudFront, you must also specify the Region US East (N.
1896
2102
  # Virginia) as follows:
@@ -1901,19 +2107,19 @@ module Aws::WAFV2
1901
2107
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
1902
2108
  #
1903
2109
  # @option params [required, String] :id
1904
- # The unique identifier for the Web ACL. This ID is returned in the
2110
+ # The unique identifier for the web ACL. This ID is returned in the
1905
2111
  # responses to create and list commands. You provide it to operations
1906
2112
  # like update and delete.
1907
2113
  #
1908
2114
  # @option params [required, String] :lock_token
1909
- # A token used for optimistic locking. AWS WAF returns a token to your
1910
- # get and list requests, to mark the state of the entity at the time of
1911
- # the request. To make changes to the entity associated with the token,
1912
- # you provide the token to operations like update and delete. AWS WAF
1913
- # uses the token to ensure that no changes have been made to the entity
1914
- # since you last retrieved it. If a change has been made, the update
1915
- # fails with a `WAFOptimisticLockException`. If this happens, perform
1916
- # another get, and use the new token returned by that operation.
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.
1917
2123
  #
1918
2124
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1919
2125
  #
@@ -1947,10 +2153,10 @@ module Aws::WAFV2
1947
2153
  # vendor name, to identify the rule group.
1948
2154
  #
1949
2155
  # @option params [required, String] :scope
1950
- # Specifies whether this is for an AWS CloudFront distribution or for a
1951
- # regional application. A regional application can be an Application
1952
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1953
- # API.
2156
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2157
+ # a regional application. A regional application can be an Application
2158
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2159
+ # GraphQL API.
1954
2160
  #
1955
2161
  # To work with CloudFront, you must also specify the Region US East (N.
1956
2162
  # Virginia) as follows:
@@ -1964,6 +2170,9 @@ module Aws::WAFV2
1964
2170
  #
1965
2171
  # * {Types::DescribeManagedRuleGroupResponse#capacity #capacity} => Integer
1966
2172
  # * {Types::DescribeManagedRuleGroupResponse#rules #rules} => Array&lt;Types::RuleSummary&gt;
2173
+ # * {Types::DescribeManagedRuleGroupResponse#label_namespace #label_namespace} => String
2174
+ # * {Types::DescribeManagedRuleGroupResponse#available_labels #available_labels} => Array&lt;Types::LabelSummary&gt;
2175
+ # * {Types::DescribeManagedRuleGroupResponse#consumed_labels #consumed_labels} => Array&lt;Types::LabelSummary&gt;
1967
2176
  #
1968
2177
  # @example Request syntax with placeholder values
1969
2178
  #
@@ -1978,6 +2187,22 @@ module Aws::WAFV2
1978
2187
  # resp.capacity #=> Integer
1979
2188
  # resp.rules #=> Array
1980
2189
  # resp.rules[0].name #=> String
2190
+ # resp.rules[0].action.block.custom_response.response_code #=> Integer
2191
+ # resp.rules[0].action.block.custom_response.custom_response_body_key #=> String
2192
+ # resp.rules[0].action.block.custom_response.response_headers #=> Array
2193
+ # resp.rules[0].action.block.custom_response.response_headers[0].name #=> String
2194
+ # resp.rules[0].action.block.custom_response.response_headers[0].value #=> String
2195
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2196
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2197
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2198
+ # resp.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2199
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2200
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2201
+ # resp.label_namespace #=> String
2202
+ # resp.available_labels #=> Array
2203
+ # resp.available_labels[0].name #=> String
2204
+ # resp.consumed_labels #=> Array
2205
+ # resp.consumed_labels[0].name #=> String
1981
2206
  #
1982
2207
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroup AWS API Documentation
1983
2208
  #
@@ -1988,14 +2213,14 @@ module Aws::WAFV2
1988
2213
  req.send_request(options)
1989
2214
  end
1990
2215
 
1991
- # Disassociates a Web ACL from a regional application resource. A
1992
- # regional application can be an Application Load Balancer (ALB), an API
1993
- # Gateway REST API, or an AppSync GraphQL API.
2216
+ # Disassociates a web ACL from a regional application resource. A
2217
+ # regional application can be an Application Load Balancer (ALB), an
2218
+ # Amazon API Gateway REST API, or an AppSync GraphQL API.
1994
2219
  #
1995
- # For AWS CloudFront, don't use this call. Instead, use your CloudFront
1996
- # distribution configuration. To disassociate a Web ACL, provide an
1997
- # empty web ACL ID in the CloudFront call `UpdateDistribution`. For
1998
- # information, see [UpdateDistribution][1].
2220
+ # For Amazon CloudFront, don't use this call. Instead, use your
2221
+ # CloudFront distribution configuration. To disassociate a web ACL,
2222
+ # provide an empty web ACL ID in the CloudFront call
2223
+ # `UpdateDistribution`. For information, see [UpdateDistribution][1].
1999
2224
  #
2000
2225
  #
2001
2226
  #
@@ -2011,7 +2236,7 @@ module Aws::WAFV2
2011
2236
  # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
2012
2237
  # `
2013
2238
  #
2014
- # * For an API Gateway REST API:
2239
+ # * For an Amazon API Gateway REST API:
2015
2240
  # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
2016
2241
  #
2017
2242
  # * For an AppSync GraphQL API:
@@ -2041,10 +2266,10 @@ module Aws::WAFV2
2041
2266
  # you create it.
2042
2267
  #
2043
2268
  # @option params [required, String] :scope
2044
- # Specifies whether this is for an AWS CloudFront distribution or for a
2045
- # regional application. A regional application can be an Application
2046
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2047
- # API.
2269
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2270
+ # a regional application. A regional application can be an Application
2271
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2272
+ # GraphQL API.
2048
2273
  #
2049
2274
  # To work with CloudFront, you must also specify the Region US East (N.
2050
2275
  # Virginia) as follows:
@@ -2121,6 +2346,13 @@ module Aws::WAFV2
2121
2346
  # resp.logging_configuration.redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2122
2347
  # resp.logging_configuration.redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2123
2348
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
2349
+ # resp.logging_configuration.logging_filter.filters #=> Array
2350
+ # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
2351
+ # resp.logging_configuration.logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
2352
+ # resp.logging_configuration.logging_filter.filters[0].conditions #=> Array
2353
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
2354
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
2355
+ # resp.logging_configuration.logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
2124
2356
  #
2125
2357
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration AWS API Documentation
2126
2358
  #
@@ -2168,10 +2400,10 @@ module Aws::WAFV2
2168
2400
  # rate limit, those with the highest rates are blocked.
2169
2401
  #
2170
2402
  # @option params [required, String] :scope
2171
- # Specifies whether this is for an AWS CloudFront distribution or for a
2172
- # regional application. A regional application can be an Application
2173
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2174
- # API.
2403
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2404
+ # a regional application. A regional application can be an Application
2405
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2406
+ # GraphQL API.
2175
2407
  #
2176
2408
  # To work with CloudFront, you must also specify the Region US East (N.
2177
2409
  # Virginia) as follows:
@@ -2182,11 +2414,11 @@ module Aws::WAFV2
2182
2414
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2183
2415
  #
2184
2416
  # @option params [required, String] :web_acl_name
2185
- # The name of the Web ACL. You cannot change the name of a Web ACL after
2417
+ # The name of the web ACL. You cannot change the name of a web ACL after
2186
2418
  # you create it.
2187
2419
  #
2188
2420
  # @option params [required, String] :web_acl_id
2189
- # The unique identifier for the Web ACL. This ID is returned in the
2421
+ # The unique identifier for the web ACL. This ID is returned in the
2190
2422
  # responses to create and list commands. You provide it to operations
2191
2423
  # like update and delete.
2192
2424
  #
@@ -2232,10 +2464,10 @@ module Aws::WAFV2
2232
2464
  # set.
2233
2465
  #
2234
2466
  # @option params [required, String] :scope
2235
- # Specifies whether this is for an AWS CloudFront distribution or for a
2236
- # regional application. A regional application can be an Application
2237
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2238
- # API.
2467
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2468
+ # a regional application. A regional application can be an Application
2469
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2470
+ # GraphQL API.
2239
2471
  #
2240
2472
  # To work with CloudFront, you must also specify the Region US East (N.
2241
2473
  # Virginia) as follows:
@@ -2284,15 +2516,15 @@ module Aws::WAFV2
2284
2516
 
2285
2517
  # Retrieves the specified RuleGroup.
2286
2518
  #
2287
- # @option params [required, String] :name
2519
+ # @option params [String] :name
2288
2520
  # The name of the rule group. You cannot change the name of a rule group
2289
2521
  # after you create it.
2290
2522
  #
2291
- # @option params [required, String] :scope
2292
- # Specifies whether this is for an AWS CloudFront distribution or for a
2293
- # regional application. A regional application can be an Application
2294
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2295
- # API.
2523
+ # @option params [String] :scope
2524
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2525
+ # a regional application. A regional application can be an Application
2526
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2527
+ # GraphQL API.
2296
2528
  #
2297
2529
  # To work with CloudFront, you must also specify the Region US East (N.
2298
2530
  # Virginia) as follows:
@@ -2302,11 +2534,14 @@ module Aws::WAFV2
2302
2534
  #
2303
2535
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2304
2536
  #
2305
- # @option params [required, String] :id
2537
+ # @option params [String] :id
2306
2538
  # A unique identifier for the rule group. This ID is returned in the
2307
2539
  # responses to create and list commands. You provide it to operations
2308
2540
  # like update and delete.
2309
2541
  #
2542
+ # @option params [String] :arn
2543
+ # The Amazon Resource Name (ARN) of the entity.
2544
+ #
2310
2545
  # @return [Types::GetRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2311
2546
  #
2312
2547
  # * {Types::GetRuleGroupResponse#rule_group #rule_group} => Types::RuleGroup
@@ -2315,9 +2550,10 @@ module Aws::WAFV2
2315
2550
  # @example Request syntax with placeholder values
2316
2551
  #
2317
2552
  # resp = client.get_rule_group({
2318
- # name: "EntityName", # required
2319
- # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
2320
- # id: "EntityId", # required
2553
+ # name: "EntityName",
2554
+ # scope: "CLOUDFRONT", # accepts CLOUDFRONT, REGIONAL
2555
+ # id: "EntityId",
2556
+ # arn: "ResourceArn",
2321
2557
  # })
2322
2558
  #
2323
2559
  # @example Response structure
@@ -2339,7 +2575,7 @@ module Aws::WAFV2
2339
2575
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2340
2576
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations #=> Array
2341
2577
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2342
- # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2578
+ # resp.rule_group.rules[0].statement.byte_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"
2343
2579
  # resp.rule_group.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2344
2580
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2345
2581
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
@@ -2349,7 +2585,7 @@ module Aws::WAFV2
2349
2585
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2350
2586
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2351
2587
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2352
- # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2588
+ # resp.rule_group.rules[0].statement.sqli_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"
2353
2589
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2354
2590
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2355
2591
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2358,7 +2594,7 @@ module Aws::WAFV2
2358
2594
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2359
2595
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations #=> Array
2360
2596
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2361
- # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2597
+ # resp.rule_group.rules[0].statement.xss_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"
2362
2598
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2363
2599
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2364
2600
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2369,7 +2605,7 @@ module Aws::WAFV2
2369
2605
  # resp.rule_group.rules[0].statement.size_constraint_statement.size #=> Integer
2370
2606
  # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations #=> Array
2371
2607
  # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations[0].priority #=> Integer
2372
- # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2608
+ # resp.rule_group.rules[0].statement.size_constraint_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"
2373
2609
  # resp.rule_group.rules[0].statement.geo_match_statement.country_codes #=> Array
2374
2610
  # resp.rule_group.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
2375
2611
  # resp.rule_group.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
@@ -2390,7 +2626,7 @@ module Aws::WAFV2
2390
2626
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2391
2627
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2392
2628
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2393
- # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2629
+ # resp.rule_group.rules[0].statement.regex_pattern_set_reference_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"
2394
2630
  # resp.rule_group.rules[0].statement.rate_based_statement.limit #=> Integer
2395
2631
  # resp.rule_group.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2396
2632
  # resp.rule_group.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
@@ -2405,12 +2641,39 @@ module Aws::WAFV2
2405
2641
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.name #=> String
2406
2642
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2407
2643
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2644
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2645
+ # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2646
+ # resp.rule_group.rules[0].statement.label_match_statement.key #=> String
2647
+ # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2648
+ # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2649
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
2650
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].name #=> String
2651
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].value #=> String
2652
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2653
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2654
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2655
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2656
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2657
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2658
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2659
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2660
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2661
+ # resp.rule_group.rules[0].rule_labels #=> Array
2662
+ # resp.rule_group.rules[0].rule_labels[0].name #=> String
2408
2663
  # resp.rule_group.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2409
2664
  # resp.rule_group.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2410
2665
  # resp.rule_group.rules[0].visibility_config.metric_name #=> String
2411
2666
  # resp.rule_group.visibility_config.sampled_requests_enabled #=> Boolean
2412
2667
  # resp.rule_group.visibility_config.cloud_watch_metrics_enabled #=> Boolean
2413
2668
  # resp.rule_group.visibility_config.metric_name #=> String
2669
+ # resp.rule_group.label_namespace #=> String
2670
+ # resp.rule_group.custom_response_bodies #=> Hash
2671
+ # resp.rule_group.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
2672
+ # resp.rule_group.custom_response_bodies["EntityName"].content #=> String
2673
+ # resp.rule_group.available_labels #=> Array
2674
+ # resp.rule_group.available_labels[0].name #=> String
2675
+ # resp.rule_group.consumed_labels #=> Array
2676
+ # resp.rule_group.consumed_labels[0].name #=> String
2414
2677
  # resp.lock_token #=> String
2415
2678
  #
2416
2679
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroup AWS API Documentation
@@ -2423,17 +2686,17 @@ module Aws::WAFV2
2423
2686
  end
2424
2687
 
2425
2688
  # Gets detailed information about a specified number of requests--a
2426
- # sample--that AWS WAF randomly selects from among the first 5,000
2427
- # requests that your AWS resource received during a time range that you
2428
- # choose. You can specify a sample size of up to 500 requests, and you
2429
- # can specify any time range in the previous three hours.
2689
+ # sample--that WAF randomly selects from among the first 5,000 requests
2690
+ # that your Amazon Web Services resource received during a time range
2691
+ # that you choose. You can specify a sample size of up to 500 requests,
2692
+ # and you can specify any time range in the previous three hours.
2430
2693
  #
2431
2694
  # `GetSampledRequests` returns a time range, which is usually the time
2432
2695
  # range that you specified. However, if your resource (such as a
2433
2696
  # CloudFront distribution) received 5,000 requests before the specified
2434
2697
  # time range elapsed, `GetSampledRequests` returns an updated time
2435
2698
  # range. This new time range indicates the actual period during which
2436
- # AWS WAF selected the requests in the sample.
2699
+ # WAF selected the requests in the sample.
2437
2700
  #
2438
2701
  # @option params [required, String] :web_acl_arn
2439
2702
  # The Amazon resource name (ARN) of the `WebACL` for which you want a
@@ -2444,10 +2707,10 @@ module Aws::WAFV2
2444
2707
  # want a sample of requests.
2445
2708
  #
2446
2709
  # @option params [required, String] :scope
2447
- # Specifies whether this is for an AWS CloudFront distribution or for a
2448
- # regional application. A regional application can be an Application
2449
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2450
- # API.
2710
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2711
+ # a regional application. A regional application can be an Application
2712
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2713
+ # GraphQL API.
2451
2714
  #
2452
2715
  # To work with CloudFront, you must also specify the Region US East (N.
2453
2716
  # Virginia) as follows:
@@ -2464,14 +2727,14 @@ module Aws::WAFV2
2464
2727
  # UTC format includes the special designator, `Z`. For example,
2465
2728
  # `"2016-09-27T14:50Z"`. You can specify any time range in the previous
2466
2729
  # three hours. If you specify a start time that's earlier than three
2467
- # hours ago, AWS WAF sets it to three hours ago.
2730
+ # hours ago, WAF sets it to three hours ago.
2468
2731
  #
2469
2732
  # @option params [required, Integer] :max_items
2470
- # The number of requests that you want AWS WAF to return from among the
2471
- # first 5,000 requests that your AWS resource received during the time
2472
- # range. If your resource received fewer requests than the value of
2473
- # `MaxItems`, `GetSampledRequests` returns information about all of
2474
- # them.
2733
+ # The number of requests that you want WAF to return from among the
2734
+ # first 5,000 requests that your Amazon Web Services resource received
2735
+ # during the time range. If your resource received fewer requests than
2736
+ # the value of `MaxItems`, `GetSampledRequests` returns information
2737
+ # about all of them.
2475
2738
  #
2476
2739
  # @return [Types::GetSampledRequestsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2477
2740
  #
@@ -2507,6 +2770,12 @@ module Aws::WAFV2
2507
2770
  # resp.sampled_requests[0].timestamp #=> Time
2508
2771
  # resp.sampled_requests[0].action #=> String
2509
2772
  # resp.sampled_requests[0].rule_name_within_rule_group #=> String
2773
+ # resp.sampled_requests[0].request_headers_inserted #=> Array
2774
+ # resp.sampled_requests[0].request_headers_inserted[0].name #=> String
2775
+ # resp.sampled_requests[0].request_headers_inserted[0].value #=> String
2776
+ # resp.sampled_requests[0].response_code_sent #=> Integer
2777
+ # resp.sampled_requests[0].labels #=> Array
2778
+ # resp.sampled_requests[0].labels[0].name #=> String
2510
2779
  # resp.population_size #=> Integer
2511
2780
  # resp.time_window.start_time #=> Time
2512
2781
  # resp.time_window.end_time #=> Time
@@ -2523,14 +2792,14 @@ module Aws::WAFV2
2523
2792
  # Retrieves the specified WebACL.
2524
2793
  #
2525
2794
  # @option params [required, String] :name
2526
- # The name of the Web ACL. You cannot change the name of a Web ACL after
2795
+ # The name of the web ACL. You cannot change the name of a web ACL after
2527
2796
  # you create it.
2528
2797
  #
2529
2798
  # @option params [required, String] :scope
2530
- # Specifies whether this is for an AWS CloudFront distribution or for a
2531
- # regional application. A regional application can be an Application
2532
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2533
- # API.
2799
+ # Specifies whether this is for an Amazon CloudFront distribution or for
2800
+ # a regional application. A regional application can be an Application
2801
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
2802
+ # GraphQL API.
2534
2803
  #
2535
2804
  # To work with CloudFront, you must also specify the Region US East (N.
2536
2805
  # Virginia) as follows:
@@ -2541,7 +2810,7 @@ module Aws::WAFV2
2541
2810
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2542
2811
  #
2543
2812
  # @option params [required, String] :id
2544
- # The unique identifier for the Web ACL. This ID is returned in the
2813
+ # The unique identifier for the web ACL. This ID is returned in the
2545
2814
  # responses to create and list commands. You provide it to operations
2546
2815
  # like update and delete.
2547
2816
  #
@@ -2563,6 +2832,14 @@ module Aws::WAFV2
2563
2832
  # resp.web_acl.name #=> String
2564
2833
  # resp.web_acl.id #=> String
2565
2834
  # resp.web_acl.arn #=> String
2835
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
2836
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
2837
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
2838
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
2839
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
2840
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
2841
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
2842
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2566
2843
  # resp.web_acl.description #=> String
2567
2844
  # resp.web_acl.rules #=> Array
2568
2845
  # resp.web_acl.rules[0].name #=> String
@@ -2576,7 +2853,7 @@ module Aws::WAFV2
2576
2853
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2577
2854
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations #=> Array
2578
2855
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2579
- # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2856
+ # resp.web_acl.rules[0].statement.byte_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"
2580
2857
  # resp.web_acl.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2581
2858
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2582
2859
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
@@ -2586,7 +2863,7 @@ module Aws::WAFV2
2586
2863
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2587
2864
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2588
2865
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2589
- # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2866
+ # resp.web_acl.rules[0].statement.sqli_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"
2590
2867
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2591
2868
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2592
2869
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2595,7 +2872,7 @@ module Aws::WAFV2
2595
2872
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2596
2873
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations #=> Array
2597
2874
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2598
- # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2875
+ # resp.web_acl.rules[0].statement.xss_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"
2599
2876
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2600
2877
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2601
2878
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2606,7 +2883,7 @@ module Aws::WAFV2
2606
2883
  # resp.web_acl.rules[0].statement.size_constraint_statement.size #=> Integer
2607
2884
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations #=> Array
2608
2885
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].priority #=> Integer
2609
- # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2886
+ # resp.web_acl.rules[0].statement.size_constraint_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"
2610
2887
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2611
2888
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
2612
2889
  # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
@@ -2627,7 +2904,7 @@ module Aws::WAFV2
2627
2904
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2628
2905
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2629
2906
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2630
- # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2907
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_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"
2631
2908
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2632
2909
  # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2633
2910
  # resp.web_acl.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
@@ -2642,6 +2919,25 @@ module Aws::WAFV2
2642
2919
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2643
2920
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2644
2921
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2922
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2923
+ # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2924
+ # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
2925
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
2926
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
2927
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
2928
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
2929
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
2930
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2931
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2932
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2933
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2934
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2935
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2936
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2937
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2938
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2939
+ # resp.web_acl.rules[0].rule_labels #=> Array
2940
+ # resp.web_acl.rules[0].rule_labels[0].name #=> String
2645
2941
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2646
2942
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2647
2943
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2656,9 +2952,86 @@ module Aws::WAFV2
2656
2952
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2657
2953
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2658
2954
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2955
+ # 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
2956
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_header.name #=> String
2957
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
2958
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2959
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2960
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2961
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2962
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations #=> Array
2963
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations[0].priority #=> Integer
2964
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_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"
2965
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2966
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_header.name #=> String
2967
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
2968
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2969
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2970
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2971
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2972
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations #=> Array
2973
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2974
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_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"
2975
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_header.name #=> String
2976
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2977
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2978
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2979
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2980
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2981
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations #=> Array
2982
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations[0].priority #=> Integer
2983
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_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"
2984
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_header.name #=> String
2985
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2986
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2987
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2988
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2989
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2990
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
2991
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.size #=> Integer
2992
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations #=> Array
2993
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations[0].priority #=> Integer
2994
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_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"
2995
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes #=> Array
2996
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
2997
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.header_name #=> String
2998
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
2999
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.arn #=> String
3000
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules #=> Array
3001
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3002
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.arn #=> String
3003
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
3004
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3005
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
3006
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.arn #=> String
3007
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
3008
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
3009
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3010
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3011
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3012
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3013
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations #=> Array
3014
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
3015
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_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"
3016
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.limit #=> Integer
3017
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
3018
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.scope_down_statement #=> Types::Statement
3019
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.header_name #=> String
3020
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3021
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3022
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements[0] #=> Types::Statement
3023
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3024
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements[0] #=> Types::Statement
3025
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.not_statement.statement #=> Types::Statement
3026
+ # 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
+ # 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
+ # 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
2659
3029
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2660
3030
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2661
3031
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3032
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3033
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3034
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2662
3035
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2663
3036
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2664
3037
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2669,13 +3042,94 @@ module Aws::WAFV2
2669
3042
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2670
3043
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2671
3044
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3045
+ # 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
3046
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_header.name #=> String
3047
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
3048
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3049
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3050
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3051
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3052
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations #=> Array
3053
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations[0].priority #=> Integer
3054
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_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"
3055
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
3056
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_header.name #=> String
3057
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
3058
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3059
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3060
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3061
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3062
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations #=> Array
3063
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations[0].priority #=> Integer
3064
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_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"
3065
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_header.name #=> String
3066
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
3067
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3068
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3069
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3070
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3071
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations #=> Array
3072
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations[0].priority #=> Integer
3073
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_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"
3074
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_header.name #=> String
3075
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
3076
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3077
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3078
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3079
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3080
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3081
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.size #=> Integer
3082
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations #=> Array
3083
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations[0].priority #=> Integer
3084
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_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"
3085
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes #=> Array
3086
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
3087
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.header_name #=> String
3088
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3089
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.arn #=> String
3090
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules #=> Array
3091
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3092
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.arn #=> String
3093
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
3094
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3095
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
3096
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.arn #=> String
3097
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
3098
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
3099
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3100
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3101
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3102
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3103
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations #=> Array
3104
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
3105
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_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"
3106
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.limit #=> Integer
3107
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
3108
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.scope_down_statement #=> Types::Statement
3109
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.header_name #=> String
3110
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3111
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3112
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements[0] #=> Types::Statement
3113
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3114
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements[0] #=> Types::Statement
3115
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.not_statement.statement #=> Types::Statement
3116
+ # 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
+ # 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
+ # 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
2672
3119
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2673
3120
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2674
3121
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3122
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3123
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3124
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2675
3125
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2676
3126
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2677
3127
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2678
3128
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
3129
+ # resp.web_acl.label_namespace #=> String
3130
+ # resp.web_acl.custom_response_bodies #=> Hash
3131
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
3132
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2679
3133
  # resp.lock_token #=> String
2680
3134
  #
2681
3135
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL AWS API Documentation
@@ -2707,6 +3161,14 @@ module Aws::WAFV2
2707
3161
  # resp.web_acl.name #=> String
2708
3162
  # resp.web_acl.id #=> String
2709
3163
  # resp.web_acl.arn #=> String
3164
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
3165
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
3166
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
3167
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
3168
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
3169
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
3170
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
3171
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2710
3172
  # resp.web_acl.description #=> String
2711
3173
  # resp.web_acl.rules #=> Array
2712
3174
  # resp.web_acl.rules[0].name #=> String
@@ -2720,7 +3182,7 @@ module Aws::WAFV2
2720
3182
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2721
3183
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations #=> Array
2722
3184
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2723
- # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3185
+ # resp.web_acl.rules[0].statement.byte_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"
2724
3186
  # resp.web_acl.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2725
3187
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2726
3188
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
@@ -2730,7 +3192,7 @@ module Aws::WAFV2
2730
3192
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2731
3193
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2732
3194
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2733
- # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3195
+ # resp.web_acl.rules[0].statement.sqli_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"
2734
3196
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2735
3197
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2736
3198
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2739,7 +3201,7 @@ module Aws::WAFV2
2739
3201
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2740
3202
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations #=> Array
2741
3203
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2742
- # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3204
+ # resp.web_acl.rules[0].statement.xss_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"
2743
3205
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2744
3206
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2745
3207
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
@@ -2750,7 +3212,7 @@ module Aws::WAFV2
2750
3212
  # resp.web_acl.rules[0].statement.size_constraint_statement.size #=> Integer
2751
3213
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations #=> Array
2752
3214
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].priority #=> Integer
2753
- # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3215
+ # resp.web_acl.rules[0].statement.size_constraint_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"
2754
3216
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes #=> Array
2755
3217
  # resp.web_acl.rules[0].statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
2756
3218
  # resp.web_acl.rules[0].statement.geo_match_statement.forwarded_ip_config.header_name #=> String
@@ -2771,7 +3233,7 @@ module Aws::WAFV2
2771
3233
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2772
3234
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2773
3235
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2774
- # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3236
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_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"
2775
3237
  # resp.web_acl.rules[0].statement.rate_based_statement.limit #=> Integer
2776
3238
  # resp.web_acl.rules[0].statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
2777
3239
  # resp.web_acl.rules[0].statement.rate_based_statement.scope_down_statement #=> Types::Statement
@@ -2786,6 +3248,25 @@ module Aws::WAFV2
2786
3248
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2787
3249
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2788
3250
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3251
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3252
+ # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3253
+ # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3254
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3255
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3256
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
3257
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
3258
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
3259
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
3260
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
3261
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
3262
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
3263
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
3264
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
3265
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
3266
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3267
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
3268
+ # resp.web_acl.rules[0].rule_labels #=> Array
3269
+ # resp.web_acl.rules[0].rule_labels[0].name #=> String
2789
3270
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2790
3271
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2791
3272
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2800,9 +3281,86 @@ module Aws::WAFV2
2800
3281
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2801
3282
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2802
3283
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3284
+ # 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
3285
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_header.name #=> String
3286
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
3287
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3288
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3289
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3290
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3291
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations #=> Array
3292
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations[0].priority #=> Integer
3293
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_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"
3294
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
3295
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_header.name #=> String
3296
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
3297
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3298
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3299
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3300
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3301
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations #=> Array
3302
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations[0].priority #=> Integer
3303
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_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"
3304
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_header.name #=> String
3305
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
3306
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3307
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3308
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3309
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3310
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations #=> Array
3311
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations[0].priority #=> Integer
3312
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_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"
3313
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_header.name #=> String
3314
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
3315
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3316
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3317
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3318
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3319
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3320
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.size #=> Integer
3321
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations #=> Array
3322
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations[0].priority #=> Integer
3323
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_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"
3324
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes #=> Array
3325
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
3326
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.header_name #=> String
3327
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3328
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.arn #=> String
3329
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules #=> Array
3330
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3331
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.arn #=> String
3332
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
3333
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3334
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
3335
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.arn #=> String
3336
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
3337
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
3338
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3339
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3340
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3341
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3342
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations #=> Array
3343
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
3344
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_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"
3345
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.limit #=> Integer
3346
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
3347
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.scope_down_statement #=> Types::Statement
3348
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.header_name #=> String
3349
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3350
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3351
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements[0] #=> Types::Statement
3352
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3353
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements[0] #=> Types::Statement
3354
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.not_statement.statement #=> Types::Statement
3355
+ # 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
+ # 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
+ # 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
2803
3358
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2804
3359
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2805
3360
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3361
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3362
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3363
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2806
3364
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2807
3365
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2808
3366
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2813,13 +3371,94 @@ module Aws::WAFV2
2813
3371
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2814
3372
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2815
3373
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3374
+ # 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
3375
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_header.name #=> String
3376
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
3377
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3378
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3379
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3380
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3381
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations #=> Array
3382
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.text_transformations[0].priority #=> Integer
3383
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_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"
3384
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
3385
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_header.name #=> String
3386
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
3387
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3388
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3389
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3390
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3391
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations #=> Array
3392
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_match_statement.text_transformations[0].priority #=> Integer
3393
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.sqli_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"
3394
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_header.name #=> String
3395
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
3396
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3397
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3398
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3399
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3400
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations #=> Array
3401
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_match_statement.text_transformations[0].priority #=> Integer
3402
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.xss_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"
3403
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_header.name #=> String
3404
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
3405
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3406
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3407
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3408
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3409
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3410
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.size #=> Integer
3411
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations #=> Array
3412
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_statement.text_transformations[0].priority #=> Integer
3413
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.size_constraint_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"
3414
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes #=> Array
3415
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.country_codes[0] #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
3416
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.header_name #=> String
3417
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.geo_match_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3418
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.arn #=> String
3419
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules #=> Array
3420
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3421
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.arn #=> String
3422
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.header_name #=> String
3423
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3424
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.ip_set_reference_statement.ip_set_forwarded_ip_config.position #=> String, one of "FIRST", "LAST", "ANY"
3425
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.arn #=> String
3426
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
3427
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
3428
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3429
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3430
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3431
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3432
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations #=> Array
3433
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
3434
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_pattern_set_reference_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"
3435
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.limit #=> Integer
3436
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.aggregate_key_type #=> String, one of "IP", "FORWARDED_IP"
3437
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.scope_down_statement #=> Types::Statement
3438
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.header_name #=> String
3439
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.rate_based_statement.forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
3440
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3441
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements[0] #=> Types::Statement
3442
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3443
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements[0] #=> Types::Statement
3444
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.not_statement.statement #=> Types::Statement
3445
+ # 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
+ # 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
+ # 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
2816
3448
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2817
3449
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2818
3450
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3451
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3452
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3453
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2819
3454
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2820
3455
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2821
3456
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2822
3457
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
3458
+ # resp.web_acl.label_namespace #=> String
3459
+ # resp.web_acl.custom_response_bodies #=> Hash
3460
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
3461
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2823
3462
  #
2824
3463
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource AWS API Documentation
2825
3464
  #
@@ -2831,14 +3470,15 @@ module Aws::WAFV2
2831
3470
  end
2832
3471
 
2833
3472
  # Retrieves an array of managed rule groups that are available for you
2834
- # to use. This list includes all AWS Managed Rules rule groups and the
2835
- # AWS Marketplace managed rule groups that you're subscribed to.
3473
+ # 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.
2836
3476
  #
2837
3477
  # @option params [required, String] :scope
2838
- # Specifies whether this is for an AWS CloudFront distribution or for a
2839
- # regional application. A regional application can be an Application
2840
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2841
- # API.
3478
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3479
+ # a regional application. A regional application can be an Application
3480
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3481
+ # GraphQL API.
2842
3482
  #
2843
3483
  # To work with CloudFront, you must also specify the Region US East (N.
2844
3484
  # Virginia) as follows:
@@ -2851,15 +3491,15 @@ module Aws::WAFV2
2851
3491
  # @option params [String] :next_marker
2852
3492
  # When you request a list of objects with a `Limit` setting, if the
2853
3493
  # number of objects that are still available for retrieval exceeds the
2854
- # limit, AWS WAF returns a `NextMarker` value in the response. To
2855
- # retrieve the next batch of objects, provide the marker from the prior
2856
- # call in your next request.
3494
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3495
+ # the next batch of objects, provide the marker from the prior call in
3496
+ # your next request.
2857
3497
  #
2858
3498
  # @option params [Integer] :limit
2859
- # The maximum number of objects that you want AWS WAF to return for this
2860
- # request. If more objects are available, in the response, AWS WAF
2861
- # provides a `NextMarker` value that you can use in a subsequent call to
2862
- # get the next batch of objects.
3499
+ # The maximum number of objects that you want WAF to return for this
3500
+ # request. If more objects are available, in the response, WAF provides
3501
+ # a `NextMarker` value that you can use in a subsequent call to get the
3502
+ # next batch of objects.
2863
3503
  #
2864
3504
  # @return [Types::ListAvailableManagedRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2865
3505
  #
@@ -2895,10 +3535,10 @@ module Aws::WAFV2
2895
3535
  # manage.
2896
3536
  #
2897
3537
  # @option params [required, String] :scope
2898
- # Specifies whether this is for an AWS CloudFront distribution or for a
2899
- # regional application. A regional application can be an Application
2900
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2901
- # API.
3538
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3539
+ # a regional application. A regional application can be an Application
3540
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3541
+ # GraphQL API.
2902
3542
  #
2903
3543
  # To work with CloudFront, you must also specify the Region US East (N.
2904
3544
  # Virginia) as follows:
@@ -2911,15 +3551,15 @@ module Aws::WAFV2
2911
3551
  # @option params [String] :next_marker
2912
3552
  # When you request a list of objects with a `Limit` setting, if the
2913
3553
  # number of objects that are still available for retrieval exceeds the
2914
- # limit, AWS WAF returns a `NextMarker` value in the response. To
2915
- # retrieve the next batch of objects, provide the marker from the prior
2916
- # call in your next request.
3554
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3555
+ # the next batch of objects, provide the marker from the prior call in
3556
+ # your next request.
2917
3557
  #
2918
3558
  # @option params [Integer] :limit
2919
- # The maximum number of objects that you want AWS WAF to return for this
2920
- # request. If more objects are available, in the response, AWS WAF
2921
- # provides a `NextMarker` value that you can use in a subsequent call to
2922
- # get the next batch of objects.
3559
+ # The maximum number of objects that you want WAF to return for this
3560
+ # request. If more objects are available, in the response, WAF provides
3561
+ # a `NextMarker` value that you can use in a subsequent call to get the
3562
+ # next batch of objects.
2923
3563
  #
2924
3564
  # @return [Types::ListIPSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2925
3565
  #
@@ -2956,10 +3596,10 @@ module Aws::WAFV2
2956
3596
  # Retrieves an array of your LoggingConfiguration objects.
2957
3597
  #
2958
3598
  # @option params [String] :scope
2959
- # Specifies whether this is for an AWS CloudFront distribution or for a
2960
- # regional application. A regional application can be an Application
2961
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2962
- # API.
3599
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3600
+ # a regional application. A regional application can be an Application
3601
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3602
+ # GraphQL API.
2963
3603
  #
2964
3604
  # To work with CloudFront, you must also specify the Region US East (N.
2965
3605
  # Virginia) as follows:
@@ -2972,15 +3612,15 @@ module Aws::WAFV2
2972
3612
  # @option params [String] :next_marker
2973
3613
  # When you request a list of objects with a `Limit` setting, if the
2974
3614
  # number of objects that are still available for retrieval exceeds the
2975
- # limit, AWS WAF returns a `NextMarker` value in the response. To
2976
- # retrieve the next batch of objects, provide the marker from the prior
2977
- # call in your next request.
3615
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3616
+ # the next batch of objects, provide the marker from the prior call in
3617
+ # your next request.
2978
3618
  #
2979
3619
  # @option params [Integer] :limit
2980
- # The maximum number of objects that you want AWS WAF to return for this
2981
- # request. If more objects are available, in the response, AWS WAF
2982
- # provides a `NextMarker` value that you can use in a subsequent call to
2983
- # get the next batch of objects.
3620
+ # The maximum number of objects that you want WAF to return for this
3621
+ # request. If more objects are available, in the response, WAF provides
3622
+ # a `NextMarker` value that you can use in a subsequent call to get the
3623
+ # next batch of objects.
2984
3624
  #
2985
3625
  # @return [Types::ListLoggingConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2986
3626
  #
@@ -3009,6 +3649,13 @@ module Aws::WAFV2
3009
3649
  # resp.logging_configurations[0].redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3010
3650
  # resp.logging_configurations[0].redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3011
3651
  # resp.logging_configurations[0].managed_by_firewall_manager #=> Boolean
3652
+ # resp.logging_configurations[0].logging_filter.filters #=> Array
3653
+ # resp.logging_configurations[0].logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
3654
+ # resp.logging_configurations[0].logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
3655
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions #=> Array
3656
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
3657
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
3658
+ # resp.logging_configurations[0].logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
3012
3659
  # resp.next_marker #=> String
3013
3660
  #
3014
3661
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations AWS API Documentation
@@ -3024,10 +3671,10 @@ module Aws::WAFV2
3024
3671
  # pattern sets that you manage.
3025
3672
  #
3026
3673
  # @option params [required, String] :scope
3027
- # Specifies whether this is for an AWS CloudFront distribution or for a
3028
- # regional application. A regional application can be an Application
3029
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3030
- # API.
3674
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3675
+ # a regional application. A regional application can be an Application
3676
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3677
+ # GraphQL API.
3031
3678
  #
3032
3679
  # To work with CloudFront, you must also specify the Region US East (N.
3033
3680
  # Virginia) as follows:
@@ -3040,15 +3687,15 @@ module Aws::WAFV2
3040
3687
  # @option params [String] :next_marker
3041
3688
  # When you request a list of objects with a `Limit` setting, if the
3042
3689
  # number of objects that are still available for retrieval exceeds the
3043
- # limit, AWS WAF returns a `NextMarker` value in the response. To
3044
- # retrieve the next batch of objects, provide the marker from the prior
3045
- # call in your next request.
3690
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3691
+ # the next batch of objects, provide the marker from the prior call in
3692
+ # your next request.
3046
3693
  #
3047
3694
  # @option params [Integer] :limit
3048
- # The maximum number of objects that you want AWS WAF to return for this
3049
- # request. If more objects are available, in the response, AWS WAF
3050
- # provides a `NextMarker` value that you can use in a subsequent call to
3051
- # get the next batch of objects.
3695
+ # The maximum number of objects that you want WAF to return for this
3696
+ # request. If more objects are available, in the response, WAF provides
3697
+ # a `NextMarker` value that you can use in a subsequent call to get the
3698
+ # next batch of objects.
3052
3699
  #
3053
3700
  # @return [Types::ListRegexPatternSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3054
3701
  #
@@ -3084,16 +3731,16 @@ module Aws::WAFV2
3084
3731
 
3085
3732
  # Retrieves an array of the Amazon Resource Names (ARNs) for the
3086
3733
  # regional resources that are associated with the specified web ACL. If
3087
- # you want the list of AWS CloudFront resources, use the AWS CloudFront
3734
+ # you want the list of Amazon CloudFront resources, use the CloudFront
3088
3735
  # call `ListDistributionsByWebACLId`.
3089
3736
  #
3090
3737
  # @option params [required, String] :web_acl_arn
3091
- # The Amazon Resource Name (ARN) of the Web ACL.
3738
+ # The Amazon Resource Name (ARN) of the web ACL.
3092
3739
  #
3093
3740
  # @option params [String] :resource_type
3094
3741
  # Used for web ACLs that are scoped for regional applications. A
3095
- # regional application can be an Application Load Balancer (ALB), an API
3096
- # Gateway REST API, or an AppSync GraphQL API.
3742
+ # regional application can be an Application Load Balancer (ALB), an
3743
+ # Amazon API Gateway REST API, or an AppSync GraphQL API.
3097
3744
  #
3098
3745
  # @return [Types::ListResourcesForWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3099
3746
  #
@@ -3124,10 +3771,10 @@ module Aws::WAFV2
3124
3771
  # that you manage.
3125
3772
  #
3126
3773
  # @option params [required, String] :scope
3127
- # Specifies whether this is for an AWS CloudFront distribution or for a
3128
- # regional application. A regional application can be an Application
3129
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3130
- # API.
3774
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3775
+ # a regional application. A regional application can be an Application
3776
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3777
+ # GraphQL API.
3131
3778
  #
3132
3779
  # To work with CloudFront, you must also specify the Region US East (N.
3133
3780
  # Virginia) as follows:
@@ -3140,15 +3787,15 @@ module Aws::WAFV2
3140
3787
  # @option params [String] :next_marker
3141
3788
  # When you request a list of objects with a `Limit` setting, if the
3142
3789
  # number of objects that are still available for retrieval exceeds the
3143
- # limit, AWS WAF returns a `NextMarker` value in the response. To
3144
- # retrieve the next batch of objects, provide the marker from the prior
3145
- # call in your next request.
3790
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3791
+ # the next batch of objects, provide the marker from the prior call in
3792
+ # your next request.
3146
3793
  #
3147
3794
  # @option params [Integer] :limit
3148
- # The maximum number of objects that you want AWS WAF to return for this
3149
- # request. If more objects are available, in the response, AWS WAF
3150
- # provides a `NextMarker` value that you can use in a subsequent call to
3151
- # get the next batch of objects.
3795
+ # The maximum number of objects that you want WAF to return for this
3796
+ # request. If more objects are available, in the response, WAF provides
3797
+ # a `NextMarker` value that you can use in a subsequent call to get the
3798
+ # next batch of objects.
3152
3799
  #
3153
3800
  # @return [Types::ListRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3154
3801
  #
@@ -3186,25 +3833,25 @@ module Aws::WAFV2
3186
3833
  # key:value pairs that you can use to categorize and manage your
3187
3834
  # resources, for purposes like billing. For example, you might set the
3188
3835
  # tag key to "customer" and the value to the customer name or ID. You
3189
- # can specify one or more tags to add to each AWS resource, up to 50
3190
- # tags for a resource.
3836
+ # can specify one or more tags to add to each Amazon Web Services
3837
+ # resource, up to 50 tags for a resource.
3191
3838
  #
3192
- # You can tag the AWS resources that you manage through AWS WAF: web
3193
- # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3194
- # or view tags through the AWS WAF console.
3839
+ # You can tag the Amazon Web Services resources that you manage through
3840
+ # WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You
3841
+ # can't manage or view tags through the WAF console.
3195
3842
  #
3196
3843
  # @option params [String] :next_marker
3197
3844
  # When you request a list of objects with a `Limit` setting, if the
3198
3845
  # number of objects that are still available for retrieval exceeds the
3199
- # limit, AWS WAF returns a `NextMarker` value in the response. To
3200
- # retrieve the next batch of objects, provide the marker from the prior
3201
- # call in your next request.
3846
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3847
+ # the next batch of objects, provide the marker from the prior call in
3848
+ # your next request.
3202
3849
  #
3203
3850
  # @option params [Integer] :limit
3204
- # The maximum number of objects that you want AWS WAF to return for this
3205
- # request. If more objects are available, in the response, AWS WAF
3206
- # provides a `NextMarker` value that you can use in a subsequent call to
3207
- # get the next batch of objects.
3851
+ # The maximum number of objects that you want WAF to return for this
3852
+ # request. If more objects are available, in the response, WAF provides
3853
+ # a `NextMarker` value that you can use in a subsequent call to get the
3854
+ # next batch of objects.
3208
3855
  #
3209
3856
  # @option params [required, String] :resource_arn
3210
3857
  # The Amazon Resource Name (ARN) of the resource.
@@ -3243,10 +3890,10 @@ module Aws::WAFV2
3243
3890
  # manage.
3244
3891
  #
3245
3892
  # @option params [required, String] :scope
3246
- # Specifies whether this is for an AWS CloudFront distribution or for a
3247
- # regional application. A regional application can be an Application
3248
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3249
- # API.
3893
+ # Specifies whether this is for an Amazon CloudFront distribution or for
3894
+ # a regional application. A regional application can be an Application
3895
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
3896
+ # GraphQL API.
3250
3897
  #
3251
3898
  # To work with CloudFront, you must also specify the Region US East (N.
3252
3899
  # Virginia) as follows:
@@ -3259,15 +3906,15 @@ module Aws::WAFV2
3259
3906
  # @option params [String] :next_marker
3260
3907
  # When you request a list of objects with a `Limit` setting, if the
3261
3908
  # number of objects that are still available for retrieval exceeds the
3262
- # limit, AWS WAF returns a `NextMarker` value in the response. To
3263
- # retrieve the next batch of objects, provide the marker from the prior
3264
- # call in your next request.
3909
+ # limit, WAF returns a `NextMarker` value in the response. To retrieve
3910
+ # the next batch of objects, provide the marker from the prior call in
3911
+ # your next request.
3265
3912
  #
3266
3913
  # @option params [Integer] :limit
3267
- # The maximum number of objects that you want AWS WAF to return for this
3268
- # request. If more objects are available, in the response, AWS WAF
3269
- # provides a `NextMarker` value that you can use in a subsequent call to
3270
- # get the next batch of objects.
3914
+ # The maximum number of objects that you want WAF to return for this
3915
+ # request. If more objects are available, in the response, WAF provides
3916
+ # a `NextMarker` value that you can use in a subsequent call to get the
3917
+ # next batch of objects.
3271
3918
  #
3272
3919
  # @return [Types::ListWebACLsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3273
3920
  #
@@ -3304,8 +3951,8 @@ module Aws::WAFV2
3304
3951
  # Enables the specified LoggingConfiguration, to start logging from a
3305
3952
  # web ACL, according to the configuration provided.
3306
3953
  #
3307
- # You can access information about all traffic that AWS WAF inspects
3308
- # using the following steps:
3954
+ # You can access information about all traffic that WAF inspects using
3955
+ # the following steps:
3309
3956
  #
3310
3957
  # 1. Create an Amazon Kinesis Data Firehose.
3311
3958
  #
@@ -3325,10 +3972,19 @@ module Aws::WAFV2
3325
3972
  # `PutLoggingConfiguration` request.
3326
3973
  #
3327
3974
  # When you successfully enable logging using a `PutLoggingConfiguration`
3328
- # request, AWS WAF will create a service linked role with the necessary
3975
+ # request, WAF will create a service linked role with the necessary
3329
3976
  # permissions to write logs to the Amazon Kinesis Data Firehose. For
3330
3977
  # more information, see [Logging Web ACL Traffic Information][1] in the
3331
- # *AWS WAF Developer Guide*.
3978
+ # *WAF Developer Guide*.
3979
+ #
3980
+ # <note markdown="1"> This operation completely replaces the mutable specifications that you
3981
+ # already have for the logging configuration with the ones that you
3982
+ # provide to this call. To modify the logging configuration, retrieve it
3983
+ # by calling GetLoggingConfiguration, update the settings as needed, and
3984
+ # then provide the complete logging configuration specification to this
3985
+ # call.
3986
+ #
3987
+ # </note>
3332
3988
  #
3333
3989
  #
3334
3990
  #
@@ -3376,6 +4032,25 @@ module Aws::WAFV2
3376
4032
  # },
3377
4033
  # ],
3378
4034
  # managed_by_firewall_manager: false,
4035
+ # logging_filter: {
4036
+ # filters: [ # required
4037
+ # {
4038
+ # behavior: "KEEP", # required, accepts KEEP, DROP
4039
+ # requirement: "MEETS_ALL", # required, accepts MEETS_ALL, MEETS_ANY
4040
+ # conditions: [ # required
4041
+ # {
4042
+ # action_condition: {
4043
+ # action: "ALLOW", # required, accepts ALLOW, BLOCK, COUNT
4044
+ # },
4045
+ # label_name_condition: {
4046
+ # label_name: "LabelName", # required
4047
+ # },
4048
+ # },
4049
+ # ],
4050
+ # },
4051
+ # ],
4052
+ # default_behavior: "KEEP", # required, accepts KEEP, DROP
4053
+ # },
3379
4054
  # },
3380
4055
  # })
3381
4056
  #
@@ -3392,6 +4067,13 @@ module Aws::WAFV2
3392
4067
  # resp.logging_configuration.redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3393
4068
  # resp.logging_configuration.redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3394
4069
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
4070
+ # resp.logging_configuration.logging_filter.filters #=> Array
4071
+ # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
4072
+ # resp.logging_configuration.logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
4073
+ # resp.logging_configuration.logging_filter.filters[0].conditions #=> Array
4074
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
4075
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
4076
+ # resp.logging_configuration.logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
3395
4077
  #
3396
4078
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration AWS API Documentation
3397
4079
  #
@@ -3413,7 +4095,7 @@ module Aws::WAFV2
3413
4095
  # request.
3414
4096
  #
3415
4097
  # * The ARN in the request must be a valid WAF RuleGroup ARN and the
3416
- # rule group must exist in the same region.
4098
+ # rule group must exist in the same Region.
3417
4099
  #
3418
4100
  # * The user making the request must be the owner of the rule group.
3419
4101
  #
@@ -3435,7 +4117,7 @@ module Aws::WAFV2
3435
4117
  # * `Effect` must specify `Allow`.
3436
4118
  #
3437
4119
  # * `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`,
3438
- # and `wafv2:PutFirewallManagerRuleGroups`. AWS WAF rejects any extra
4120
+ # and `wafv2:PutFirewallManagerRuleGroups`. WAF rejects any extra
3439
4121
  # actions or wildcard actions in the policy.
3440
4122
  #
3441
4123
  # * The policy must not include a `Resource` parameter.
@@ -3464,16 +4146,16 @@ module Aws::WAFV2
3464
4146
  req.send_request(options)
3465
4147
  end
3466
4148
 
3467
- # Associates tags with the specified AWS resource. Tags are key:value
3468
- # pairs that you can use to categorize and manage your resources, for
3469
- # purposes like billing. For example, you might set the tag key to
3470
- # "customer" and the value to the customer name or ID. You can specify
3471
- # one or more tags to add to each AWS resource, up to 50 tags for a
3472
- # resource.
4149
+ # Associates tags with the specified Amazon Web Services resource. Tags
4150
+ # are key:value pairs that you can use to categorize and manage your
4151
+ # resources, for purposes like billing. For example, you might set the
4152
+ # tag key to "customer" and the value to the customer name or ID. You
4153
+ # can specify one or more tags to add to each Amazon Web Services
4154
+ # resource, up to 50 tags for a resource.
3473
4155
  #
3474
- # You can tag the AWS resources that you manage through AWS WAF: web
3475
- # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3476
- # or view tags through the AWS WAF console.
4156
+ # You can tag the Amazon Web Services resources that you manage through
4157
+ # WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You
4158
+ # can't manage or view tags through the WAF console.
3477
4159
  #
3478
4160
  # @option params [required, String] :resource_arn
3479
4161
  # The Amazon Resource Name (ARN) of the resource.
@@ -3504,11 +4186,12 @@ module Aws::WAFV2
3504
4186
  req.send_request(options)
3505
4187
  end
3506
4188
 
3507
- # Disassociates tags from an AWS resource. Tags are key:value pairs that
3508
- # you can associate with AWS resources. For example, the tag key might
3509
- # be "customer" and the tag value might be "companyA." You can
3510
- # specify one or more tags to add to each container. You can add up to
3511
- # 50 tags to each AWS resource.
4189
+ # Disassociates tags from an Amazon Web Services resource. Tags are
4190
+ # key:value pairs that you can associate with Amazon Web Services
4191
+ # resources. For example, the tag key might be "customer" and the tag
4192
+ # value might be "companyA." You can specify one or more tags to add
4193
+ # to each container. You can add up to 50 tags to each Amazon Web
4194
+ # Services resource.
3512
4195
  #
3513
4196
  # @option params [required, String] :resource_arn
3514
4197
  # The Amazon Resource Name (ARN) of the resource.
@@ -3537,15 +4220,23 @@ module Aws::WAFV2
3537
4220
 
3538
4221
  # Updates the specified IPSet.
3539
4222
  #
4223
+ # <note markdown="1"> This operation completely replaces the mutable specifications that you
4224
+ # already have for the IP set with the ones that you provide to this
4225
+ # call. To modify the IP set, retrieve it by calling GetIPSet, update
4226
+ # the settings as needed, and then provide the complete IP set
4227
+ # specification to this call.
4228
+ #
4229
+ # </note>
4230
+ #
3540
4231
  # @option params [required, String] :name
3541
4232
  # The name of the IP set. You cannot change the name of an `IPSet` after
3542
4233
  # you create it.
3543
4234
  #
3544
4235
  # @option params [required, String] :scope
3545
- # Specifies whether this is for an AWS CloudFront distribution or for a
3546
- # regional application. A regional application can be an Application
3547
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3548
- # API.
4236
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4237
+ # a regional application. A regional application can be an Application
4238
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4239
+ # GraphQL API.
3549
4240
  #
3550
4241
  # To work with CloudFront, you must also specify the Region US East (N.
3551
4242
  # Virginia) as follows:
@@ -3566,26 +4257,24 @@ module Aws::WAFV2
3566
4257
  # @option params [required, Array<String>] :addresses
3567
4258
  # Contains an array of strings that specify one or more IP addresses or
3568
4259
  # blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
3569
- # notation. AWS WAF supports all address ranges for IP versions IPv4 and
3570
- # IPv6.
4260
+ # notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.
3571
4261
  #
3572
4262
  # Examples:
3573
4263
  #
3574
- # * To configure AWS WAF to allow, block, or count requests that
3575
- # originated from the IP address 192.0.2.44, specify `192.0.2.44/32`.
4264
+ # * To configure WAF to allow, block, or count requests that originated
4265
+ # from the IP address 192.0.2.44, specify `192.0.2.44/32`.
3576
4266
  #
3577
- # * To configure AWS WAF to allow, block, or count requests that
3578
- # originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify
4267
+ # * To configure WAF to allow, block, or count requests that originated
4268
+ # from IP addresses from 192.0.2.0 to 192.0.2.255, specify
3579
4269
  # `192.0.2.0/24`.
3580
4270
  #
3581
- # * To configure AWS WAF to allow, block, or count requests that
3582
- # originated from the IP address
3583
- # 1111:0000:0000:0000:0000:0000:0000:0111, specify
4271
+ # * To configure WAF to allow, block, or count requests that originated
4272
+ # from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify
3584
4273
  # `1111:0000:0000:0000:0000:0000:0000:0111/128`.
3585
4274
  #
3586
- # * To configure AWS WAF to allow, block, or count requests that
3587
- # originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000
3588
- # to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
4275
+ # * To configure WAF to allow, block, or count requests that originated
4276
+ # from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to
4277
+ # 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify
3589
4278
  # `1111:0000:0000:0000:0000:0000:0000:0000/64`.
3590
4279
  #
3591
4280
  # For more information about CIDR notation, see the Wikipedia entry
@@ -3596,14 +4285,14 @@ module Aws::WAFV2
3596
4285
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
3597
4286
  #
3598
4287
  # @option params [required, String] :lock_token
3599
- # A token used for optimistic locking. AWS WAF returns a token to your
3600
- # get and list requests, to mark the state of the entity at the time of
3601
- # the request. To make changes to the entity associated with the token,
3602
- # you provide the token to operations like update and delete. AWS WAF
3603
- # uses the token to ensure that no changes have been made to the entity
3604
- # since you last retrieved it. If a change has been made, the update
3605
- # fails with a `WAFOptimisticLockException`. If this happens, perform
3606
- # another get, and use the new token returned by that operation.
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.
3607
4296
  #
3608
4297
  # @return [Types::UpdateIPSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3609
4298
  #
@@ -3635,15 +4324,23 @@ module Aws::WAFV2
3635
4324
 
3636
4325
  # Updates the specified RegexPatternSet.
3637
4326
  #
4327
+ # <note markdown="1"> This operation completely replaces the mutable specifications that you
4328
+ # already have for the regex pattern set with the ones that you provide
4329
+ # to this call. To modify the regex pattern set, retrieve it by calling
4330
+ # GetRegexPatternSet, update the settings as needed, and then provide
4331
+ # the complete regex pattern set specification to this call.
4332
+ #
4333
+ # </note>
4334
+ #
3638
4335
  # @option params [required, String] :name
3639
4336
  # The name of the set. You cannot change the name after you create the
3640
4337
  # set.
3641
4338
  #
3642
4339
  # @option params [required, String] :scope
3643
- # Specifies whether this is for an AWS CloudFront distribution or for a
3644
- # regional application. A regional application can be an Application
3645
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3646
- # API.
4340
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4341
+ # a regional application. A regional application can be an Application
4342
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4343
+ # GraphQL API.
3647
4344
  #
3648
4345
  # To work with CloudFront, you must also specify the Region US East (N.
3649
4346
  # Virginia) as follows:
@@ -3664,14 +4361,14 @@ module Aws::WAFV2
3664
4361
  # @option params [required, Array<Types::Regex>] :regular_expression_list
3665
4362
  #
3666
4363
  # @option params [required, String] :lock_token
3667
- # A token used for optimistic locking. AWS WAF returns a token to your
3668
- # get and list requests, to mark the state of the entity at the time of
3669
- # the request. To make changes to the entity associated with the token,
3670
- # you provide the token to operations like update and delete. AWS WAF
3671
- # uses the token to ensure that no changes have been made to the entity
3672
- # since you last retrieved it. If a change has been made, the update
3673
- # fails with a `WAFOptimisticLockException`. If this happens, perform
3674
- # another get, and use the new token returned by that operation.
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.
3675
4372
  #
3676
4373
  # @return [Types::UpdateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3677
4374
  #
@@ -3707,6 +4404,14 @@ module Aws::WAFV2
3707
4404
 
3708
4405
  # Updates the specified RuleGroup.
3709
4406
  #
4407
+ # <note markdown="1"> This operation completely replaces the mutable specifications that you
4408
+ # already have for the rule group with the ones that you provide to this
4409
+ # call. To modify the rule group, retrieve it by calling GetRuleGroup,
4410
+ # update the settings as needed, and then provide the complete rule
4411
+ # group specification to this call.
4412
+ #
4413
+ # </note>
4414
+ #
3710
4415
  # A rule group defines a collection of rules to inspect and control web
3711
4416
  # requests that you can use in a WebACL. When you create a rule group,
3712
4417
  # you define an immutable capacity limit. If you update a rule group,
@@ -3718,10 +4423,10 @@ module Aws::WAFV2
3718
4423
  # after you create it.
3719
4424
  #
3720
4425
  # @option params [required, String] :scope
3721
- # Specifies whether this is for an AWS CloudFront distribution or for a
3722
- # regional application. A regional application can be an Application
3723
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3724
- # API.
4426
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4427
+ # a regional application. A regional application can be an Application
4428
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4429
+ # GraphQL API.
3725
4430
  #
3726
4431
  # To work with CloudFront, you must also specify the Region US East (N.
3727
4432
  # Virginia) as follows:
@@ -3742,22 +4447,42 @@ module Aws::WAFV2
3742
4447
  # @option params [Array<Types::Rule>] :rules
3743
4448
  # The Rule statements used to identify the web requests that you want to
3744
4449
  # allow, block, or count. Each rule includes one top-level statement
3745
- # that AWS WAF uses to identify matching web requests, and parameters
3746
- # that govern how AWS WAF handles them.
4450
+ # that WAF uses to identify matching web requests, and parameters that
4451
+ # govern how WAF handles them.
3747
4452
  #
3748
4453
  # @option params [required, Types::VisibilityConfig] :visibility_config
3749
4454
  # Defines and enables Amazon CloudWatch metrics and web request sample
3750
4455
  # collection.
3751
4456
  #
3752
4457
  # @option params [required, String] :lock_token
3753
- # A token used for optimistic locking. AWS WAF returns a token to your
3754
- # get and list requests, to mark the state of the entity at the time of
3755
- # the request. To make changes to the entity associated with the token,
3756
- # you provide the token to operations like update and delete. AWS WAF
3757
- # uses the token to ensure that no changes have been made to the entity
3758
- # since you last retrieved it. If a change has been made, the update
3759
- # fails with a `WAFOptimisticLockException`. If this happens, perform
3760
- # another get, and use the new token returned by that operation.
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.
4466
+ #
4467
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4468
+ # A map of custom response keys and content bodies. When you create a
4469
+ # rule with a block action, you can send a custom response to the web
4470
+ # request. You define these for the rule group, and then use them in the
4471
+ # rules that you define in the rule group.
4472
+ #
4473
+ # For information about customizing web requests and responses, see
4474
+ # [Customizing web requests and responses in WAF][1] in the [WAF
4475
+ # Developer Guide][2].
4476
+ #
4477
+ # For information about the limits on count and size for custom request
4478
+ # and response settings, see [WAF quotas][3] in the [WAF Developer
4479
+ # Guide][2].
4480
+ #
4481
+ #
4482
+ #
4483
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4484
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4485
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
3761
4486
  #
3762
4487
  # @return [Types::UpdateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3763
4488
  #
@@ -3807,7 +4532,7 @@ module Aws::WAFV2
3807
4532
  # text_transformations: [ # required
3808
4533
  # {
3809
4534
  # priority: 1, # required
3810
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4535
+ # 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
3811
4536
  # },
3812
4537
  # ],
3813
4538
  # positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
@@ -3843,7 +4568,7 @@ module Aws::WAFV2
3843
4568
  # text_transformations: [ # required
3844
4569
  # {
3845
4570
  # priority: 1, # required
3846
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4571
+ # 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
3847
4572
  # },
3848
4573
  # ],
3849
4574
  # },
@@ -3878,7 +4603,7 @@ module Aws::WAFV2
3878
4603
  # text_transformations: [ # required
3879
4604
  # {
3880
4605
  # priority: 1, # required
3881
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4606
+ # 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
3882
4607
  # },
3883
4608
  # ],
3884
4609
  # },
@@ -3915,7 +4640,7 @@ module Aws::WAFV2
3915
4640
  # text_transformations: [ # required
3916
4641
  # {
3917
4642
  # priority: 1, # required
3918
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4643
+ # 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
3919
4644
  # },
3920
4645
  # ],
3921
4646
  # },
@@ -3974,7 +4699,7 @@ module Aws::WAFV2
3974
4699
  # text_transformations: [ # required
3975
4700
  # {
3976
4701
  # priority: 1, # required
3977
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4702
+ # 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
3978
4703
  # },
3979
4704
  # ],
3980
4705
  # },
@@ -4016,22 +4741,68 @@ module Aws::WAFV2
4016
4741
  # name: "EntityName", # required
4017
4742
  # },
4018
4743
  # ],
4744
+ # scope_down_statement: {
4745
+ # # recursive Statement
4746
+ # },
4747
+ # },
4748
+ # label_match_statement: {
4749
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
4750
+ # key: "LabelMatchKey", # required
4019
4751
  # },
4020
4752
  # },
4021
4753
  # action: {
4022
4754
  # block: {
4755
+ # custom_response: {
4756
+ # response_code: 1, # required
4757
+ # custom_response_body_key: "EntityName",
4758
+ # response_headers: [
4759
+ # {
4760
+ # name: "CustomHTTPHeaderName", # required
4761
+ # value: "CustomHTTPHeaderValue", # required
4762
+ # },
4763
+ # ],
4764
+ # },
4023
4765
  # },
4024
4766
  # allow: {
4767
+ # custom_request_handling: {
4768
+ # insert_headers: [ # required
4769
+ # {
4770
+ # name: "CustomHTTPHeaderName", # required
4771
+ # value: "CustomHTTPHeaderValue", # required
4772
+ # },
4773
+ # ],
4774
+ # },
4025
4775
  # },
4026
4776
  # count: {
4777
+ # custom_request_handling: {
4778
+ # insert_headers: [ # required
4779
+ # {
4780
+ # name: "CustomHTTPHeaderName", # required
4781
+ # value: "CustomHTTPHeaderValue", # required
4782
+ # },
4783
+ # ],
4784
+ # },
4027
4785
  # },
4028
4786
  # },
4029
4787
  # override_action: {
4030
4788
  # count: {
4789
+ # custom_request_handling: {
4790
+ # insert_headers: [ # required
4791
+ # {
4792
+ # name: "CustomHTTPHeaderName", # required
4793
+ # value: "CustomHTTPHeaderValue", # required
4794
+ # },
4795
+ # ],
4796
+ # },
4031
4797
  # },
4032
4798
  # none: {
4033
4799
  # },
4034
4800
  # },
4801
+ # rule_labels: [
4802
+ # {
4803
+ # name: "LabelName", # required
4804
+ # },
4805
+ # ],
4035
4806
  # visibility_config: { # required
4036
4807
  # sampled_requests_enabled: false, # required
4037
4808
  # cloud_watch_metrics_enabled: false, # required
@@ -4045,6 +4816,12 @@ module Aws::WAFV2
4045
4816
  # metric_name: "MetricName", # required
4046
4817
  # },
4047
4818
  # lock_token: "LockToken", # required
4819
+ # custom_response_bodies: {
4820
+ # "EntityName" => {
4821
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
4822
+ # content: "ResponseContent", # required
4823
+ # },
4824
+ # },
4048
4825
  # })
4049
4826
  #
4050
4827
  # @example Response structure
@@ -4062,25 +4839,34 @@ module Aws::WAFV2
4062
4839
 
4063
4840
  # Updates the specified WebACL.
4064
4841
  #
4065
- # A Web ACL defines a collection of rules to use to inspect and control
4842
+ # <note markdown="1"> This operation completely replaces the mutable specifications that you
4843
+ # already have for the web ACL with the ones that you provide to this
4844
+ # call. To modify the web ACL, retrieve it by calling GetWebACL, update
4845
+ # the settings as needed, and then provide the complete web ACL
4846
+ # specification to this call.
4847
+ #
4848
+ # </note>
4849
+ #
4850
+ # A web ACL defines a collection of rules to use to inspect and control
4066
4851
  # web requests. Each rule has an action defined (allow, block, or count)
4067
- # for requests that match the statement of the rule. In the Web ACL, you
4852
+ # for requests that match the statement of the rule. In the web ACL, you
4068
4853
  # assign a default action to take (allow, block) for any request that
4069
- # does not match any of the rules. The rules in a Web ACL can be a
4854
+ # does not match any of the rules. The rules in a web ACL can be a
4070
4855
  # combination of the types Rule, RuleGroup, and managed rule group. You
4071
- # can associate a Web ACL with one or more AWS resources to protect. The
4072
- # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
4073
- # Application Load Balancer, or an AWS AppSync GraphQL API.
4856
+ # can associate a web ACL with one or more Amazon Web Services resources
4857
+ # to protect. The resources can be an Amazon CloudFront distribution, an
4858
+ # Amazon API Gateway REST API, an Application Load Balancer, or an
4859
+ # AppSync GraphQL API.
4074
4860
  #
4075
4861
  # @option params [required, String] :name
4076
- # The name of the Web ACL. You cannot change the name of a Web ACL after
4862
+ # The name of the web ACL. You cannot change the name of a web ACL after
4077
4863
  # you create it.
4078
4864
  #
4079
4865
  # @option params [required, String] :scope
4080
- # Specifies whether this is for an AWS CloudFront distribution or for a
4081
- # regional application. A regional application can be an Application
4082
- # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
4083
- # API.
4866
+ # Specifies whether this is for an Amazon CloudFront distribution or for
4867
+ # a regional application. A regional application can be an Application
4868
+ # Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync
4869
+ # GraphQL API.
4084
4870
  #
4085
4871
  # To work with CloudFront, you must also specify the Region US East (N.
4086
4872
  # Virginia) as follows:
@@ -4091,7 +4877,7 @@ module Aws::WAFV2
4091
4877
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
4092
4878
  #
4093
4879
  # @option params [required, String] :id
4094
- # The unique identifier for the Web ACL. This ID is returned in the
4880
+ # The unique identifier for the web ACL. This ID is returned in the
4095
4881
  # responses to create and list commands. You provide it to operations
4096
4882
  # like update and delete.
4097
4883
  #
@@ -4100,27 +4886,47 @@ module Aws::WAFV2
4100
4886
  # match.
4101
4887
  #
4102
4888
  # @option params [String] :description
4103
- # A description of the Web ACL that helps with identification.
4889
+ # A description of the web ACL that helps with identification.
4104
4890
  #
4105
4891
  # @option params [Array<Types::Rule>] :rules
4106
4892
  # The Rule statements used to identify the web requests that you want to
4107
4893
  # allow, block, or count. Each rule includes one top-level statement
4108
- # that AWS WAF uses to identify matching web requests, and parameters
4109
- # that govern how AWS WAF handles them.
4894
+ # that WAF uses to identify matching web requests, and parameters that
4895
+ # govern how WAF handles them.
4110
4896
  #
4111
4897
  # @option params [required, Types::VisibilityConfig] :visibility_config
4112
4898
  # Defines and enables Amazon CloudWatch metrics and web request sample
4113
4899
  # collection.
4114
4900
  #
4115
4901
  # @option params [required, String] :lock_token
4116
- # A token used for optimistic locking. AWS WAF returns a token to your
4117
- # get and list requests, to mark the state of the entity at the time of
4118
- # the request. To make changes to the entity associated with the token,
4119
- # you provide the token to operations like update and delete. AWS WAF
4120
- # uses the token to ensure that no changes have been made to the entity
4121
- # since you last retrieved it. If a change has been made, the update
4122
- # fails with a `WAFOptimisticLockException`. If this happens, perform
4123
- # another get, and use the new token returned by that operation.
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.
4910
+ #
4911
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4912
+ # A map of custom response keys and content bodies. When you create a
4913
+ # rule with a block action, you can send a custom response to the web
4914
+ # request. You define these for the web ACL, and then use them in the
4915
+ # rules and default actions that you define in the web ACL.
4916
+ #
4917
+ # For information about customizing web requests and responses, see
4918
+ # [Customizing web requests and responses in WAF][1] in the [WAF
4919
+ # Developer Guide][2].
4920
+ #
4921
+ # For information about the limits on count and size for custom request
4922
+ # and response settings, see [WAF quotas][3] in the [WAF Developer
4923
+ # Guide][2].
4924
+ #
4925
+ #
4926
+ #
4927
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4928
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4929
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
4124
4930
  #
4125
4931
  # @return [Types::UpdateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4126
4932
  #
@@ -4134,8 +4940,26 @@ module Aws::WAFV2
4134
4940
  # id: "EntityId", # required
4135
4941
  # default_action: { # required
4136
4942
  # block: {
4943
+ # custom_response: {
4944
+ # response_code: 1, # required
4945
+ # custom_response_body_key: "EntityName",
4946
+ # response_headers: [
4947
+ # {
4948
+ # name: "CustomHTTPHeaderName", # required
4949
+ # value: "CustomHTTPHeaderValue", # required
4950
+ # },
4951
+ # ],
4952
+ # },
4137
4953
  # },
4138
4954
  # allow: {
4955
+ # custom_request_handling: {
4956
+ # insert_headers: [ # required
4957
+ # {
4958
+ # name: "CustomHTTPHeaderName", # required
4959
+ # value: "CustomHTTPHeaderValue", # required
4960
+ # },
4961
+ # ],
4962
+ # },
4139
4963
  # },
4140
4964
  # },
4141
4965
  # description: "EntityDescription",
@@ -4176,7 +5000,7 @@ module Aws::WAFV2
4176
5000
  # text_transformations: [ # required
4177
5001
  # {
4178
5002
  # priority: 1, # required
4179
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
5003
+ # 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
4180
5004
  # },
4181
5005
  # ],
4182
5006
  # positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
@@ -4212,7 +5036,7 @@ module Aws::WAFV2
4212
5036
  # text_transformations: [ # required
4213
5037
  # {
4214
5038
  # priority: 1, # required
4215
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
5039
+ # 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
4216
5040
  # },
4217
5041
  # ],
4218
5042
  # },
@@ -4247,7 +5071,7 @@ module Aws::WAFV2
4247
5071
  # text_transformations: [ # required
4248
5072
  # {
4249
5073
  # priority: 1, # required
4250
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
5074
+ # 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
4251
5075
  # },
4252
5076
  # ],
4253
5077
  # },
@@ -4284,7 +5108,7 @@ module Aws::WAFV2
4284
5108
  # text_transformations: [ # required
4285
5109
  # {
4286
5110
  # priority: 1, # required
4287
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
5111
+ # 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
4288
5112
  # },
4289
5113
  # ],
4290
5114
  # },
@@ -4343,7 +5167,7 @@ module Aws::WAFV2
4343
5167
  # text_transformations: [ # required
4344
5168
  # {
4345
5169
  # priority: 1, # required
4346
- # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
5170
+ # 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
4347
5171
  # },
4348
5172
  # ],
4349
5173
  # },
@@ -4385,22 +5209,68 @@ module Aws::WAFV2
4385
5209
  # name: "EntityName", # required
4386
5210
  # },
4387
5211
  # ],
5212
+ # scope_down_statement: {
5213
+ # # recursive Statement
5214
+ # },
5215
+ # },
5216
+ # label_match_statement: {
5217
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5218
+ # key: "LabelMatchKey", # required
4388
5219
  # },
4389
5220
  # },
4390
5221
  # action: {
4391
5222
  # block: {
5223
+ # custom_response: {
5224
+ # response_code: 1, # required
5225
+ # custom_response_body_key: "EntityName",
5226
+ # response_headers: [
5227
+ # {
5228
+ # name: "CustomHTTPHeaderName", # required
5229
+ # value: "CustomHTTPHeaderValue", # required
5230
+ # },
5231
+ # ],
5232
+ # },
4392
5233
  # },
4393
5234
  # allow: {
5235
+ # custom_request_handling: {
5236
+ # insert_headers: [ # required
5237
+ # {
5238
+ # name: "CustomHTTPHeaderName", # required
5239
+ # value: "CustomHTTPHeaderValue", # required
5240
+ # },
5241
+ # ],
5242
+ # },
4394
5243
  # },
4395
5244
  # count: {
5245
+ # custom_request_handling: {
5246
+ # insert_headers: [ # required
5247
+ # {
5248
+ # name: "CustomHTTPHeaderName", # required
5249
+ # value: "CustomHTTPHeaderValue", # required
5250
+ # },
5251
+ # ],
5252
+ # },
4396
5253
  # },
4397
5254
  # },
4398
5255
  # override_action: {
4399
5256
  # count: {
5257
+ # custom_request_handling: {
5258
+ # insert_headers: [ # required
5259
+ # {
5260
+ # name: "CustomHTTPHeaderName", # required
5261
+ # value: "CustomHTTPHeaderValue", # required
5262
+ # },
5263
+ # ],
5264
+ # },
4400
5265
  # },
4401
5266
  # none: {
4402
5267
  # },
4403
5268
  # },
5269
+ # rule_labels: [
5270
+ # {
5271
+ # name: "LabelName", # required
5272
+ # },
5273
+ # ],
4404
5274
  # visibility_config: { # required
4405
5275
  # sampled_requests_enabled: false, # required
4406
5276
  # cloud_watch_metrics_enabled: false, # required
@@ -4414,6 +5284,12 @@ module Aws::WAFV2
4414
5284
  # metric_name: "MetricName", # required
4415
5285
  # },
4416
5286
  # lock_token: "LockToken", # required
5287
+ # custom_response_bodies: {
5288
+ # "EntityName" => {
5289
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
5290
+ # content: "ResponseContent", # required
5291
+ # },
5292
+ # },
4417
5293
  # })
4418
5294
  #
4419
5295
  # @example Response structure
@@ -4442,7 +5318,7 @@ module Aws::WAFV2
4442
5318
  params: params,
4443
5319
  config: config)
4444
5320
  context[:gem_name] = 'aws-sdk-wafv2'
4445
- context[:gem_version] = '1.16.0'
5321
+ context[:gem_version] = '1.21.0'
4446
5322
  Seahorse::Client::Request.new(handlers, context)
4447
5323
  end
4448
5324