aws-sdk-wafv2 1.15.0 → 1.20.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: 3ad3911eafec69c77adebb445b5ed96fede1ff4aafdb1ed002b566d8b70c3be3
4
- data.tar.gz: 21bf08e33b28355afde725348029529b1c0a2deea1a6dc3ff653f2b5ebc44356
3
+ metadata.gz: 914fe89b9fd8171fa3998b11e7e8f9ece8a2a9da7e3a3134f3924100d27fdfce
4
+ data.tar.gz: 8dbaaef7f63d07146314fba706c73cd9fbaf437ff4130b6ea2d2e854cd9c44b4
5
5
  SHA512:
6
- metadata.gz: cae480ca239c6494405e60b39bebecf030efbe30c981c753b70d3b9ddbb2a3b8a7ec4db149b410aed81c7d11c5f3efdafd01c37534645836b074df22d13d5f1d
7
- data.tar.gz: d288c3b7690e03d5b0b994d71c63d612e6a18839d71b23e3ec8414cada8d66b4ffd5467755ea6627896337ae60b638bb9f5ce329bf24cdd6b78f2dd3b373167d
6
+ metadata.gz: 6c3d2c6f987e9a6636b8841e856ee6fa8c8981dc0a8dd42748a83a479b45d4b3a4515ec154a7d33c0c20ce3454c5ea77cc2cb7002d808a00ed98519f9bf63722
7
+ data.tar.gz: 498615d70a7f274bd65f72009383d7668aa502af912cd7324862dbce9d417dcee98735de9e4e178445494c941e5566cd8139271187777b07aceeb29d9a5b762a
data/CHANGELOG.md ADDED
@@ -0,0 +1,113 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.20.0 (2021-04-01)
5
+ ------------------
6
+
7
+ * Feature - Added support for ScopeDownStatement for ManagedRuleGroups, Labels, LabelMatchStatement, and LoggingFilter. For more information on these features, see the AWS WAF Developer Guide.
8
+
9
+ 1.19.0 (2021-03-29)
10
+ ------------------
11
+
12
+ * 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.
13
+
14
+ 1.18.0 (2021-03-11)
15
+ ------------------
16
+
17
+ * Feature - Correct the documentation about JSON body parsing behavior and IP set update behavior
18
+
19
+ 1.17.0 (2021-03-10)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.16.0 (2021-02-12)
25
+ ------------------
26
+
27
+ * 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.
28
+
29
+ 1.15.0 (2021-02-02)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.14.0 (2020-10-01)
35
+ ------------------
36
+
37
+ * 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.
38
+
39
+ 1.13.0 (2020-09-30)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.12.0 (2020-09-15)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.11.0 (2020-08-25)
50
+ ------------------
51
+
52
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
53
+
54
+ 1.10.0 (2020-07-31)
55
+ ------------------
56
+
57
+ * Feature - Add ManagedByFirewallManager flag to the logging configuration, which indicates whether AWS Firewall Manager controls the configuration.
58
+
59
+ 1.9.0 (2020-07-09)
60
+ ------------------
61
+
62
+ * 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.
63
+
64
+ 1.8.0 (2020-07-02)
65
+ ------------------
66
+
67
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
68
+
69
+ 1.7.0 (2020-06-23)
70
+ ------------------
71
+
72
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
73
+
74
+ 1.6.1 (2020-06-11)
75
+ ------------------
76
+
77
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
78
+
79
+ 1.6.0 (2020-06-10)
80
+ ------------------
81
+
82
+ * Issue - This version has been yanked. (#2327).
83
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
84
+
85
+ 1.5.0 (2020-05-28)
86
+ ------------------
87
+
88
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
89
+
90
+ 1.4.0 (2020-05-07)
91
+ ------------------
92
+
93
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
94
+
95
+ 1.3.0 (2020-03-31)
96
+ ------------------
97
+
98
+ * Feature - Added support for AWS Firewall Manager for WAFv2 and PermissionPolicy APIs for WAFv2.
99
+
100
+ 1.2.0 (2020-03-09)
101
+ ------------------
102
+
103
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
104
+
105
+ 1.1.0 (2020-02-21)
106
+ ------------------
107
+
108
+ * Feature - Documentation updates for AWS WAF (wafv2) to correct the guidance for associating a web ACL to a CloudFront distribution.
109
+
110
+ 1.0.0 (2019-11-25)
111
+ ------------------
112
+
113
+ * 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.20.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.15.0'
51
+ GEM_VERSION = '1.20.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,13 +337,6 @@ module Aws::WAFV2
337
337
 
338
338
  # @!group API Operations
339
339
 
340
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
341
- # in November, 2019. For information, including how to migrate your AWS
342
- # WAF resources from the prior release, see the [AWS WAF Developer
343
- # Guide][1].
344
- #
345
- # </note>
346
- #
347
340
  # Associates a Web ACL with a regional application resource, to protect
348
341
  # the resource. A regional application can be an Application Load
349
342
  # Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.
@@ -352,12 +345,11 @@ module Aws::WAFV2
352
345
  # distribution configuration. To associate a Web ACL, in the CloudFront
353
346
  # call `UpdateDistribution`, set the web ACL ID to the Amazon Resource
354
347
  # Name (ARN) of the Web ACL. For information, see
355
- # [UpdateDistribution][2].
348
+ # [UpdateDistribution][1].
356
349
  #
357
350
  #
358
351
  #
359
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
360
- # [2]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
352
+ # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
361
353
  #
362
354
  # @option params [required, String] :web_acl_arn
363
355
  # The Amazon Resource Name (ARN) of the Web ACL that you want to
@@ -397,13 +389,6 @@ module Aws::WAFV2
397
389
  req.send_request(options)
398
390
  end
399
391
 
400
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
401
- # in November, 2019. For information, including how to migrate your AWS
402
- # WAF resources from the prior release, see the [AWS WAF Developer
403
- # Guide][1].
404
- #
405
- # </note>
406
- #
407
392
  # Returns the web ACL capacity unit (WCU) requirements for a specified
408
393
  # scope and set of rules. You can use this to check the capacity
409
394
  # requirements for the rules you want to use in a RuleGroup or WebACL.
@@ -417,10 +402,6 @@ module Aws::WAFV2
417
402
  # web ACL WCU usage when they use a rule group. The WCU limit for web
418
403
  # ACLs is 1,500.
419
404
  #
420
- #
421
- #
422
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
423
- #
424
405
  # @option params [required, String] :scope
425
406
  # Specifies whether this is for an AWS CloudFront distribution or for a
426
407
  # regional application. A regional application can be an Application
@@ -471,6 +452,15 @@ module Aws::WAFV2
471
452
  # },
472
453
  # method: {
473
454
  # },
455
+ # json_body: {
456
+ # match_pattern: { # required
457
+ # all: {
458
+ # },
459
+ # included_paths: ["JsonPointerPath"],
460
+ # },
461
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
462
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
463
+ # },
474
464
  # },
475
465
  # text_transformations: [ # required
476
466
  # {
@@ -498,6 +488,15 @@ module Aws::WAFV2
498
488
  # },
499
489
  # method: {
500
490
  # },
491
+ # json_body: {
492
+ # match_pattern: { # required
493
+ # all: {
494
+ # },
495
+ # included_paths: ["JsonPointerPath"],
496
+ # },
497
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
498
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
499
+ # },
501
500
  # },
502
501
  # text_transformations: [ # required
503
502
  # {
@@ -524,6 +523,15 @@ module Aws::WAFV2
524
523
  # },
525
524
  # method: {
526
525
  # },
526
+ # json_body: {
527
+ # match_pattern: { # required
528
+ # all: {
529
+ # },
530
+ # included_paths: ["JsonPointerPath"],
531
+ # },
532
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
533
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
534
+ # },
527
535
  # },
528
536
  # text_transformations: [ # required
529
537
  # {
@@ -550,6 +558,15 @@ module Aws::WAFV2
550
558
  # },
551
559
  # method: {
552
560
  # },
561
+ # json_body: {
562
+ # match_pattern: { # required
563
+ # all: {
564
+ # },
565
+ # included_paths: ["JsonPointerPath"],
566
+ # },
567
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
568
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
569
+ # },
553
570
  # },
554
571
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
555
572
  # size: 1, # required
@@ -602,6 +619,15 @@ module Aws::WAFV2
602
619
  # },
603
620
  # method: {
604
621
  # },
622
+ # json_body: {
623
+ # match_pattern: { # required
624
+ # all: {
625
+ # },
626
+ # included_paths: ["JsonPointerPath"],
627
+ # },
628
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
629
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
630
+ # },
605
631
  # },
606
632
  # text_transformations: [ # required
607
633
  # {
@@ -648,22 +674,68 @@ module Aws::WAFV2
648
674
  # name: "EntityName", # required
649
675
  # },
650
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
651
684
  # },
652
685
  # },
653
686
  # action: {
654
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
+ # },
655
698
  # },
656
699
  # allow: {
700
+ # custom_request_handling: {
701
+ # insert_headers: [ # required
702
+ # {
703
+ # name: "CustomHTTPHeaderName", # required
704
+ # value: "CustomHTTPHeaderValue", # required
705
+ # },
706
+ # ],
707
+ # },
657
708
  # },
658
709
  # count: {
710
+ # custom_request_handling: {
711
+ # insert_headers: [ # required
712
+ # {
713
+ # name: "CustomHTTPHeaderName", # required
714
+ # value: "CustomHTTPHeaderValue", # required
715
+ # },
716
+ # ],
717
+ # },
659
718
  # },
660
719
  # },
661
720
  # override_action: {
662
721
  # count: {
722
+ # custom_request_handling: {
723
+ # insert_headers: [ # required
724
+ # {
725
+ # name: "CustomHTTPHeaderName", # required
726
+ # value: "CustomHTTPHeaderValue", # required
727
+ # },
728
+ # ],
729
+ # },
663
730
  # },
664
731
  # none: {
665
732
  # },
666
733
  # },
734
+ # rule_labels: [
735
+ # {
736
+ # name: "LabelName", # required
737
+ # },
738
+ # ],
667
739
  # visibility_config: { # required
668
740
  # sampled_requests_enabled: false, # required
669
741
  # cloud_watch_metrics_enabled: false, # required
@@ -686,23 +758,12 @@ module Aws::WAFV2
686
758
  req.send_request(options)
687
759
  end
688
760
 
689
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
690
- # in November, 2019. For information, including how to migrate your AWS
691
- # WAF resources from the prior release, see the [AWS WAF Developer
692
- # Guide][1].
693
- #
694
- # </note>
695
- #
696
761
  # Creates an IPSet, which you use to identify web requests that
697
762
  # originate from specific IP addresses or ranges of IP addresses. For
698
763
  # example, if you're receiving a lot of requests from a ranges of IP
699
764
  # addresses, you can configure AWS WAF to block them using an IPSet that
700
765
  # lists those IP addresses.
701
766
  #
702
- #
703
- #
704
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
705
- #
706
767
  # @option params [required, String] :name
707
768
  # The name of the IP set. You cannot change the name of an `IPSet` after
708
769
  # you create it.
@@ -722,8 +783,7 @@ module Aws::WAFV2
722
783
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
723
784
  #
724
785
  # @option params [String] :description
725
- # A description of the IP set that helps with identification. You cannot
726
- # change the description of an IP set after you create it.
786
+ # A description of the IP set that helps with identification.
727
787
  #
728
788
  # @option params [required, String] :ip_address_version
729
789
  # Specify IPV4 or IPV6.
@@ -731,8 +791,8 @@ module Aws::WAFV2
731
791
  # @option params [required, Array<String>] :addresses
732
792
  # Contains an array of strings that specify one or more IP addresses or
733
793
  # blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
734
- # notation. AWS WAF supports all address ranges for IP versions IPv4 and
735
- # IPv6.
794
+ # notation. AWS WAF supports all IPv4 and IPv6 CIDR ranges except for
795
+ # /0.
736
796
  #
737
797
  # Examples:
738
798
  #
@@ -800,21 +860,10 @@ module Aws::WAFV2
800
860
  req.send_request(options)
801
861
  end
802
862
 
803
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
804
- # in November, 2019. For information, including how to migrate your AWS
805
- # WAF resources from the prior release, see the [AWS WAF Developer
806
- # Guide][1].
807
- #
808
- # </note>
809
- #
810
863
  # Creates a RegexPatternSet, which you reference in a
811
864
  # RegexPatternSetReferenceStatement, to have AWS WAF inspect a web
812
865
  # request component for the specified patterns.
813
866
  #
814
- #
815
- #
816
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
817
- #
818
867
  # @option params [required, String] :name
819
868
  # The name of the set. You cannot change the name after you create the
820
869
  # set.
@@ -834,8 +883,7 @@ module Aws::WAFV2
834
883
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
835
884
  #
836
885
  # @option params [String] :description
837
- # A description of the set that helps with identification. You cannot
838
- # change the description of a set after you create it.
886
+ # A description of the set that helps with identification.
839
887
  #
840
888
  # @option params [required, Array<Types::Regex>] :regular_expression_list
841
889
  # Array of regular expression strings.
@@ -883,13 +931,6 @@ module Aws::WAFV2
883
931
  req.send_request(options)
884
932
  end
885
933
 
886
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
887
- # in November, 2019. For information, including how to migrate your AWS
888
- # WAF resources from the prior release, see the [AWS WAF Developer
889
- # Guide][1].
890
- #
891
- # </note>
892
- #
893
934
  # Creates a RuleGroup per the specifications provided.
894
935
  #
895
936
  # A rule group defines a collection of rules to inspect and control web
@@ -898,10 +939,6 @@ module Aws::WAFV2
898
939
  # you must stay within the capacity. This allows others to reuse the
899
940
  # rule group with confidence in its capacity requirements.
900
941
  #
901
- #
902
- #
903
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
904
- #
905
942
  # @option params [required, String] :name
906
943
  # The name of the rule group. You cannot change the name of a rule group
907
944
  # after you create it.
@@ -938,8 +975,7 @@ module Aws::WAFV2
938
975
  # ACLs is 1,500.
939
976
  #
940
977
  # @option params [String] :description
941
- # A description of the rule group that helps with identification. You
942
- # cannot change the description of a rule group after you create it.
978
+ # A description of the rule group that helps with identification.
943
979
  #
944
980
  # @option params [Array<Types::Rule>] :rules
945
981
  # The Rule statements used to identify the web requests that you want to
@@ -954,6 +990,26 @@ module Aws::WAFV2
954
990
  # @option params [Array<Types::Tag>] :tags
955
991
  # An array of key:value pairs to associate with the resource.
956
992
  #
993
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
994
+ # A map of custom response keys and content bodies. When you create a
995
+ # rule with a block action, you can send a custom response to the web
996
+ # request. You define these for the rule group, and then use them in the
997
+ # rules that you define in the rule group.
998
+ #
999
+ # For information about customizing web requests and responses, see
1000
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
1001
+ # Developer Guide][2].
1002
+ #
1003
+ # For information about the limits on count and size for custom request
1004
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
1005
+ # Developer Guide][2].
1006
+ #
1007
+ #
1008
+ #
1009
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
1010
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1011
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1012
+ #
957
1013
  # @return [Types::CreateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
1014
  #
959
1015
  # * {Types::CreateRuleGroupResponse#summary #summary} => Types::RuleGroupSummary
@@ -989,6 +1045,15 @@ module Aws::WAFV2
989
1045
  # },
990
1046
  # method: {
991
1047
  # },
1048
+ # json_body: {
1049
+ # match_pattern: { # required
1050
+ # all: {
1051
+ # },
1052
+ # included_paths: ["JsonPointerPath"],
1053
+ # },
1054
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1055
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1056
+ # },
992
1057
  # },
993
1058
  # text_transformations: [ # required
994
1059
  # {
@@ -1016,6 +1081,15 @@ module Aws::WAFV2
1016
1081
  # },
1017
1082
  # method: {
1018
1083
  # },
1084
+ # json_body: {
1085
+ # match_pattern: { # required
1086
+ # all: {
1087
+ # },
1088
+ # included_paths: ["JsonPointerPath"],
1089
+ # },
1090
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1091
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1092
+ # },
1019
1093
  # },
1020
1094
  # text_transformations: [ # required
1021
1095
  # {
@@ -1042,6 +1116,15 @@ module Aws::WAFV2
1042
1116
  # },
1043
1117
  # method: {
1044
1118
  # },
1119
+ # json_body: {
1120
+ # match_pattern: { # required
1121
+ # all: {
1122
+ # },
1123
+ # included_paths: ["JsonPointerPath"],
1124
+ # },
1125
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1126
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1127
+ # },
1045
1128
  # },
1046
1129
  # text_transformations: [ # required
1047
1130
  # {
@@ -1068,6 +1151,15 @@ module Aws::WAFV2
1068
1151
  # },
1069
1152
  # method: {
1070
1153
  # },
1154
+ # json_body: {
1155
+ # match_pattern: { # required
1156
+ # all: {
1157
+ # },
1158
+ # included_paths: ["JsonPointerPath"],
1159
+ # },
1160
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1161
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1162
+ # },
1071
1163
  # },
1072
1164
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1073
1165
  # size: 1, # required
@@ -1120,6 +1212,15 @@ module Aws::WAFV2
1120
1212
  # },
1121
1213
  # method: {
1122
1214
  # },
1215
+ # json_body: {
1216
+ # match_pattern: { # required
1217
+ # all: {
1218
+ # },
1219
+ # included_paths: ["JsonPointerPath"],
1220
+ # },
1221
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1222
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1223
+ # },
1123
1224
  # },
1124
1225
  # text_transformations: [ # required
1125
1226
  # {
@@ -1166,22 +1267,68 @@ module Aws::WAFV2
1166
1267
  # name: "EntityName", # required
1167
1268
  # },
1168
1269
  # ],
1270
+ # scope_down_statement: {
1271
+ # # recursive Statement
1272
+ # },
1273
+ # },
1274
+ # label_match_statement: {
1275
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1276
+ # key: "LabelMatchKey", # required
1169
1277
  # },
1170
1278
  # },
1171
1279
  # action: {
1172
1280
  # block: {
1281
+ # custom_response: {
1282
+ # response_code: 1, # required
1283
+ # custom_response_body_key: "EntityName",
1284
+ # response_headers: [
1285
+ # {
1286
+ # name: "CustomHTTPHeaderName", # required
1287
+ # value: "CustomHTTPHeaderValue", # required
1288
+ # },
1289
+ # ],
1290
+ # },
1173
1291
  # },
1174
1292
  # allow: {
1293
+ # custom_request_handling: {
1294
+ # insert_headers: [ # required
1295
+ # {
1296
+ # name: "CustomHTTPHeaderName", # required
1297
+ # value: "CustomHTTPHeaderValue", # required
1298
+ # },
1299
+ # ],
1300
+ # },
1175
1301
  # },
1176
1302
  # count: {
1303
+ # custom_request_handling: {
1304
+ # insert_headers: [ # required
1305
+ # {
1306
+ # name: "CustomHTTPHeaderName", # required
1307
+ # value: "CustomHTTPHeaderValue", # required
1308
+ # },
1309
+ # ],
1310
+ # },
1177
1311
  # },
1178
1312
  # },
1179
1313
  # override_action: {
1180
1314
  # count: {
1315
+ # custom_request_handling: {
1316
+ # insert_headers: [ # required
1317
+ # {
1318
+ # name: "CustomHTTPHeaderName", # required
1319
+ # value: "CustomHTTPHeaderValue", # required
1320
+ # },
1321
+ # ],
1322
+ # },
1181
1323
  # },
1182
1324
  # none: {
1183
1325
  # },
1184
1326
  # },
1327
+ # rule_labels: [
1328
+ # {
1329
+ # name: "LabelName", # required
1330
+ # },
1331
+ # ],
1185
1332
  # visibility_config: { # required
1186
1333
  # sampled_requests_enabled: false, # required
1187
1334
  # cloud_watch_metrics_enabled: false, # required
@@ -1200,6 +1347,12 @@ module Aws::WAFV2
1200
1347
  # value: "TagValue", # required
1201
1348
  # },
1202
1349
  # ],
1350
+ # custom_response_bodies: {
1351
+ # "EntityName" => {
1352
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1353
+ # content: "ResponseContent", # required
1354
+ # },
1355
+ # },
1203
1356
  # })
1204
1357
  #
1205
1358
  # @example Response structure
@@ -1219,13 +1372,6 @@ module Aws::WAFV2
1219
1372
  req.send_request(options)
1220
1373
  end
1221
1374
 
1222
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1223
- # in November, 2019. For information, including how to migrate your AWS
1224
- # WAF resources from the prior release, see the [AWS WAF Developer
1225
- # Guide][1].
1226
- #
1227
- # </note>
1228
- #
1229
1375
  # Creates a WebACL per the specifications provided.
1230
1376
  #
1231
1377
  # A Web ACL defines a collection of rules to use to inspect and control
@@ -1238,10 +1384,6 @@ module Aws::WAFV2
1238
1384
  # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
1239
1385
  # Application Load Balancer, or an AWS AppSync GraphQL API.
1240
1386
  #
1241
- #
1242
- #
1243
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1244
- #
1245
1387
  # @option params [required, String] :name
1246
1388
  # The name of the Web ACL. You cannot change the name of a Web ACL after
1247
1389
  # you create it.
@@ -1265,8 +1407,7 @@ module Aws::WAFV2
1265
1407
  # match.
1266
1408
  #
1267
1409
  # @option params [String] :description
1268
- # A description of the Web ACL that helps with identification. You
1269
- # cannot change the description of a Web ACL after you create it.
1410
+ # A description of the Web ACL that helps with identification.
1270
1411
  #
1271
1412
  # @option params [Array<Types::Rule>] :rules
1272
1413
  # The Rule statements used to identify the web requests that you want to
@@ -1281,6 +1422,26 @@ module Aws::WAFV2
1281
1422
  # @option params [Array<Types::Tag>] :tags
1282
1423
  # An array of key:value pairs to associate with the resource.
1283
1424
  #
1425
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
1426
+ # A map of custom response keys and content bodies. When you create a
1427
+ # rule with a block action, you can send a custom response to the web
1428
+ # request. You define these for the web ACL, and then use them in the
1429
+ # rules and default actions that you define in the web ACL.
1430
+ #
1431
+ # For information about customizing web requests and responses, see
1432
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
1433
+ # Developer Guide][2].
1434
+ #
1435
+ # For information about the limits on count and size for custom request
1436
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
1437
+ # Developer Guide][2].
1438
+ #
1439
+ #
1440
+ #
1441
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
1442
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1443
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1444
+ #
1284
1445
  # @return [Types::CreateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1285
1446
  #
1286
1447
  # * {Types::CreateWebACLResponse#summary #summary} => Types::WebACLSummary
@@ -1292,8 +1453,26 @@ module Aws::WAFV2
1292
1453
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
1293
1454
  # default_action: { # required
1294
1455
  # block: {
1456
+ # custom_response: {
1457
+ # response_code: 1, # required
1458
+ # custom_response_body_key: "EntityName",
1459
+ # response_headers: [
1460
+ # {
1461
+ # name: "CustomHTTPHeaderName", # required
1462
+ # value: "CustomHTTPHeaderValue", # required
1463
+ # },
1464
+ # ],
1465
+ # },
1295
1466
  # },
1296
1467
  # allow: {
1468
+ # custom_request_handling: {
1469
+ # insert_headers: [ # required
1470
+ # {
1471
+ # name: "CustomHTTPHeaderName", # required
1472
+ # value: "CustomHTTPHeaderValue", # required
1473
+ # },
1474
+ # ],
1475
+ # },
1297
1476
  # },
1298
1477
  # },
1299
1478
  # description: "EntityDescription",
@@ -1321,6 +1500,15 @@ module Aws::WAFV2
1321
1500
  # },
1322
1501
  # method: {
1323
1502
  # },
1503
+ # json_body: {
1504
+ # match_pattern: { # required
1505
+ # all: {
1506
+ # },
1507
+ # included_paths: ["JsonPointerPath"],
1508
+ # },
1509
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1510
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1511
+ # },
1324
1512
  # },
1325
1513
  # text_transformations: [ # required
1326
1514
  # {
@@ -1348,6 +1536,15 @@ module Aws::WAFV2
1348
1536
  # },
1349
1537
  # method: {
1350
1538
  # },
1539
+ # json_body: {
1540
+ # match_pattern: { # required
1541
+ # all: {
1542
+ # },
1543
+ # included_paths: ["JsonPointerPath"],
1544
+ # },
1545
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1546
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1547
+ # },
1351
1548
  # },
1352
1549
  # text_transformations: [ # required
1353
1550
  # {
@@ -1374,6 +1571,15 @@ module Aws::WAFV2
1374
1571
  # },
1375
1572
  # method: {
1376
1573
  # },
1574
+ # json_body: {
1575
+ # match_pattern: { # required
1576
+ # all: {
1577
+ # },
1578
+ # included_paths: ["JsonPointerPath"],
1579
+ # },
1580
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1581
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1582
+ # },
1377
1583
  # },
1378
1584
  # text_transformations: [ # required
1379
1585
  # {
@@ -1400,6 +1606,15 @@ module Aws::WAFV2
1400
1606
  # },
1401
1607
  # method: {
1402
1608
  # },
1609
+ # json_body: {
1610
+ # match_pattern: { # required
1611
+ # all: {
1612
+ # },
1613
+ # included_paths: ["JsonPointerPath"],
1614
+ # },
1615
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1616
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1617
+ # },
1403
1618
  # },
1404
1619
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1405
1620
  # size: 1, # required
@@ -1452,6 +1667,15 @@ module Aws::WAFV2
1452
1667
  # },
1453
1668
  # method: {
1454
1669
  # },
1670
+ # json_body: {
1671
+ # match_pattern: { # required
1672
+ # all: {
1673
+ # },
1674
+ # included_paths: ["JsonPointerPath"],
1675
+ # },
1676
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1677
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1678
+ # },
1455
1679
  # },
1456
1680
  # text_transformations: [ # required
1457
1681
  # {
@@ -1498,22 +1722,68 @@ module Aws::WAFV2
1498
1722
  # name: "EntityName", # required
1499
1723
  # },
1500
1724
  # ],
1725
+ # scope_down_statement: {
1726
+ # # recursive Statement
1727
+ # },
1728
+ # },
1729
+ # label_match_statement: {
1730
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1731
+ # key: "LabelMatchKey", # required
1501
1732
  # },
1502
1733
  # },
1503
1734
  # action: {
1504
1735
  # block: {
1736
+ # custom_response: {
1737
+ # response_code: 1, # required
1738
+ # custom_response_body_key: "EntityName",
1739
+ # response_headers: [
1740
+ # {
1741
+ # name: "CustomHTTPHeaderName", # required
1742
+ # value: "CustomHTTPHeaderValue", # required
1743
+ # },
1744
+ # ],
1745
+ # },
1505
1746
  # },
1506
1747
  # allow: {
1748
+ # custom_request_handling: {
1749
+ # insert_headers: [ # required
1750
+ # {
1751
+ # name: "CustomHTTPHeaderName", # required
1752
+ # value: "CustomHTTPHeaderValue", # required
1753
+ # },
1754
+ # ],
1755
+ # },
1507
1756
  # },
1508
1757
  # count: {
1758
+ # custom_request_handling: {
1759
+ # insert_headers: [ # required
1760
+ # {
1761
+ # name: "CustomHTTPHeaderName", # required
1762
+ # value: "CustomHTTPHeaderValue", # required
1763
+ # },
1764
+ # ],
1765
+ # },
1509
1766
  # },
1510
1767
  # },
1511
1768
  # override_action: {
1512
1769
  # count: {
1770
+ # custom_request_handling: {
1771
+ # insert_headers: [ # required
1772
+ # {
1773
+ # name: "CustomHTTPHeaderName", # required
1774
+ # value: "CustomHTTPHeaderValue", # required
1775
+ # },
1776
+ # ],
1777
+ # },
1513
1778
  # },
1514
1779
  # none: {
1515
1780
  # },
1516
1781
  # },
1782
+ # rule_labels: [
1783
+ # {
1784
+ # name: "LabelName", # required
1785
+ # },
1786
+ # ],
1517
1787
  # visibility_config: { # required
1518
1788
  # sampled_requests_enabled: false, # required
1519
1789
  # cloud_watch_metrics_enabled: false, # required
@@ -1532,6 +1802,12 @@ module Aws::WAFV2
1532
1802
  # value: "TagValue", # required
1533
1803
  # },
1534
1804
  # ],
1805
+ # custom_response_bodies: {
1806
+ # "EntityName" => {
1807
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1808
+ # content: "ResponseContent", # required
1809
+ # },
1810
+ # },
1535
1811
  # })
1536
1812
  #
1537
1813
  # @example Response structure
@@ -1594,19 +1870,8 @@ module Aws::WAFV2
1594
1870
  req.send_request(options)
1595
1871
  end
1596
1872
 
1597
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1598
- # in November, 2019. For information, including how to migrate your AWS
1599
- # WAF resources from the prior release, see the [AWS WAF Developer
1600
- # Guide][1].
1601
- #
1602
- # </note>
1603
- #
1604
1873
  # Deletes the specified IPSet.
1605
1874
  #
1606
- #
1607
- #
1608
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1609
- #
1610
1875
  # @option params [required, String] :name
1611
1876
  # The name of the IP set. You cannot change the name of an `IPSet` after
1612
1877
  # you create it.
@@ -1660,19 +1925,8 @@ module Aws::WAFV2
1660
1925
  req.send_request(options)
1661
1926
  end
1662
1927
 
1663
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1664
- # in November, 2019. For information, including how to migrate your AWS
1665
- # WAF resources from the prior release, see the [AWS WAF Developer
1666
- # Guide][1].
1667
- #
1668
- # </note>
1669
- #
1670
1928
  # Deletes the LoggingConfiguration from the specified web ACL.
1671
1929
  #
1672
- #
1673
- #
1674
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1675
- #
1676
1930
  # @option params [required, String] :resource_arn
1677
1931
  # The Amazon Resource Name (ARN) of the web ACL from which you want to
1678
1932
  # delete the LoggingConfiguration.
@@ -1721,19 +1975,8 @@ module Aws::WAFV2
1721
1975
  req.send_request(options)
1722
1976
  end
1723
1977
 
1724
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1725
- # in November, 2019. For information, including how to migrate your AWS
1726
- # WAF resources from the prior release, see the [AWS WAF Developer
1727
- # Guide][1].
1728
- #
1729
- # </note>
1730
- #
1731
1978
  # Deletes the specified RegexPatternSet.
1732
1979
  #
1733
- #
1734
- #
1735
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1736
- #
1737
1980
  # @option params [required, String] :name
1738
1981
  # The name of the set. You cannot change the name after you create the
1739
1982
  # set.
@@ -1787,19 +2030,8 @@ module Aws::WAFV2
1787
2030
  req.send_request(options)
1788
2031
  end
1789
2032
 
1790
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1791
- # in November, 2019. For information, including how to migrate your AWS
1792
- # WAF resources from the prior release, see the [AWS WAF Developer
1793
- # Guide][1].
1794
- #
1795
- # </note>
1796
- #
1797
2033
  # Deletes the specified RuleGroup.
1798
2034
  #
1799
- #
1800
- #
1801
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1802
- #
1803
2035
  # @option params [required, String] :name
1804
2036
  # The name of the rule group. You cannot change the name of a rule group
1805
2037
  # after you create it.
@@ -1853,22 +2085,11 @@ module Aws::WAFV2
1853
2085
  req.send_request(options)
1854
2086
  end
1855
2087
 
1856
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1857
- # in November, 2019. For information, including how to migrate your AWS
1858
- # WAF resources from the prior release, see the [AWS WAF Developer
1859
- # Guide][1].
1860
- #
1861
- # </note>
1862
- #
1863
2088
  # Deletes the specified WebACL.
1864
2089
  #
1865
2090
  # You can only use this if `ManagedByFirewallManager` is false in the
1866
2091
  # specified WebACL.
1867
2092
  #
1868
- #
1869
- #
1870
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1871
- #
1872
2093
  # @option params [required, String] :name
1873
2094
  # The name of the Web ACL. You cannot change the name of a Web ACL after
1874
2095
  # you create it.
@@ -1922,20 +2143,9 @@ module Aws::WAFV2
1922
2143
  req.send_request(options)
1923
2144
  end
1924
2145
 
1925
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1926
- # in November, 2019. For information, including how to migrate your AWS
1927
- # WAF resources from the prior release, see the [AWS WAF Developer
1928
- # Guide][1].
1929
- #
1930
- # </note>
1931
- #
1932
2146
  # Provides high-level information for a managed rule group, including
1933
2147
  # descriptions of the rules.
1934
2148
  #
1935
- #
1936
- #
1937
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1938
- #
1939
2149
  # @option params [required, String] :vendor_name
1940
2150
  # The name of the managed rule group vendor. You use this, along with
1941
2151
  # the rule group name, to identify the rule group.
@@ -1962,6 +2172,9 @@ module Aws::WAFV2
1962
2172
  #
1963
2173
  # * {Types::DescribeManagedRuleGroupResponse#capacity #capacity} => Integer
1964
2174
  # * {Types::DescribeManagedRuleGroupResponse#rules #rules} => Array&lt;Types::RuleSummary&gt;
2175
+ # * {Types::DescribeManagedRuleGroupResponse#label_namespace #label_namespace} => String
2176
+ # * {Types::DescribeManagedRuleGroupResponse#available_labels #available_labels} => Array&lt;Types::LabelSummary&gt;
2177
+ # * {Types::DescribeManagedRuleGroupResponse#consumed_labels #consumed_labels} => Array&lt;Types::LabelSummary&gt;
1965
2178
  #
1966
2179
  # @example Request syntax with placeholder values
1967
2180
  #
@@ -1976,6 +2189,22 @@ module Aws::WAFV2
1976
2189
  # resp.capacity #=> Integer
1977
2190
  # resp.rules #=> Array
1978
2191
  # resp.rules[0].name #=> String
2192
+ # resp.rules[0].action.block.custom_response.response_code #=> Integer
2193
+ # resp.rules[0].action.block.custom_response.custom_response_body_key #=> String
2194
+ # resp.rules[0].action.block.custom_response.response_headers #=> Array
2195
+ # resp.rules[0].action.block.custom_response.response_headers[0].name #=> String
2196
+ # resp.rules[0].action.block.custom_response.response_headers[0].value #=> String
2197
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2198
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2199
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2200
+ # resp.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2201
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2202
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2203
+ # resp.label_namespace #=> String
2204
+ # resp.available_labels #=> Array
2205
+ # resp.available_labels[0].name #=> String
2206
+ # resp.consumed_labels #=> Array
2207
+ # resp.consumed_labels[0].name #=> String
1979
2208
  #
1980
2209
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroup AWS API Documentation
1981
2210
  #
@@ -1986,13 +2215,6 @@ module Aws::WAFV2
1986
2215
  req.send_request(options)
1987
2216
  end
1988
2217
 
1989
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1990
- # in November, 2019. For information, including how to migrate your AWS
1991
- # WAF resources from the prior release, see the [AWS WAF Developer
1992
- # Guide][1].
1993
- #
1994
- # </note>
1995
- #
1996
2218
  # Disassociates a Web ACL from a regional application resource. A
1997
2219
  # regional application can be an Application Load Balancer (ALB), an API
1998
2220
  # Gateway REST API, or an AppSync GraphQL API.
@@ -2000,12 +2222,11 @@ module Aws::WAFV2
2000
2222
  # For AWS CloudFront, don't use this call. Instead, use your CloudFront
2001
2223
  # distribution configuration. To disassociate a Web ACL, provide an
2002
2224
  # empty web ACL ID in the CloudFront call `UpdateDistribution`. For
2003
- # information, see [UpdateDistribution][2].
2225
+ # information, see [UpdateDistribution][1].
2004
2226
  #
2005
2227
  #
2006
2228
  #
2007
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2008
- # [2]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
2229
+ # [1]: https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html
2009
2230
  #
2010
2231
  # @option params [required, String] :resource_arn
2011
2232
  # The Amazon Resource Name (ARN) of the resource to disassociate from
@@ -2040,19 +2261,8 @@ module Aws::WAFV2
2040
2261
  req.send_request(options)
2041
2262
  end
2042
2263
 
2043
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2044
- # in November, 2019. For information, including how to migrate your AWS
2045
- # WAF resources from the prior release, see the [AWS WAF Developer
2046
- # Guide][1].
2047
- #
2048
- # </note>
2049
- #
2050
2264
  # Retrieves the specified IPSet.
2051
2265
  #
2052
- #
2053
- #
2054
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2055
- #
2056
2266
  # @option params [required, String] :name
2057
2267
  # The name of the IP set. You cannot change the name of an `IPSet` after
2058
2268
  # you create it.
@@ -2109,19 +2319,8 @@ module Aws::WAFV2
2109
2319
  req.send_request(options)
2110
2320
  end
2111
2321
 
2112
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2113
- # in November, 2019. For information, including how to migrate your AWS
2114
- # WAF resources from the prior release, see the [AWS WAF Developer
2115
- # Guide][1].
2116
- #
2117
- # </note>
2118
- #
2119
2322
  # Returns the LoggingConfiguration for the specified web ACL.
2120
2323
  #
2121
- #
2122
- #
2123
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2124
- #
2125
2324
  # @option params [required, String] :resource_arn
2126
2325
  # The Amazon Resource Name (ARN) of the web ACL for which you want to
2127
2326
  # get the LoggingConfiguration.
@@ -2144,7 +2343,18 @@ module Aws::WAFV2
2144
2343
  # resp.logging_configuration.redacted_fields #=> Array
2145
2344
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
2146
2345
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
2346
+ # resp.logging_configuration.redacted_fields[0].json_body.match_pattern.included_paths #=> Array
2347
+ # resp.logging_configuration.redacted_fields[0].json_body.match_pattern.included_paths[0] #=> String
2348
+ # resp.logging_configuration.redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2349
+ # resp.logging_configuration.redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2147
2350
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
2351
+ # resp.logging_configuration.logging_filter.filters #=> Array
2352
+ # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
2353
+ # resp.logging_configuration.logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
2354
+ # resp.logging_configuration.logging_filter.filters[0].conditions #=> Array
2355
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
2356
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
2357
+ # resp.logging_configuration.logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
2148
2358
  #
2149
2359
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetLoggingConfiguration AWS API Documentation
2150
2360
  #
@@ -2186,22 +2396,11 @@ module Aws::WAFV2
2186
2396
  req.send_request(options)
2187
2397
  end
2188
2398
 
2189
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2190
- # in November, 2019. For information, including how to migrate your AWS
2191
- # WAF resources from the prior release, see the [AWS WAF Developer
2192
- # Guide][1].
2193
- #
2194
- # </note>
2195
- #
2196
2399
  # Retrieves the keys that are currently blocked by a rate-based rule.
2197
2400
  # The maximum number of managed keys that can be blocked for a single
2198
2401
  # rate-based rule is 10,000. If more than 10,000 addresses exceed the
2199
2402
  # rate limit, those with the highest rates are blocked.
2200
2403
  #
2201
- #
2202
- #
2203
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2204
- #
2205
2404
  # @option params [required, String] :scope
2206
2405
  # Specifies whether this is for an AWS CloudFront distribution or for a
2207
2406
  # regional application. A regional application can be an Application
@@ -2260,19 +2459,8 @@ module Aws::WAFV2
2260
2459
  req.send_request(options)
2261
2460
  end
2262
2461
 
2263
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2264
- # in November, 2019. For information, including how to migrate your AWS
2265
- # WAF resources from the prior release, see the [AWS WAF Developer
2266
- # Guide][1].
2267
- #
2268
- # </note>
2269
- #
2270
2462
  # Retrieves the specified RegexPatternSet.
2271
2463
  #
2272
- #
2273
- #
2274
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2275
- #
2276
2464
  # @option params [required, String] :name
2277
2465
  # The name of the set. You cannot change the name after you create the
2278
2466
  # set.
@@ -2328,19 +2516,8 @@ module Aws::WAFV2
2328
2516
  req.send_request(options)
2329
2517
  end
2330
2518
 
2331
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2332
- # in November, 2019. For information, including how to migrate your AWS
2333
- # WAF resources from the prior release, see the [AWS WAF Developer
2334
- # Guide][1].
2335
- #
2336
- # </note>
2337
- #
2338
2519
  # Retrieves the specified RuleGroup.
2339
2520
  #
2340
- #
2341
- #
2342
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2343
- #
2344
2521
  # @option params [required, String] :name
2345
2522
  # The name of the rule group. You cannot change the name of a rule group
2346
2523
  # after you create it.
@@ -2390,22 +2567,38 @@ module Aws::WAFV2
2390
2567
  # resp.rule_group.rules[0].statement.byte_match_statement.search_string #=> String
2391
2568
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.single_header.name #=> String
2392
2569
  # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
2570
+ # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2571
+ # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2572
+ # resp.rule_group.rules[0].statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2573
+ # 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"
2393
2574
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations #=> Array
2394
2575
  # resp.rule_group.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2395
2576
  # 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"
2396
2577
  # resp.rule_group.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2397
2578
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2398
2579
  # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
2580
+ # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2581
+ # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2582
+ # resp.rule_group.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2583
+ # 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"
2399
2584
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2400
2585
  # resp.rule_group.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2401
2586
  # 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"
2402
2587
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2403
2588
  # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2589
+ # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2590
+ # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2591
+ # resp.rule_group.rules[0].statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2592
+ # 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"
2404
2593
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations #=> Array
2405
2594
  # resp.rule_group.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2406
2595
  # 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"
2407
2596
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2408
2597
  # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2598
+ # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2599
+ # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2600
+ # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2601
+ # resp.rule_group.rules[0].statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2409
2602
  # resp.rule_group.rules[0].statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
2410
2603
  # resp.rule_group.rules[0].statement.size_constraint_statement.size #=> Integer
2411
2604
  # resp.rule_group.rules[0].statement.size_constraint_statement.text_transformations #=> Array
@@ -2425,6 +2618,10 @@ module Aws::WAFV2
2425
2618
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2426
2619
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2427
2620
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
2621
+ # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2622
+ # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2623
+ # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2624
+ # 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"
2428
2625
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2429
2626
  # resp.rule_group.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2430
2627
  # 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"
@@ -2442,12 +2639,39 @@ module Aws::WAFV2
2442
2639
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.name #=> String
2443
2640
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2444
2641
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2642
+ # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2643
+ # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2644
+ # resp.rule_group.rules[0].statement.label_match_statement.key #=> String
2645
+ # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2646
+ # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2647
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
2648
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].name #=> String
2649
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].value #=> String
2650
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2651
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2652
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2653
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2654
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2655
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2656
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2657
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2658
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2659
+ # resp.rule_group.rules[0].rule_labels #=> Array
2660
+ # resp.rule_group.rules[0].rule_labels[0].name #=> String
2445
2661
  # resp.rule_group.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2446
2662
  # resp.rule_group.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2447
2663
  # resp.rule_group.rules[0].visibility_config.metric_name #=> String
2448
2664
  # resp.rule_group.visibility_config.sampled_requests_enabled #=> Boolean
2449
2665
  # resp.rule_group.visibility_config.cloud_watch_metrics_enabled #=> Boolean
2450
2666
  # resp.rule_group.visibility_config.metric_name #=> String
2667
+ # resp.rule_group.label_namespace #=> String
2668
+ # resp.rule_group.custom_response_bodies #=> Hash
2669
+ # resp.rule_group.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
2670
+ # resp.rule_group.custom_response_bodies["EntityName"].content #=> String
2671
+ # resp.rule_group.available_labels #=> Array
2672
+ # resp.rule_group.available_labels[0].name #=> String
2673
+ # resp.rule_group.consumed_labels #=> Array
2674
+ # resp.rule_group.consumed_labels[0].name #=> String
2451
2675
  # resp.lock_token #=> String
2452
2676
  #
2453
2677
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroup AWS API Documentation
@@ -2459,13 +2683,6 @@ module Aws::WAFV2
2459
2683
  req.send_request(options)
2460
2684
  end
2461
2685
 
2462
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2463
- # in November, 2019. For information, including how to migrate your AWS
2464
- # WAF resources from the prior release, see the [AWS WAF Developer
2465
- # Guide][1].
2466
- #
2467
- # </note>
2468
- #
2469
2686
  # Gets detailed information about a specified number of requests--a
2470
2687
  # sample--that AWS WAF randomly selects from among the first 5,000
2471
2688
  # requests that your AWS resource received during a time range that you
@@ -2479,10 +2696,6 @@ module Aws::WAFV2
2479
2696
  # range. This new time range indicates the actual period during which
2480
2697
  # AWS WAF selected the requests in the sample.
2481
2698
  #
2482
- #
2483
- #
2484
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2485
- #
2486
2699
  # @option params [required, String] :web_acl_arn
2487
2700
  # The Amazon resource name (ARN) of the `WebACL` for which you want a
2488
2701
  # sample of requests.
@@ -2511,7 +2724,8 @@ module Aws::WAFV2
2511
2724
  # You must specify the times in Coordinated Universal Time (UTC) format.
2512
2725
  # UTC format includes the special designator, `Z`. For example,
2513
2726
  # `"2016-09-27T14:50Z"`. You can specify any time range in the previous
2514
- # three hours.
2727
+ # three hours. If you specify a start time that's earlier than three
2728
+ # hours ago, AWS WAF sets it to three hours ago.
2515
2729
  #
2516
2730
  # @option params [required, Integer] :max_items
2517
2731
  # The number of requests that you want AWS WAF to return from among the
@@ -2554,6 +2768,12 @@ module Aws::WAFV2
2554
2768
  # resp.sampled_requests[0].timestamp #=> Time
2555
2769
  # resp.sampled_requests[0].action #=> String
2556
2770
  # resp.sampled_requests[0].rule_name_within_rule_group #=> String
2771
+ # resp.sampled_requests[0].request_headers_inserted #=> Array
2772
+ # resp.sampled_requests[0].request_headers_inserted[0].name #=> String
2773
+ # resp.sampled_requests[0].request_headers_inserted[0].value #=> String
2774
+ # resp.sampled_requests[0].response_code_sent #=> Integer
2775
+ # resp.sampled_requests[0].labels #=> Array
2776
+ # resp.sampled_requests[0].labels[0].name #=> String
2557
2777
  # resp.population_size #=> Integer
2558
2778
  # resp.time_window.start_time #=> Time
2559
2779
  # resp.time_window.end_time #=> Time
@@ -2567,19 +2787,8 @@ module Aws::WAFV2
2567
2787
  req.send_request(options)
2568
2788
  end
2569
2789
 
2570
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2571
- # in November, 2019. For information, including how to migrate your AWS
2572
- # WAF resources from the prior release, see the [AWS WAF Developer
2573
- # Guide][1].
2574
- #
2575
- # </note>
2576
- #
2577
2790
  # Retrieves the specified WebACL.
2578
2791
  #
2579
- #
2580
- #
2581
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2582
- #
2583
2792
  # @option params [required, String] :name
2584
2793
  # The name of the Web ACL. You cannot change the name of a Web ACL after
2585
2794
  # you create it.
@@ -2621,6 +2830,14 @@ module Aws::WAFV2
2621
2830
  # resp.web_acl.name #=> String
2622
2831
  # resp.web_acl.id #=> String
2623
2832
  # resp.web_acl.arn #=> String
2833
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
2834
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
2835
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
2836
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
2837
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
2838
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
2839
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
2840
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2624
2841
  # resp.web_acl.description #=> String
2625
2842
  # resp.web_acl.rules #=> Array
2626
2843
  # resp.web_acl.rules[0].name #=> String
@@ -2628,22 +2845,38 @@ module Aws::WAFV2
2628
2845
  # resp.web_acl.rules[0].statement.byte_match_statement.search_string #=> String
2629
2846
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.single_header.name #=> String
2630
2847
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
2848
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2849
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2850
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2851
+ # 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"
2631
2852
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations #=> Array
2632
2853
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2633
2854
  # 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"
2634
2855
  # resp.web_acl.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2635
2856
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2636
2857
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
2858
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2859
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2860
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2861
+ # 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"
2637
2862
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2638
2863
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2639
2864
  # 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"
2640
2865
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2641
2866
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
2867
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2868
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2869
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2870
+ # 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"
2642
2871
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations #=> Array
2643
2872
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2644
2873
  # 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"
2645
2874
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2646
2875
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
2876
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2877
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2878
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2879
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2647
2880
  # resp.web_acl.rules[0].statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
2648
2881
  # resp.web_acl.rules[0].statement.size_constraint_statement.size #=> Integer
2649
2882
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations #=> Array
@@ -2663,6 +2896,10 @@ module Aws::WAFV2
2663
2896
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2664
2897
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2665
2898
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
2899
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2900
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2901
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2902
+ # 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"
2666
2903
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2667
2904
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2668
2905
  # 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"
@@ -2680,6 +2917,25 @@ module Aws::WAFV2
2680
2917
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2681
2918
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2682
2919
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2920
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2921
+ # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2922
+ # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
2923
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
2924
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
2925
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
2926
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
2927
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
2928
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2929
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2930
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2931
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2932
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2933
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2934
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2935
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2936
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2937
+ # resp.web_acl.rules[0].rule_labels #=> Array
2938
+ # resp.web_acl.rules[0].rule_labels[0].name #=> String
2683
2939
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2684
2940
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2685
2941
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2694,9 +2950,86 @@ module Aws::WAFV2
2694
2950
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2695
2951
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2696
2952
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2953
+ # 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
2954
+ # 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
2955
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
2961
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2963
+ # 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"
2964
+ # 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
2965
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
2971
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2973
+ # 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
2974
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
2980
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2982
+ # 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
2983
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
2989
+ # 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
2990
+ # 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
2991
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2993
+ # 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
2994
+ # 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"
2995
+ # 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
2996
+ # 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"
2997
+ # 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
2998
+ # 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
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.excluded_rules[0].name #=> String
3000
+ # 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
3001
+ # 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
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.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
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.position #=> String, one of "FIRST", "LAST", "ANY"
3004
+ # 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
3005
+ # 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
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.field_to_match.single_query_argument.name #=> 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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
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.text_transformations[0].priority #=> Integer
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3014
+ # 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
3015
+ # 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"
3016
+ # 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
3017
+ # 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
3018
+ # 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"
3019
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3020
+ # 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
3021
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3022
+ # 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
3023
+ # 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
3024
+ # 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
3025
+ # 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"
3026
+ # 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
2697
3027
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2698
3028
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2699
3029
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3030
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3031
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3032
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2700
3033
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2701
3034
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2702
3035
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2707,13 +3040,94 @@ module Aws::WAFV2
2707
3040
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2708
3041
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2709
3042
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3043
+ # 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
3044
+ # 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
3045
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3051
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3053
+ # 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"
3054
+ # 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
3055
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3061
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3063
+ # 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
3064
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3070
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3072
+ # 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
3073
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3079
+ # 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
3080
+ # 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
3081
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3083
+ # 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
3084
+ # 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"
3085
+ # 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
3086
+ # 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"
3087
+ # 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
3088
+ # 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
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.excluded_rules[0].name #=> String
3090
+ # 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
3091
+ # 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
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.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
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.position #=> String, one of "FIRST", "LAST", "ANY"
3094
+ # 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
3095
+ # 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
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.field_to_match.single_query_argument.name #=> 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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
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.text_transformations[0].priority #=> Integer
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3104
+ # 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
3105
+ # 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"
3106
+ # 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
3107
+ # 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
3108
+ # 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"
3109
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3110
+ # 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
3111
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3112
+ # 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
3113
+ # 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
3114
+ # 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
3115
+ # 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"
3116
+ # 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
2710
3117
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2711
3118
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2712
3119
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3120
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3121
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3122
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2713
3123
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2714
3124
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2715
3125
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2716
3126
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
3127
+ # resp.web_acl.label_namespace #=> String
3128
+ # resp.web_acl.custom_response_bodies #=> Hash
3129
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
3130
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2717
3131
  # resp.lock_token #=> String
2718
3132
  #
2719
3133
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL AWS API Documentation
@@ -2725,19 +3139,8 @@ module Aws::WAFV2
2725
3139
  req.send_request(options)
2726
3140
  end
2727
3141
 
2728
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2729
- # in November, 2019. For information, including how to migrate your AWS
2730
- # WAF resources from the prior release, see the [AWS WAF Developer
2731
- # Guide][1].
2732
- #
2733
- # </note>
2734
- #
2735
3142
  # Retrieves the WebACL for the specified resource.
2736
3143
  #
2737
- #
2738
- #
2739
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2740
- #
2741
3144
  # @option params [required, String] :resource_arn
2742
3145
  # The ARN (Amazon Resource Name) of the resource.
2743
3146
  #
@@ -2756,6 +3159,14 @@ module Aws::WAFV2
2756
3159
  # resp.web_acl.name #=> String
2757
3160
  # resp.web_acl.id #=> String
2758
3161
  # resp.web_acl.arn #=> String
3162
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
3163
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
3164
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
3165
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
3166
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
3167
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
3168
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
3169
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2759
3170
  # resp.web_acl.description #=> String
2760
3171
  # resp.web_acl.rules #=> Array
2761
3172
  # resp.web_acl.rules[0].name #=> String
@@ -2763,22 +3174,38 @@ module Aws::WAFV2
2763
3174
  # resp.web_acl.rules[0].statement.byte_match_statement.search_string #=> String
2764
3175
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.single_header.name #=> String
2765
3176
  # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.single_query_argument.name #=> String
3177
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3178
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3179
+ # resp.web_acl.rules[0].statement.byte_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3180
+ # 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"
2766
3181
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations #=> Array
2767
3182
  # resp.web_acl.rules[0].statement.byte_match_statement.text_transformations[0].priority #=> Integer
2768
3183
  # 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"
2769
3184
  # resp.web_acl.rules[0].statement.byte_match_statement.positional_constraint #=> String, one of "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD"
2770
3185
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_header.name #=> String
2771
3186
  # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.single_query_argument.name #=> String
3187
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3188
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3189
+ # resp.web_acl.rules[0].statement.sqli_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3190
+ # 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"
2772
3191
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations #=> Array
2773
3192
  # resp.web_acl.rules[0].statement.sqli_match_statement.text_transformations[0].priority #=> Integer
2774
3193
  # 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"
2775
3194
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_header.name #=> String
2776
3195
  # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.single_query_argument.name #=> String
3196
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3197
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3198
+ # resp.web_acl.rules[0].statement.xss_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3199
+ # 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"
2777
3200
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations #=> Array
2778
3201
  # resp.web_acl.rules[0].statement.xss_match_statement.text_transformations[0].priority #=> Integer
2779
3202
  # 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"
2780
3203
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_header.name #=> String
2781
3204
  # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.single_query_argument.name #=> String
3205
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3206
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3207
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3208
+ # resp.web_acl.rules[0].statement.size_constraint_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2782
3209
  # resp.web_acl.rules[0].statement.size_constraint_statement.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
2783
3210
  # resp.web_acl.rules[0].statement.size_constraint_statement.size #=> Integer
2784
3211
  # resp.web_acl.rules[0].statement.size_constraint_statement.text_transformations #=> Array
@@ -2798,6 +3225,10 @@ module Aws::WAFV2
2798
3225
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.arn #=> String
2799
3226
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_header.name #=> String
2800
3227
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.single_query_argument.name #=> String
3228
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3229
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3230
+ # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3231
+ # 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"
2801
3232
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations #=> Array
2802
3233
  # resp.web_acl.rules[0].statement.regex_pattern_set_reference_statement.text_transformations[0].priority #=> Integer
2803
3234
  # 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"
@@ -2815,6 +3246,25 @@ module Aws::WAFV2
2815
3246
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2816
3247
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2817
3248
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3249
+ # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3250
+ # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3251
+ # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3252
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3253
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3254
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
3255
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
3256
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
3257
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
3258
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
3259
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
3260
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
3261
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
3262
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
3263
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
3264
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3265
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
3266
+ # resp.web_acl.rules[0].rule_labels #=> Array
3267
+ # resp.web_acl.rules[0].rule_labels[0].name #=> String
2818
3268
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2819
3269
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2820
3270
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2829,9 +3279,86 @@ module Aws::WAFV2
2829
3279
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2830
3280
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2831
3281
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3282
+ # 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
3283
+ # 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
3284
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3290
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3292
+ # 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"
3293
+ # 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
3294
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3300
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3302
+ # 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
3303
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3309
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3311
+ # 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
3312
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3318
+ # 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
3319
+ # 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
3320
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3322
+ # 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
3323
+ # 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"
3324
+ # 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
3325
+ # 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"
3326
+ # 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
3327
+ # 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
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.excluded_rules[0].name #=> String
3329
+ # 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
3330
+ # 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
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.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
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.position #=> String, one of "FIRST", "LAST", "ANY"
3333
+ # 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
3334
+ # 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
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.field_to_match.single_query_argument.name #=> 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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
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.text_transformations[0].priority #=> Integer
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3343
+ # 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
3344
+ # 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"
3345
+ # 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
3346
+ # 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
3347
+ # 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"
3348
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3349
+ # 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
3350
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3351
+ # 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
3352
+ # 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
3353
+ # 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
3354
+ # 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"
3355
+ # 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
2832
3356
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2833
3357
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2834
3358
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3359
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3360
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3361
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2835
3362
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2836
3363
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2837
3364
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2842,13 +3369,94 @@ module Aws::WAFV2
2842
3369
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2843
3370
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2844
3371
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3372
+ # 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
3373
+ # 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
3374
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3380
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3382
+ # 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"
3383
+ # 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
3384
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3390
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3392
+ # 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
3393
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
3399
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3401
+ # 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
3402
+ # 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
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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
3408
+ # 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
3409
+ # 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
3410
+ # 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
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3412
+ # 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
3413
+ # 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"
3414
+ # 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
3415
+ # 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"
3416
+ # 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
3417
+ # 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
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.excluded_rules[0].name #=> String
3419
+ # 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
3420
+ # 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
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.ip_set_forwarded_ip_config.fallback_behavior #=> String, one of "MATCH", "NO_MATCH"
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.position #=> String, one of "FIRST", "LAST", "ANY"
3423
+ # 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
3424
+ # 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
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.field_to_match.single_query_argument.name #=> 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.json_body.match_pattern.included_paths #=> Array
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.json_body.match_pattern.included_paths[0] #=> 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_scope #=> String, one of "ALL", "KEY", "VALUE"
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.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_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.text_transformations #=> Array
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.text_transformations[0].priority #=> Integer
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[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
3433
+ # 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
3434
+ # 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"
3435
+ # 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
3436
+ # 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
3437
+ # 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"
3438
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.and_statement.statements #=> Array
3439
+ # 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
3440
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.or_statement.statements #=> Array
3441
+ # 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
3442
+ # 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
3443
+ # 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
3444
+ # 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"
3445
+ # 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
2845
3446
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2846
3447
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2847
3448
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3449
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3450
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3451
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2848
3452
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2849
3453
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2850
3454
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2851
3455
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
3456
+ # resp.web_acl.label_namespace #=> String
3457
+ # resp.web_acl.custom_response_bodies #=> Hash
3458
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
3459
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2852
3460
  #
2853
3461
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource AWS API Documentation
2854
3462
  #
@@ -2859,21 +3467,10 @@ module Aws::WAFV2
2859
3467
  req.send_request(options)
2860
3468
  end
2861
3469
 
2862
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2863
- # in November, 2019. For information, including how to migrate your AWS
2864
- # WAF resources from the prior release, see the [AWS WAF Developer
2865
- # Guide][1].
2866
- #
2867
- # </note>
2868
- #
2869
3470
  # Retrieves an array of managed rule groups that are available for you
2870
3471
  # to use. This list includes all AWS Managed Rules rule groups and the
2871
3472
  # AWS Marketplace managed rule groups that you're subscribed to.
2872
3473
  #
2873
- #
2874
- #
2875
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2876
- #
2877
3474
  # @option params [required, String] :scope
2878
3475
  # Specifies whether this is for an AWS CloudFront distribution or for a
2879
3476
  # regional application. A regional application can be an Application
@@ -2931,20 +3528,9 @@ module Aws::WAFV2
2931
3528
  req.send_request(options)
2932
3529
  end
2933
3530
 
2934
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2935
- # in November, 2019. For information, including how to migrate your AWS
2936
- # WAF resources from the prior release, see the [AWS WAF Developer
2937
- # Guide][1].
2938
- #
2939
- # </note>
2940
- #
2941
3531
  # Retrieves an array of IPSetSummary objects for the IP sets that you
2942
3532
  # manage.
2943
3533
  #
2944
- #
2945
- #
2946
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2947
- #
2948
3534
  # @option params [required, String] :scope
2949
3535
  # Specifies whether this is for an AWS CloudFront distribution or for a
2950
3536
  # regional application. A regional application can be an Application
@@ -3004,19 +3590,8 @@ module Aws::WAFV2
3004
3590
  req.send_request(options)
3005
3591
  end
3006
3592
 
3007
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3008
- # in November, 2019. For information, including how to migrate your AWS
3009
- # WAF resources from the prior release, see the [AWS WAF Developer
3010
- # Guide][1].
3011
- #
3012
- # </note>
3013
- #
3014
3593
  # Retrieves an array of your LoggingConfiguration objects.
3015
3594
  #
3016
- #
3017
- #
3018
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3019
- #
3020
3595
  # @option params [String] :scope
3021
3596
  # Specifies whether this is for an AWS CloudFront distribution or for a
3022
3597
  # regional application. A regional application can be an Application
@@ -3066,7 +3641,18 @@ module Aws::WAFV2
3066
3641
  # resp.logging_configurations[0].redacted_fields #=> Array
3067
3642
  # resp.logging_configurations[0].redacted_fields[0].single_header.name #=> String
3068
3643
  # resp.logging_configurations[0].redacted_fields[0].single_query_argument.name #=> String
3644
+ # resp.logging_configurations[0].redacted_fields[0].json_body.match_pattern.included_paths #=> Array
3645
+ # resp.logging_configurations[0].redacted_fields[0].json_body.match_pattern.included_paths[0] #=> String
3646
+ # resp.logging_configurations[0].redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3647
+ # resp.logging_configurations[0].redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3069
3648
  # resp.logging_configurations[0].managed_by_firewall_manager #=> Boolean
3649
+ # resp.logging_configurations[0].logging_filter.filters #=> Array
3650
+ # resp.logging_configurations[0].logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
3651
+ # resp.logging_configurations[0].logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
3652
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions #=> Array
3653
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
3654
+ # resp.logging_configurations[0].logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
3655
+ # resp.logging_configurations[0].logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
3070
3656
  # resp.next_marker #=> String
3071
3657
  #
3072
3658
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListLoggingConfigurations AWS API Documentation
@@ -3078,20 +3664,9 @@ module Aws::WAFV2
3078
3664
  req.send_request(options)
3079
3665
  end
3080
3666
 
3081
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3082
- # in November, 2019. For information, including how to migrate your AWS
3083
- # WAF resources from the prior release, see the [AWS WAF Developer
3084
- # Guide][1].
3085
- #
3086
- # </note>
3087
- #
3088
3667
  # Retrieves an array of RegexPatternSetSummary objects for the regex
3089
3668
  # pattern sets that you manage.
3090
3669
  #
3091
- #
3092
- #
3093
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3094
- #
3095
3670
  # @option params [required, String] :scope
3096
3671
  # Specifies whether this is for an AWS CloudFront distribution or for a
3097
3672
  # regional application. A regional application can be an Application
@@ -3151,22 +3726,11 @@ module Aws::WAFV2
3151
3726
  req.send_request(options)
3152
3727
  end
3153
3728
 
3154
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3155
- # in November, 2019. For information, including how to migrate your AWS
3156
- # WAF resources from the prior release, see the [AWS WAF Developer
3157
- # Guide][1].
3158
- #
3159
- # </note>
3160
- #
3161
3729
  # Retrieves an array of the Amazon Resource Names (ARNs) for the
3162
3730
  # regional resources that are associated with the specified web ACL. If
3163
3731
  # you want the list of AWS CloudFront resources, use the AWS CloudFront
3164
3732
  # call `ListDistributionsByWebACLId`.
3165
3733
  #
3166
- #
3167
- #
3168
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3169
- #
3170
3734
  # @option params [required, String] :web_acl_arn
3171
3735
  # The Amazon Resource Name (ARN) of the Web ACL.
3172
3736
  #
@@ -3200,20 +3764,9 @@ module Aws::WAFV2
3200
3764
  req.send_request(options)
3201
3765
  end
3202
3766
 
3203
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3204
- # in November, 2019. For information, including how to migrate your AWS
3205
- # WAF resources from the prior release, see the [AWS WAF Developer
3206
- # Guide][1].
3207
- #
3208
- # </note>
3209
- #
3210
3767
  # Retrieves an array of RuleGroupSummary objects for the rule groups
3211
3768
  # that you manage.
3212
3769
  #
3213
- #
3214
- #
3215
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3216
- #
3217
3770
  # @option params [required, String] :scope
3218
3771
  # Specifies whether this is for an AWS CloudFront distribution or for a
3219
3772
  # regional application. A regional application can be an Application
@@ -3273,13 +3826,6 @@ module Aws::WAFV2
3273
3826
  req.send_request(options)
3274
3827
  end
3275
3828
 
3276
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3277
- # in November, 2019. For information, including how to migrate your AWS
3278
- # WAF resources from the prior release, see the [AWS WAF Developer
3279
- # Guide][1].
3280
- #
3281
- # </note>
3282
- #
3283
3829
  # Retrieves the TagInfoForResource for the specified resource. Tags are
3284
3830
  # key:value pairs that you can use to categorize and manage your
3285
3831
  # resources, for purposes like billing. For example, you might set the
@@ -3291,10 +3837,6 @@ module Aws::WAFV2
3291
3837
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3292
3838
  # or view tags through the AWS WAF console.
3293
3839
  #
3294
- #
3295
- #
3296
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3297
- #
3298
3840
  # @option params [String] :next_marker
3299
3841
  # When you request a list of objects with a `Limit` setting, if the
3300
3842
  # number of objects that are still available for retrieval exceeds the
@@ -3341,20 +3883,9 @@ module Aws::WAFV2
3341
3883
  req.send_request(options)
3342
3884
  end
3343
3885
 
3344
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3345
- # in November, 2019. For information, including how to migrate your AWS
3346
- # WAF resources from the prior release, see the [AWS WAF Developer
3347
- # Guide][1].
3348
- #
3349
- # </note>
3350
- #
3351
3886
  # Retrieves an array of WebACLSummary objects for the web ACLs that you
3352
3887
  # manage.
3353
3888
  #
3354
- #
3355
- #
3356
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3357
- #
3358
3889
  # @option params [required, String] :scope
3359
3890
  # Specifies whether this is for an AWS CloudFront distribution or for a
3360
3891
  # regional application. A regional application can be an Application
@@ -3414,13 +3945,6 @@ module Aws::WAFV2
3414
3945
  req.send_request(options)
3415
3946
  end
3416
3947
 
3417
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3418
- # in November, 2019. For information, including how to migrate your AWS
3419
- # WAF resources from the prior release, see the [AWS WAF Developer
3420
- # Guide][1].
3421
- #
3422
- # </note>
3423
- #
3424
3948
  # Enables the specified LoggingConfiguration, to start logging from a
3425
3949
  # web ACL, according to the configuration provided.
3426
3950
  #
@@ -3447,13 +3971,12 @@ module Aws::WAFV2
3447
3971
  # When you successfully enable logging using a `PutLoggingConfiguration`
3448
3972
  # request, AWS WAF will create a service linked role with the necessary
3449
3973
  # permissions to write logs to the Amazon Kinesis Data Firehose. For
3450
- # more information, see [Logging Web ACL Traffic Information][2] in the
3974
+ # more information, see [Logging Web ACL Traffic Information][1] in the
3451
3975
  # *AWS WAF Developer Guide*.
3452
3976
  #
3453
3977
  #
3454
3978
  #
3455
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3456
- # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/logging.html
3979
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/logging.html
3457
3980
  #
3458
3981
  # @option params [required, Types::LoggingConfiguration] :logging_configuration
3459
3982
  #
@@ -3485,9 +4008,37 @@ module Aws::WAFV2
3485
4008
  # },
3486
4009
  # method: {
3487
4010
  # },
4011
+ # json_body: {
4012
+ # match_pattern: { # required
4013
+ # all: {
4014
+ # },
4015
+ # included_paths: ["JsonPointerPath"],
4016
+ # },
4017
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4018
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4019
+ # },
3488
4020
  # },
3489
4021
  # ],
3490
4022
  # managed_by_firewall_manager: false,
4023
+ # logging_filter: {
4024
+ # filters: [ # required
4025
+ # {
4026
+ # behavior: "KEEP", # required, accepts KEEP, DROP
4027
+ # requirement: "MEETS_ALL", # required, accepts MEETS_ALL, MEETS_ANY
4028
+ # conditions: [ # required
4029
+ # {
4030
+ # action_condition: {
4031
+ # action: "ALLOW", # required, accepts ALLOW, BLOCK, COUNT
4032
+ # },
4033
+ # label_name_condition: {
4034
+ # label_name: "LabelName", # required
4035
+ # },
4036
+ # },
4037
+ # ],
4038
+ # },
4039
+ # ],
4040
+ # default_behavior: "KEEP", # required, accepts KEEP, DROP
4041
+ # },
3491
4042
  # },
3492
4043
  # })
3493
4044
  #
@@ -3499,7 +4050,18 @@ module Aws::WAFV2
3499
4050
  # resp.logging_configuration.redacted_fields #=> Array
3500
4051
  # resp.logging_configuration.redacted_fields[0].single_header.name #=> String
3501
4052
  # resp.logging_configuration.redacted_fields[0].single_query_argument.name #=> String
4053
+ # resp.logging_configuration.redacted_fields[0].json_body.match_pattern.included_paths #=> Array
4054
+ # resp.logging_configuration.redacted_fields[0].json_body.match_pattern.included_paths[0] #=> String
4055
+ # resp.logging_configuration.redacted_fields[0].json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
4056
+ # resp.logging_configuration.redacted_fields[0].json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3502
4057
  # resp.logging_configuration.managed_by_firewall_manager #=> Boolean
4058
+ # resp.logging_configuration.logging_filter.filters #=> Array
4059
+ # resp.logging_configuration.logging_filter.filters[0].behavior #=> String, one of "KEEP", "DROP"
4060
+ # resp.logging_configuration.logging_filter.filters[0].requirement #=> String, one of "MEETS_ALL", "MEETS_ANY"
4061
+ # resp.logging_configuration.logging_filter.filters[0].conditions #=> Array
4062
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].action_condition.action #=> String, one of "ALLOW", "BLOCK", "COUNT"
4063
+ # resp.logging_configuration.logging_filter.filters[0].conditions[0].label_name_condition.label_name #=> String
4064
+ # resp.logging_configuration.logging_filter.default_behavior #=> String, one of "KEEP", "DROP"
3503
4065
  #
3504
4066
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutLoggingConfiguration AWS API Documentation
3505
4067
  #
@@ -3572,13 +4134,6 @@ module Aws::WAFV2
3572
4134
  req.send_request(options)
3573
4135
  end
3574
4136
 
3575
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3576
- # in November, 2019. For information, including how to migrate your AWS
3577
- # WAF resources from the prior release, see the [AWS WAF Developer
3578
- # Guide][1].
3579
- #
3580
- # </note>
3581
- #
3582
4137
  # Associates tags with the specified AWS resource. Tags are key:value
3583
4138
  # pairs that you can use to categorize and manage your resources, for
3584
4139
  # purposes like billing. For example, you might set the tag key to
@@ -3590,10 +4145,6 @@ module Aws::WAFV2
3590
4145
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
3591
4146
  # or view tags through the AWS WAF console.
3592
4147
  #
3593
- #
3594
- #
3595
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3596
- #
3597
4148
  # @option params [required, String] :resource_arn
3598
4149
  # The Amazon Resource Name (ARN) of the resource.
3599
4150
  #
@@ -3623,23 +4174,12 @@ module Aws::WAFV2
3623
4174
  req.send_request(options)
3624
4175
  end
3625
4176
 
3626
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3627
- # in November, 2019. For information, including how to migrate your AWS
3628
- # WAF resources from the prior release, see the [AWS WAF Developer
3629
- # Guide][1].
3630
- #
3631
- # </note>
3632
- #
3633
4177
  # Disassociates tags from an AWS resource. Tags are key:value pairs that
3634
4178
  # you can associate with AWS resources. For example, the tag key might
3635
4179
  # be "customer" and the tag value might be "companyA." You can
3636
4180
  # specify one or more tags to add to each container. You can add up to
3637
4181
  # 50 tags to each AWS resource.
3638
4182
  #
3639
- #
3640
- #
3641
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3642
- #
3643
4183
  # @option params [required, String] :resource_arn
3644
4184
  # The Amazon Resource Name (ARN) of the resource.
3645
4185
  #
@@ -3665,18 +4205,15 @@ module Aws::WAFV2
3665
4205
  req.send_request(options)
3666
4206
  end
3667
4207
 
3668
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3669
- # in November, 2019. For information, including how to migrate your AWS
3670
- # WAF resources from the prior release, see the [AWS WAF Developer
3671
- # Guide][1].
3672
- #
3673
- # </note>
3674
- #
3675
4208
  # Updates the specified IPSet.
3676
4209
  #
4210
+ # <note markdown="1"> This operation completely replaces any IP address specifications that
4211
+ # you already have in the IP set with the ones that you provide to this
4212
+ # call. If you want to add to or modify the addresses that are already
4213
+ # in the IP set, retrieve those by calling GetIPSet, update them, and
4214
+ # provide the complete updated array of IP addresses to this call.
3677
4215
  #
3678
- #
3679
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4216
+ # </note>
3680
4217
  #
3681
4218
  # @option params [required, String] :name
3682
4219
  # The name of the IP set. You cannot change the name of an `IPSet` after
@@ -3702,14 +4239,13 @@ module Aws::WAFV2
3702
4239
  # and delete.
3703
4240
  #
3704
4241
  # @option params [String] :description
3705
- # A description of the IP set that helps with identification. You cannot
3706
- # change the description of an IP set after you create it.
4242
+ # A description of the IP set that helps with identification.
3707
4243
  #
3708
4244
  # @option params [required, Array<String>] :addresses
3709
4245
  # Contains an array of strings that specify one or more IP addresses or
3710
4246
  # blocks of IP addresses in Classless Inter-Domain Routing (CIDR)
3711
- # notation. AWS WAF supports all address ranges for IP versions IPv4 and
3712
- # IPv6.
4247
+ # notation. AWS WAF supports all IPv4 and IPv6 CIDR ranges except for
4248
+ # /0.
3713
4249
  #
3714
4250
  # Examples:
3715
4251
  #
@@ -3775,19 +4311,8 @@ module Aws::WAFV2
3775
4311
  req.send_request(options)
3776
4312
  end
3777
4313
 
3778
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3779
- # in November, 2019. For information, including how to migrate your AWS
3780
- # WAF resources from the prior release, see the [AWS WAF Developer
3781
- # Guide][1].
3782
- #
3783
- # </note>
3784
- #
3785
4314
  # Updates the specified RegexPatternSet.
3786
4315
  #
3787
- #
3788
- #
3789
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3790
- #
3791
4316
  # @option params [required, String] :name
3792
4317
  # The name of the set. You cannot change the name after you create the
3793
4318
  # set.
@@ -3812,8 +4337,7 @@ module Aws::WAFV2
3812
4337
  # and delete.
3813
4338
  #
3814
4339
  # @option params [String] :description
3815
- # A description of the set that helps with identification. You cannot
3816
- # change the description of a set after you create it.
4340
+ # A description of the set that helps with identification.
3817
4341
  #
3818
4342
  # @option params [required, Array<Types::Regex>] :regular_expression_list
3819
4343
  #
@@ -3859,13 +4383,6 @@ module Aws::WAFV2
3859
4383
  req.send_request(options)
3860
4384
  end
3861
4385
 
3862
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3863
- # in November, 2019. For information, including how to migrate your AWS
3864
- # WAF resources from the prior release, see the [AWS WAF Developer
3865
- # Guide][1].
3866
- #
3867
- # </note>
3868
- #
3869
4386
  # Updates the specified RuleGroup.
3870
4387
  #
3871
4388
  # A rule group defines a collection of rules to inspect and control web
@@ -3874,10 +4391,6 @@ module Aws::WAFV2
3874
4391
  # you must stay within the capacity. This allows others to reuse the
3875
4392
  # rule group with confidence in its capacity requirements.
3876
4393
  #
3877
- #
3878
- #
3879
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3880
- #
3881
4394
  # @option params [required, String] :name
3882
4395
  # The name of the rule group. You cannot change the name of a rule group
3883
4396
  # after you create it.
@@ -3902,8 +4415,7 @@ module Aws::WAFV2
3902
4415
  # like update and delete.
3903
4416
  #
3904
4417
  # @option params [String] :description
3905
- # A description of the rule group that helps with identification. You
3906
- # cannot change the description of a rule group after you create it.
4418
+ # A description of the rule group that helps with identification.
3907
4419
  #
3908
4420
  # @option params [Array<Types::Rule>] :rules
3909
4421
  # The Rule statements used to identify the web requests that you want to
@@ -3925,6 +4437,26 @@ module Aws::WAFV2
3925
4437
  # fails with a `WAFOptimisticLockException`. If this happens, perform
3926
4438
  # another get, and use the new token returned by that operation.
3927
4439
  #
4440
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4441
+ # A map of custom response keys and content bodies. When you create a
4442
+ # rule with a block action, you can send a custom response to the web
4443
+ # request. You define these for the rule group, and then use them in the
4444
+ # rules that you define in the rule group.
4445
+ #
4446
+ # For information about customizing web requests and responses, see
4447
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
4448
+ # Developer Guide][2].
4449
+ #
4450
+ # For information about the limits on count and size for custom request
4451
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
4452
+ # Developer Guide][2].
4453
+ #
4454
+ #
4455
+ #
4456
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4457
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4458
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
4459
+ #
3928
4460
  # @return [Types::UpdateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3929
4461
  #
3930
4462
  # * {Types::UpdateRuleGroupResponse#next_lock_token #next_lock_token} => String
@@ -3960,6 +4492,15 @@ module Aws::WAFV2
3960
4492
  # },
3961
4493
  # method: {
3962
4494
  # },
4495
+ # json_body: {
4496
+ # match_pattern: { # required
4497
+ # all: {
4498
+ # },
4499
+ # included_paths: ["JsonPointerPath"],
4500
+ # },
4501
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4502
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4503
+ # },
3963
4504
  # },
3964
4505
  # text_transformations: [ # required
3965
4506
  # {
@@ -3987,6 +4528,15 @@ module Aws::WAFV2
3987
4528
  # },
3988
4529
  # method: {
3989
4530
  # },
4531
+ # json_body: {
4532
+ # match_pattern: { # required
4533
+ # all: {
4534
+ # },
4535
+ # included_paths: ["JsonPointerPath"],
4536
+ # },
4537
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4538
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4539
+ # },
3990
4540
  # },
3991
4541
  # text_transformations: [ # required
3992
4542
  # {
@@ -4013,6 +4563,15 @@ module Aws::WAFV2
4013
4563
  # },
4014
4564
  # method: {
4015
4565
  # },
4566
+ # json_body: {
4567
+ # match_pattern: { # required
4568
+ # all: {
4569
+ # },
4570
+ # included_paths: ["JsonPointerPath"],
4571
+ # },
4572
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4573
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4574
+ # },
4016
4575
  # },
4017
4576
  # text_transformations: [ # required
4018
4577
  # {
@@ -4039,6 +4598,15 @@ module Aws::WAFV2
4039
4598
  # },
4040
4599
  # method: {
4041
4600
  # },
4601
+ # json_body: {
4602
+ # match_pattern: { # required
4603
+ # all: {
4604
+ # },
4605
+ # included_paths: ["JsonPointerPath"],
4606
+ # },
4607
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4608
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4609
+ # },
4042
4610
  # },
4043
4611
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4044
4612
  # size: 1, # required
@@ -4091,6 +4659,15 @@ module Aws::WAFV2
4091
4659
  # },
4092
4660
  # method: {
4093
4661
  # },
4662
+ # json_body: {
4663
+ # match_pattern: { # required
4664
+ # all: {
4665
+ # },
4666
+ # included_paths: ["JsonPointerPath"],
4667
+ # },
4668
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4669
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4670
+ # },
4094
4671
  # },
4095
4672
  # text_transformations: [ # required
4096
4673
  # {
@@ -4137,22 +4714,68 @@ module Aws::WAFV2
4137
4714
  # name: "EntityName", # required
4138
4715
  # },
4139
4716
  # ],
4717
+ # scope_down_statement: {
4718
+ # # recursive Statement
4719
+ # },
4720
+ # },
4721
+ # label_match_statement: {
4722
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
4723
+ # key: "LabelMatchKey", # required
4140
4724
  # },
4141
4725
  # },
4142
4726
  # action: {
4143
4727
  # block: {
4728
+ # custom_response: {
4729
+ # response_code: 1, # required
4730
+ # custom_response_body_key: "EntityName",
4731
+ # response_headers: [
4732
+ # {
4733
+ # name: "CustomHTTPHeaderName", # required
4734
+ # value: "CustomHTTPHeaderValue", # required
4735
+ # },
4736
+ # ],
4737
+ # },
4144
4738
  # },
4145
4739
  # allow: {
4740
+ # custom_request_handling: {
4741
+ # insert_headers: [ # required
4742
+ # {
4743
+ # name: "CustomHTTPHeaderName", # required
4744
+ # value: "CustomHTTPHeaderValue", # required
4745
+ # },
4746
+ # ],
4747
+ # },
4146
4748
  # },
4147
4749
  # count: {
4750
+ # custom_request_handling: {
4751
+ # insert_headers: [ # required
4752
+ # {
4753
+ # name: "CustomHTTPHeaderName", # required
4754
+ # value: "CustomHTTPHeaderValue", # required
4755
+ # },
4756
+ # ],
4757
+ # },
4148
4758
  # },
4149
4759
  # },
4150
4760
  # override_action: {
4151
4761
  # count: {
4762
+ # custom_request_handling: {
4763
+ # insert_headers: [ # required
4764
+ # {
4765
+ # name: "CustomHTTPHeaderName", # required
4766
+ # value: "CustomHTTPHeaderValue", # required
4767
+ # },
4768
+ # ],
4769
+ # },
4152
4770
  # },
4153
4771
  # none: {
4154
4772
  # },
4155
4773
  # },
4774
+ # rule_labels: [
4775
+ # {
4776
+ # name: "LabelName", # required
4777
+ # },
4778
+ # ],
4156
4779
  # visibility_config: { # required
4157
4780
  # sampled_requests_enabled: false, # required
4158
4781
  # cloud_watch_metrics_enabled: false, # required
@@ -4166,6 +4789,12 @@ module Aws::WAFV2
4166
4789
  # metric_name: "MetricName", # required
4167
4790
  # },
4168
4791
  # lock_token: "LockToken", # required
4792
+ # custom_response_bodies: {
4793
+ # "EntityName" => {
4794
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
4795
+ # content: "ResponseContent", # required
4796
+ # },
4797
+ # },
4169
4798
  # })
4170
4799
  #
4171
4800
  # @example Response structure
@@ -4181,13 +4810,6 @@ module Aws::WAFV2
4181
4810
  req.send_request(options)
4182
4811
  end
4183
4812
 
4184
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4185
- # in November, 2019. For information, including how to migrate your AWS
4186
- # WAF resources from the prior release, see the [AWS WAF Developer
4187
- # Guide][1].
4188
- #
4189
- # </note>
4190
- #
4191
4813
  # Updates the specified WebACL.
4192
4814
  #
4193
4815
  # A Web ACL defines a collection of rules to use to inspect and control
@@ -4200,10 +4822,6 @@ module Aws::WAFV2
4200
4822
  # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
4201
4823
  # Application Load Balancer, or an AWS AppSync GraphQL API.
4202
4824
  #
4203
- #
4204
- #
4205
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4206
- #
4207
4825
  # @option params [required, String] :name
4208
4826
  # The name of the Web ACL. You cannot change the name of a Web ACL after
4209
4827
  # you create it.
@@ -4232,8 +4850,7 @@ module Aws::WAFV2
4232
4850
  # match.
4233
4851
  #
4234
4852
  # @option params [String] :description
4235
- # A description of the Web ACL that helps with identification. You
4236
- # cannot change the description of a Web ACL after you create it.
4853
+ # A description of the Web ACL that helps with identification.
4237
4854
  #
4238
4855
  # @option params [Array<Types::Rule>] :rules
4239
4856
  # The Rule statements used to identify the web requests that you want to
@@ -4255,6 +4872,26 @@ module Aws::WAFV2
4255
4872
  # fails with a `WAFOptimisticLockException`. If this happens, perform
4256
4873
  # another get, and use the new token returned by that operation.
4257
4874
  #
4875
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4876
+ # A map of custom response keys and content bodies. When you create a
4877
+ # rule with a block action, you can send a custom response to the web
4878
+ # request. You define these for the web ACL, and then use them in the
4879
+ # rules and default actions that you define in the web ACL.
4880
+ #
4881
+ # For information about customizing web requests and responses, see
4882
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
4883
+ # Developer Guide][2].
4884
+ #
4885
+ # For information about the limits on count and size for custom request
4886
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
4887
+ # Developer Guide][2].
4888
+ #
4889
+ #
4890
+ #
4891
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4892
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4893
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
4894
+ #
4258
4895
  # @return [Types::UpdateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4259
4896
  #
4260
4897
  # * {Types::UpdateWebACLResponse#next_lock_token #next_lock_token} => String
@@ -4267,8 +4904,26 @@ module Aws::WAFV2
4267
4904
  # id: "EntityId", # required
4268
4905
  # default_action: { # required
4269
4906
  # block: {
4907
+ # custom_response: {
4908
+ # response_code: 1, # required
4909
+ # custom_response_body_key: "EntityName",
4910
+ # response_headers: [
4911
+ # {
4912
+ # name: "CustomHTTPHeaderName", # required
4913
+ # value: "CustomHTTPHeaderValue", # required
4914
+ # },
4915
+ # ],
4916
+ # },
4270
4917
  # },
4271
4918
  # allow: {
4919
+ # custom_request_handling: {
4920
+ # insert_headers: [ # required
4921
+ # {
4922
+ # name: "CustomHTTPHeaderName", # required
4923
+ # value: "CustomHTTPHeaderValue", # required
4924
+ # },
4925
+ # ],
4926
+ # },
4272
4927
  # },
4273
4928
  # },
4274
4929
  # description: "EntityDescription",
@@ -4296,6 +4951,15 @@ module Aws::WAFV2
4296
4951
  # },
4297
4952
  # method: {
4298
4953
  # },
4954
+ # json_body: {
4955
+ # match_pattern: { # required
4956
+ # all: {
4957
+ # },
4958
+ # included_paths: ["JsonPointerPath"],
4959
+ # },
4960
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4961
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4962
+ # },
4299
4963
  # },
4300
4964
  # text_transformations: [ # required
4301
4965
  # {
@@ -4323,6 +4987,15 @@ module Aws::WAFV2
4323
4987
  # },
4324
4988
  # method: {
4325
4989
  # },
4990
+ # json_body: {
4991
+ # match_pattern: { # required
4992
+ # all: {
4993
+ # },
4994
+ # included_paths: ["JsonPointerPath"],
4995
+ # },
4996
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4997
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4998
+ # },
4326
4999
  # },
4327
5000
  # text_transformations: [ # required
4328
5001
  # {
@@ -4349,6 +5022,15 @@ module Aws::WAFV2
4349
5022
  # },
4350
5023
  # method: {
4351
5024
  # },
5025
+ # json_body: {
5026
+ # match_pattern: { # required
5027
+ # all: {
5028
+ # },
5029
+ # included_paths: ["JsonPointerPath"],
5030
+ # },
5031
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5032
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5033
+ # },
4352
5034
  # },
4353
5035
  # text_transformations: [ # required
4354
5036
  # {
@@ -4375,6 +5057,15 @@ module Aws::WAFV2
4375
5057
  # },
4376
5058
  # method: {
4377
5059
  # },
5060
+ # json_body: {
5061
+ # match_pattern: { # required
5062
+ # all: {
5063
+ # },
5064
+ # included_paths: ["JsonPointerPath"],
5065
+ # },
5066
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5067
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5068
+ # },
4378
5069
  # },
4379
5070
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4380
5071
  # size: 1, # required
@@ -4427,6 +5118,15 @@ module Aws::WAFV2
4427
5118
  # },
4428
5119
  # method: {
4429
5120
  # },
5121
+ # json_body: {
5122
+ # match_pattern: { # required
5123
+ # all: {
5124
+ # },
5125
+ # included_paths: ["JsonPointerPath"],
5126
+ # },
5127
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5128
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5129
+ # },
4430
5130
  # },
4431
5131
  # text_transformations: [ # required
4432
5132
  # {
@@ -4473,22 +5173,68 @@ module Aws::WAFV2
4473
5173
  # name: "EntityName", # required
4474
5174
  # },
4475
5175
  # ],
5176
+ # scope_down_statement: {
5177
+ # # recursive Statement
5178
+ # },
5179
+ # },
5180
+ # label_match_statement: {
5181
+ # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5182
+ # key: "LabelMatchKey", # required
4476
5183
  # },
4477
5184
  # },
4478
5185
  # action: {
4479
5186
  # block: {
5187
+ # custom_response: {
5188
+ # response_code: 1, # required
5189
+ # custom_response_body_key: "EntityName",
5190
+ # response_headers: [
5191
+ # {
5192
+ # name: "CustomHTTPHeaderName", # required
5193
+ # value: "CustomHTTPHeaderValue", # required
5194
+ # },
5195
+ # ],
5196
+ # },
4480
5197
  # },
4481
5198
  # allow: {
5199
+ # custom_request_handling: {
5200
+ # insert_headers: [ # required
5201
+ # {
5202
+ # name: "CustomHTTPHeaderName", # required
5203
+ # value: "CustomHTTPHeaderValue", # required
5204
+ # },
5205
+ # ],
5206
+ # },
4482
5207
  # },
4483
5208
  # count: {
5209
+ # custom_request_handling: {
5210
+ # insert_headers: [ # required
5211
+ # {
5212
+ # name: "CustomHTTPHeaderName", # required
5213
+ # value: "CustomHTTPHeaderValue", # required
5214
+ # },
5215
+ # ],
5216
+ # },
4484
5217
  # },
4485
5218
  # },
4486
5219
  # override_action: {
4487
5220
  # count: {
5221
+ # custom_request_handling: {
5222
+ # insert_headers: [ # required
5223
+ # {
5224
+ # name: "CustomHTTPHeaderName", # required
5225
+ # value: "CustomHTTPHeaderValue", # required
5226
+ # },
5227
+ # ],
5228
+ # },
4488
5229
  # },
4489
5230
  # none: {
4490
5231
  # },
4491
5232
  # },
5233
+ # rule_labels: [
5234
+ # {
5235
+ # name: "LabelName", # required
5236
+ # },
5237
+ # ],
4492
5238
  # visibility_config: { # required
4493
5239
  # sampled_requests_enabled: false, # required
4494
5240
  # cloud_watch_metrics_enabled: false, # required
@@ -4502,6 +5248,12 @@ module Aws::WAFV2
4502
5248
  # metric_name: "MetricName", # required
4503
5249
  # },
4504
5250
  # lock_token: "LockToken", # required
5251
+ # custom_response_bodies: {
5252
+ # "EntityName" => {
5253
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
5254
+ # content: "ResponseContent", # required
5255
+ # },
5256
+ # },
4505
5257
  # })
4506
5258
  #
4507
5259
  # @example Response structure
@@ -4530,7 +5282,7 @@ module Aws::WAFV2
4530
5282
  params: params,
4531
5283
  config: config)
4532
5284
  context[:gem_name] = 'aws-sdk-wafv2'
4533
- context[:gem_version] = '1.15.0'
5285
+ context[:gem_version] = '1.20.0'
4534
5286
  Seahorse::Client::Request.new(handlers, context)
4535
5287
  end
4536
5288