aws-sdk-wafv2 1.15.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,6 +14,7 @@ module Aws::WAFV2
14
14
  include Seahorse::Model
15
15
 
16
16
  Action = Shapes::StringShape.new(name: 'Action')
17
+ All = Shapes::StructureShape.new(name: 'All')
17
18
  AllQueryArguments = Shapes::StructureShape.new(name: 'AllQueryArguments')
18
19
  AllowAction = Shapes::StructureShape.new(name: 'AllowAction')
19
20
  AndStatement = Shapes::StructureShape.new(name: 'AndStatement')
@@ -21,6 +22,7 @@ module Aws::WAFV2
21
22
  AssociateWebACLResponse = Shapes::StructureShape.new(name: 'AssociateWebACLResponse')
22
23
  BlockAction = Shapes::StructureShape.new(name: 'BlockAction')
23
24
  Body = Shapes::StructureShape.new(name: 'Body')
25
+ BodyParsingFallbackBehavior = Shapes::StringShape.new(name: 'BodyParsingFallbackBehavior')
24
26
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
25
27
  ByteMatchStatement = Shapes::StructureShape.new(name: 'ByteMatchStatement')
26
28
  CapacityUnit = Shapes::IntegerShape.new(name: 'CapacityUnit')
@@ -110,6 +112,11 @@ module Aws::WAFV2
110
112
  IPSetSummaries = Shapes::ListShape.new(name: 'IPSetSummaries')
111
113
  IPSetSummary = Shapes::StructureShape.new(name: 'IPSetSummary')
112
114
  IPString = Shapes::StringShape.new(name: 'IPString')
115
+ JsonBody = Shapes::StructureShape.new(name: 'JsonBody')
116
+ JsonMatchPattern = Shapes::StructureShape.new(name: 'JsonMatchPattern')
117
+ JsonMatchScope = Shapes::StringShape.new(name: 'JsonMatchScope')
118
+ JsonPointerPath = Shapes::StringShape.new(name: 'JsonPointerPath')
119
+ JsonPointerPaths = Shapes::ListShape.new(name: 'JsonPointerPaths')
113
120
  ListAvailableManagedRuleGroupsRequest = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupsRequest')
114
121
  ListAvailableManagedRuleGroupsResponse = Shapes::StructureShape.new(name: 'ListAvailableManagedRuleGroupsResponse')
115
122
  ListIPSetsRequest = Shapes::StructureShape.new(name: 'ListIPSetsRequest')
@@ -237,6 +244,8 @@ module Aws::WAFV2
237
244
  WebACLSummary = Shapes::StructureShape.new(name: 'WebACLSummary')
238
245
  XssMatchStatement = Shapes::StructureShape.new(name: 'XssMatchStatement')
239
246
 
247
+ All.struct_class = Types::All
248
+
240
249
  AllQueryArguments.struct_class = Types::AllQueryArguments
241
250
 
242
251
  AllowAction.struct_class = Types::AllowAction
@@ -395,6 +404,7 @@ module Aws::WAFV2
395
404
  FieldToMatch.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, location_name: "QueryString"))
396
405
  FieldToMatch.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body"))
397
406
  FieldToMatch.add_member(:method, Shapes::ShapeRef.new(shape: Method, location_name: "Method"))
407
+ FieldToMatch.add_member(:json_body, Shapes::ShapeRef.new(shape: JsonBody, location_name: "JsonBody"))
398
408
  FieldToMatch.struct_class = Types::FieldToMatch
399
409
 
400
410
  FirewallManagerRuleGroup.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "Name"))
@@ -536,6 +546,17 @@ module Aws::WAFV2
536
546
  IPSetSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ARN"))
537
547
  IPSetSummary.struct_class = Types::IPSetSummary
538
548
 
549
+ JsonBody.add_member(:match_pattern, Shapes::ShapeRef.new(shape: JsonMatchPattern, required: true, location_name: "MatchPattern"))
550
+ JsonBody.add_member(:match_scope, Shapes::ShapeRef.new(shape: JsonMatchScope, required: true, location_name: "MatchScope"))
551
+ JsonBody.add_member(:invalid_fallback_behavior, Shapes::ShapeRef.new(shape: BodyParsingFallbackBehavior, location_name: "InvalidFallbackBehavior"))
552
+ JsonBody.struct_class = Types::JsonBody
553
+
554
+ JsonMatchPattern.add_member(:all, Shapes::ShapeRef.new(shape: All, location_name: "All"))
555
+ JsonMatchPattern.add_member(:included_paths, Shapes::ShapeRef.new(shape: JsonPointerPaths, location_name: "IncludedPaths"))
556
+ JsonMatchPattern.struct_class = Types::JsonMatchPattern
557
+
558
+ JsonPointerPaths.member = Shapes::ShapeRef.new(shape: JsonPointerPath)
559
+
539
560
  ListAvailableManagedRuleGroupsRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, required: true, location_name: "Scope"))
540
561
  ListAvailableManagedRuleGroupsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
541
562
  ListAvailableManagedRuleGroupsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
@@ -10,21 +10,23 @@
10
10
  module Aws::WAFV2
11
11
  module Types
12
12
 
13
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
14
- # in November, 2019. For information, including how to migrate your AWS
15
- # WAF resources from the prior release, see the [AWS WAF Developer
16
- # Guide][1].
17
- #
18
- # </note>
19
- #
20
- # All query arguments of a web request.
13
+ # Inspect all of the elements that AWS WAF has parsed and extracted from
14
+ # the web request JSON body that are within the JsonBody `MatchScope`.
15
+ # This is used with the FieldToMatch option `JsonBody`.
21
16
  #
22
17
  # This is used only to indicate the web request component for AWS WAF to
23
18
  # inspect, in the FieldToMatch specification.
24
19
  #
20
+ # @api private
21
+ #
22
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/All AWS API Documentation
25
23
  #
24
+ class All < Aws::EmptyStructure; end
25
+
26
+ # All query arguments of a web request.
26
27
  #
27
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
28
+ # This is used only to indicate the web request component for AWS WAF to
29
+ # inspect, in the FieldToMatch specification.
28
30
  #
29
31
  # @api private
30
32
  #
@@ -32,43 +34,21 @@ module Aws::WAFV2
32
34
  #
33
35
  class AllQueryArguments < Aws::EmptyStructure; end
34
36
 
35
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
36
- # in November, 2019. For information, including how to migrate your AWS
37
- # WAF resources from the prior release, see the [AWS WAF Developer
38
- # Guide][1].
39
- #
40
- # </note>
41
- #
42
37
  # Specifies that AWS WAF should allow requests.
43
38
  #
44
39
  # This is used only in the context of other settings, for example to
45
40
  # specify values for RuleAction and web ACL DefaultAction.
46
41
  #
47
- #
48
- #
49
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
50
- #
51
42
  # @api private
52
43
  #
53
44
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AllowAction AWS API Documentation
54
45
  #
55
46
  class AllowAction < Aws::EmptyStructure; end
56
47
 
57
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
58
- # in November, 2019. For information, including how to migrate your AWS
59
- # WAF resources from the prior release, see the [AWS WAF Developer
60
- # Guide][1].
61
- #
62
- # </note>
63
- #
64
48
  # A logical rule statement used to combine other rule statements with
65
49
  # AND logic. You provide more than one Statement within the
66
50
  # `AndStatement`.
67
51
  #
68
- #
69
- #
70
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
71
- #
72
52
  # @note When making an API call, you may pass AndStatement
73
53
  # data as a hash:
74
54
  #
@@ -94,6 +74,15 @@ module Aws::WAFV2
94
74
  # },
95
75
  # method: {
96
76
  # },
77
+ # json_body: {
78
+ # match_pattern: { # required
79
+ # all: {
80
+ # },
81
+ # included_paths: ["JsonPointerPath"],
82
+ # },
83
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
84
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
85
+ # },
97
86
  # },
98
87
  # text_transformations: [ # required
99
88
  # {
@@ -121,6 +110,15 @@ module Aws::WAFV2
121
110
  # },
122
111
  # method: {
123
112
  # },
113
+ # json_body: {
114
+ # match_pattern: { # required
115
+ # all: {
116
+ # },
117
+ # included_paths: ["JsonPointerPath"],
118
+ # },
119
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
120
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
121
+ # },
124
122
  # },
125
123
  # text_transformations: [ # required
126
124
  # {
@@ -147,6 +145,15 @@ module Aws::WAFV2
147
145
  # },
148
146
  # method: {
149
147
  # },
148
+ # json_body: {
149
+ # match_pattern: { # required
150
+ # all: {
151
+ # },
152
+ # included_paths: ["JsonPointerPath"],
153
+ # },
154
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
155
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
156
+ # },
150
157
  # },
151
158
  # text_transformations: [ # required
152
159
  # {
@@ -173,6 +180,15 @@ module Aws::WAFV2
173
180
  # },
174
181
  # method: {
175
182
  # },
183
+ # json_body: {
184
+ # match_pattern: { # required
185
+ # all: {
186
+ # },
187
+ # included_paths: ["JsonPointerPath"],
188
+ # },
189
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
190
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
191
+ # },
176
192
  # },
177
193
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
178
194
  # size: 1, # required
@@ -225,6 +241,15 @@ module Aws::WAFV2
225
241
  # },
226
242
  # method: {
227
243
  # },
244
+ # json_body: {
245
+ # match_pattern: { # required
246
+ # all: {
247
+ # },
248
+ # included_paths: ["JsonPointerPath"],
249
+ # },
250
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
251
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
252
+ # },
228
253
  # },
229
254
  # text_transformations: [ # required
230
255
  # {
@@ -328,58 +353,29 @@ module Aws::WAFV2
328
353
  #
329
354
  class AssociateWebACLResponse < Aws::EmptyStructure; end
330
355
 
331
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
332
- # in November, 2019. For information, including how to migrate your AWS
333
- # WAF resources from the prior release, see the [AWS WAF Developer
334
- # Guide][1].
335
- #
336
- # </note>
337
- #
338
356
  # Specifies that AWS WAF should block requests.
339
357
  #
340
358
  # This is used only in the context of other settings, for example to
341
359
  # specify values for RuleAction and web ACL DefaultAction.
342
360
  #
343
- #
344
- #
345
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
346
- #
347
361
  # @api private
348
362
  #
349
363
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/BlockAction AWS API Documentation
350
364
  #
351
365
  class BlockAction < Aws::EmptyStructure; end
352
366
 
353
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
354
- # in November, 2019. For information, including how to migrate your AWS
355
- # WAF resources from the prior release, see the [AWS WAF Developer
356
- # Guide][1].
357
- #
358
- # </note>
359
- #
360
367
  # The body of a web request. This immediately follows the request
361
368
  # headers.
362
369
  #
363
370
  # This is used only to indicate the web request component for AWS WAF to
364
371
  # inspect, in the FieldToMatch specification.
365
372
  #
366
- #
367
- #
368
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
369
- #
370
373
  # @api private
371
374
  #
372
375
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Body AWS API Documentation
373
376
  #
374
377
  class Body < Aws::EmptyStructure; end
375
378
 
376
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
377
- # in November, 2019. For information, including how to migrate your AWS
378
- # WAF resources from the prior release, see the [AWS WAF Developer
379
- # Guide][1].
380
- #
381
- # </note>
382
- #
383
379
  # A rule statement that defines a string match search for AWS WAF to
384
380
  # apply to web requests. The byte match statement provides the bytes to
385
381
  # search for, the location in requests that you want AWS WAF to search,
@@ -387,10 +383,6 @@ module Aws::WAFV2
387
383
  # that corresponds with ASCII characters. In the AWS WAF console and the
388
384
  # developer guide, this is refered to as a string match statement.
389
385
  #
390
- #
391
- #
392
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
393
- #
394
386
  # @note When making an API call, you may pass ByteMatchStatement
395
387
  # data as a hash:
396
388
  #
@@ -413,6 +405,15 @@ module Aws::WAFV2
413
405
  # },
414
406
  # method: {
415
407
  # },
408
+ # json_body: {
409
+ # match_pattern: { # required
410
+ # all: {
411
+ # },
412
+ # included_paths: ["JsonPointerPath"],
413
+ # },
414
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
415
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
416
+ # },
416
417
  # },
417
418
  # text_transformations: [ # required
418
419
  # {
@@ -554,6 +555,15 @@ module Aws::WAFV2
554
555
  # },
555
556
  # method: {
556
557
  # },
558
+ # json_body: {
559
+ # match_pattern: { # required
560
+ # all: {
561
+ # },
562
+ # included_paths: ["JsonPointerPath"],
563
+ # },
564
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
565
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
566
+ # },
557
567
  # },
558
568
  # text_transformations: [ # required
559
569
  # {
@@ -581,6 +591,15 @@ module Aws::WAFV2
581
591
  # },
582
592
  # method: {
583
593
  # },
594
+ # json_body: {
595
+ # match_pattern: { # required
596
+ # all: {
597
+ # },
598
+ # included_paths: ["JsonPointerPath"],
599
+ # },
600
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
601
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
602
+ # },
584
603
  # },
585
604
  # text_transformations: [ # required
586
605
  # {
@@ -607,6 +626,15 @@ module Aws::WAFV2
607
626
  # },
608
627
  # method: {
609
628
  # },
629
+ # json_body: {
630
+ # match_pattern: { # required
631
+ # all: {
632
+ # },
633
+ # included_paths: ["JsonPointerPath"],
634
+ # },
635
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
636
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
637
+ # },
610
638
  # },
611
639
  # text_transformations: [ # required
612
640
  # {
@@ -633,6 +661,15 @@ module Aws::WAFV2
633
661
  # },
634
662
  # method: {
635
663
  # },
664
+ # json_body: {
665
+ # match_pattern: { # required
666
+ # all: {
667
+ # },
668
+ # included_paths: ["JsonPointerPath"],
669
+ # },
670
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
671
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
672
+ # },
636
673
  # },
637
674
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
638
675
  # size: 1, # required
@@ -685,6 +722,15 @@ module Aws::WAFV2
685
722
  # },
686
723
  # method: {
687
724
  # },
725
+ # json_body: {
726
+ # match_pattern: { # required
727
+ # all: {
728
+ # },
729
+ # included_paths: ["JsonPointerPath"],
730
+ # },
731
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
732
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
733
+ # },
688
734
  # },
689
735
  # text_transformations: [ # required
690
736
  # {
@@ -797,22 +843,11 @@ module Aws::WAFV2
797
843
  include Aws::Structure
798
844
  end
799
845
 
800
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
801
- # in November, 2019. For information, including how to migrate your AWS
802
- # WAF resources from the prior release, see the [AWS WAF Developer
803
- # Guide][1].
804
- #
805
- # </note>
806
- #
807
846
  # Specifies that AWS WAF should count requests.
808
847
  #
809
848
  # This is used only in the context of other settings, for example to
810
849
  # specify values for RuleAction and web ACL DefaultAction.
811
850
  #
812
- #
813
- #
814
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
815
- #
816
851
  # @api private
817
852
  #
818
853
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CountAction AWS API Documentation
@@ -857,8 +892,7 @@ module Aws::WAFV2
857
892
  # @return [String]
858
893
  #
859
894
  # @!attribute [rw] description
860
- # A description of the IP set that helps with identification. You
861
- # cannot change the description of an IP set after you create it.
895
+ # A description of the IP set that helps with identification.
862
896
  # @return [String]
863
897
  #
864
898
  # @!attribute [rw] ip_address_version
@@ -973,8 +1007,7 @@ module Aws::WAFV2
973
1007
  # @return [String]
974
1008
  #
975
1009
  # @!attribute [rw] description
976
- # A description of the set that helps with identification. You cannot
977
- # change the description of a set after you create it.
1010
+ # A description of the set that helps with identification.
978
1011
  # @return [String]
979
1012
  #
980
1013
  # @!attribute [rw] regular_expression_list
@@ -1045,6 +1078,15 @@ module Aws::WAFV2
1045
1078
  # },
1046
1079
  # method: {
1047
1080
  # },
1081
+ # json_body: {
1082
+ # match_pattern: { # required
1083
+ # all: {
1084
+ # },
1085
+ # included_paths: ["JsonPointerPath"],
1086
+ # },
1087
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1088
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1089
+ # },
1048
1090
  # },
1049
1091
  # text_transformations: [ # required
1050
1092
  # {
@@ -1072,6 +1114,15 @@ module Aws::WAFV2
1072
1114
  # },
1073
1115
  # method: {
1074
1116
  # },
1117
+ # json_body: {
1118
+ # match_pattern: { # required
1119
+ # all: {
1120
+ # },
1121
+ # included_paths: ["JsonPointerPath"],
1122
+ # },
1123
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1124
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1125
+ # },
1075
1126
  # },
1076
1127
  # text_transformations: [ # required
1077
1128
  # {
@@ -1098,6 +1149,15 @@ module Aws::WAFV2
1098
1149
  # },
1099
1150
  # method: {
1100
1151
  # },
1152
+ # json_body: {
1153
+ # match_pattern: { # required
1154
+ # all: {
1155
+ # },
1156
+ # included_paths: ["JsonPointerPath"],
1157
+ # },
1158
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1159
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1160
+ # },
1101
1161
  # },
1102
1162
  # text_transformations: [ # required
1103
1163
  # {
@@ -1124,6 +1184,15 @@ module Aws::WAFV2
1124
1184
  # },
1125
1185
  # method: {
1126
1186
  # },
1187
+ # json_body: {
1188
+ # match_pattern: { # required
1189
+ # all: {
1190
+ # },
1191
+ # included_paths: ["JsonPointerPath"],
1192
+ # },
1193
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1194
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1195
+ # },
1127
1196
  # },
1128
1197
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1129
1198
  # size: 1, # required
@@ -1176,6 +1245,15 @@ module Aws::WAFV2
1176
1245
  # },
1177
1246
  # method: {
1178
1247
  # },
1248
+ # json_body: {
1249
+ # match_pattern: { # required
1250
+ # all: {
1251
+ # },
1252
+ # included_paths: ["JsonPointerPath"],
1253
+ # },
1254
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1255
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1256
+ # },
1179
1257
  # },
1180
1258
  # text_transformations: [ # required
1181
1259
  # {
@@ -1297,8 +1375,7 @@ module Aws::WAFV2
1297
1375
  # @return [Integer]
1298
1376
  #
1299
1377
  # @!attribute [rw] description
1300
- # A description of the rule group that helps with identification. You
1301
- # cannot change the description of a rule group after you create it.
1378
+ # A description of the rule group that helps with identification.
1302
1379
  # @return [String]
1303
1380
  #
1304
1381
  # @!attribute [rw] rules
@@ -1384,6 +1461,15 @@ module Aws::WAFV2
1384
1461
  # },
1385
1462
  # method: {
1386
1463
  # },
1464
+ # json_body: {
1465
+ # match_pattern: { # required
1466
+ # all: {
1467
+ # },
1468
+ # included_paths: ["JsonPointerPath"],
1469
+ # },
1470
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1471
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1472
+ # },
1387
1473
  # },
1388
1474
  # text_transformations: [ # required
1389
1475
  # {
@@ -1411,6 +1497,15 @@ module Aws::WAFV2
1411
1497
  # },
1412
1498
  # method: {
1413
1499
  # },
1500
+ # json_body: {
1501
+ # match_pattern: { # required
1502
+ # all: {
1503
+ # },
1504
+ # included_paths: ["JsonPointerPath"],
1505
+ # },
1506
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1507
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1508
+ # },
1414
1509
  # },
1415
1510
  # text_transformations: [ # required
1416
1511
  # {
@@ -1437,6 +1532,15 @@ module Aws::WAFV2
1437
1532
  # },
1438
1533
  # method: {
1439
1534
  # },
1535
+ # json_body: {
1536
+ # match_pattern: { # required
1537
+ # all: {
1538
+ # },
1539
+ # included_paths: ["JsonPointerPath"],
1540
+ # },
1541
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1542
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1543
+ # },
1440
1544
  # },
1441
1545
  # text_transformations: [ # required
1442
1546
  # {
@@ -1463,6 +1567,15 @@ module Aws::WAFV2
1463
1567
  # },
1464
1568
  # method: {
1465
1569
  # },
1570
+ # json_body: {
1571
+ # match_pattern: { # required
1572
+ # all: {
1573
+ # },
1574
+ # included_paths: ["JsonPointerPath"],
1575
+ # },
1576
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1577
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1578
+ # },
1466
1579
  # },
1467
1580
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1468
1581
  # size: 1, # required
@@ -1515,6 +1628,15 @@ module Aws::WAFV2
1515
1628
  # },
1516
1629
  # method: {
1517
1630
  # },
1631
+ # json_body: {
1632
+ # match_pattern: { # required
1633
+ # all: {
1634
+ # },
1635
+ # included_paths: ["JsonPointerPath"],
1636
+ # },
1637
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1638
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1639
+ # },
1518
1640
  # },
1519
1641
  # text_transformations: [ # required
1520
1642
  # {
@@ -1623,8 +1745,7 @@ module Aws::WAFV2
1623
1745
  # @return [Types::DefaultAction]
1624
1746
  #
1625
1747
  # @!attribute [rw] description
1626
- # A description of the Web ACL that helps with identification. You
1627
- # cannot change the description of a Web ACL after you create it.
1748
+ # A description of the Web ACL that helps with identification.
1628
1749
  # @return [String]
1629
1750
  #
1630
1751
  # @!attribute [rw] rules
@@ -1672,21 +1793,10 @@ module Aws::WAFV2
1672
1793
  include Aws::Structure
1673
1794
  end
1674
1795
 
1675
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1676
- # in November, 2019. For information, including how to migrate your AWS
1677
- # WAF resources from the prior release, see the [AWS WAF Developer
1678
- # Guide][1].
1679
- #
1680
- # </note>
1681
- #
1682
1796
  # In a WebACL, this is the action that you want AWS WAF to perform when
1683
1797
  # a web request doesn't match any of the rules in the `WebACL`. The
1684
1798
  # default action must be a terminating action, so count is not allowed.
1685
1799
  #
1686
- #
1687
- #
1688
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1689
- #
1690
1800
  # @note When making an API call, you may pass DefaultAction
1691
1801
  # data as a hash:
1692
1802
  #
@@ -2171,22 +2281,11 @@ module Aws::WAFV2
2171
2281
  #
2172
2282
  class DisassociateWebACLResponse < Aws::EmptyStructure; end
2173
2283
 
2174
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2175
- # in November, 2019. For information, including how to migrate your AWS
2176
- # WAF resources from the prior release, see the [AWS WAF Developer
2177
- # Guide][1].
2178
- #
2179
- # </note>
2180
- #
2181
2284
  # Specifies a single rule to exclude from the rule group. Excluding a
2182
2285
  # rule overrides its action setting for the rule group in the web ACL,
2183
2286
  # setting it to `COUNT`. This effectively excludes the rule from acting
2184
2287
  # on web requests.
2185
2288
  #
2186
- #
2187
- #
2188
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2189
- #
2190
2289
  # @note When making an API call, you may pass ExcludedRule
2191
2290
  # data as a hash:
2192
2291
  #
@@ -2206,13 +2305,6 @@ module Aws::WAFV2
2206
2305
  include Aws::Structure
2207
2306
  end
2208
2307
 
2209
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2210
- # in November, 2019. For information, including how to migrate your AWS
2211
- # WAF resources from the prior release, see the [AWS WAF Developer
2212
- # Guide][1].
2213
- #
2214
- # </note>
2215
- #
2216
2308
  # The part of a web request that you want AWS WAF to inspect. Include
2217
2309
  # the single `FieldToMatch` type that you want to inspect, with
2218
2310
  # additional specifications as needed, according to the type. You
@@ -2220,10 +2312,6 @@ module Aws::WAFV2
2220
2312
  # statement that requires it. To inspect more than one component of a
2221
2313
  # web request, create a separate rule statement for each component.
2222
2314
  #
2223
- #
2224
- #
2225
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2226
- #
2227
2315
  # @note When making an API call, you may pass FieldToMatch
2228
2316
  # data as a hash:
2229
2317
  #
@@ -2244,6 +2332,15 @@ module Aws::WAFV2
2244
2332
  # },
2245
2333
  # method: {
2246
2334
  # },
2335
+ # json_body: {
2336
+ # match_pattern: { # required
2337
+ # all: {
2338
+ # },
2339
+ # included_paths: ["JsonPointerPath"],
2340
+ # },
2341
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
2342
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
2343
+ # },
2247
2344
  # }
2248
2345
  #
2249
2346
  # @!attribute [rw] single_header
@@ -2276,10 +2373,10 @@ module Aws::WAFV2
2276
2373
  # @return [Types::QueryString]
2277
2374
  #
2278
2375
  # @!attribute [rw] body
2279
- # Inspect the request body, which immediately follows the request
2280
- # headers. This is the part of a request that contains any additional
2281
- # data that you want to send to your web server as the HTTP request
2282
- # body, such as data from a form.
2376
+ # Inspect the request body as plain text. The request body immediately
2377
+ # follows the request headers. This is the part of a request that
2378
+ # contains any additional data that you want to send to your web
2379
+ # server as the HTTP request body, such as data from a form.
2283
2380
  #
2284
2381
  # Note that only the first 8 KB (8192 bytes) of the request body are
2285
2382
  # forwarded to AWS WAF for inspection by the underlying host service.
@@ -2297,6 +2394,23 @@ module Aws::WAFV2
2297
2394
  # that the request is asking the origin to perform.
2298
2395
  # @return [Types::Method]
2299
2396
  #
2397
+ # @!attribute [rw] json_body
2398
+ # Inspect the request body as JSON. The request body immediately
2399
+ # follows the request headers. This is the part of a request that
2400
+ # contains any additional data that you want to send to your web
2401
+ # server as the HTTP request body, such as data from a form.
2402
+ #
2403
+ # Note that only the first 8 KB (8192 bytes) of the request body are
2404
+ # forwarded to AWS WAF for inspection by the underlying host service.
2405
+ # If you don't need to inspect more than 8 KB, you can guarantee that
2406
+ # you don't allow additional bytes in by combining a statement that
2407
+ # inspects the body of the web request, such as ByteMatchStatement or
2408
+ # RegexPatternSetReferenceStatement, with a SizeConstraintStatement
2409
+ # that enforces an 8 KB size limit on the body of the request. AWS WAF
2410
+ # doesn't support inspecting the entire contents of web requests
2411
+ # whose bodies exceed the 8 KB limit.
2412
+ # @return [Types::JsonBody]
2413
+ #
2300
2414
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FieldToMatch AWS API Documentation
2301
2415
  #
2302
2416
  class FieldToMatch < Struct.new(
@@ -2306,7 +2420,8 @@ module Aws::WAFV2
2306
2420
  :uri_path,
2307
2421
  :query_string,
2308
2422
  :body,
2309
- :method)
2423
+ :method,
2424
+ :json_body)
2310
2425
  SENSITIVE = []
2311
2426
  include Aws::Structure
2312
2427
  end
@@ -2352,19 +2467,8 @@ module Aws::WAFV2
2352
2467
  # @return [Types::OverrideAction]
2353
2468
  #
2354
2469
  # @!attribute [rw] visibility_config
2355
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2356
- # in November, 2019. For information, including how to migrate your
2357
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2358
- # Guide][1].
2359
- #
2360
- # </note>
2361
- #
2362
2470
  # Defines and enables Amazon CloudWatch metrics and web request sample
2363
2471
  # collection.
2364
- #
2365
- #
2366
- #
2367
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2368
2472
  # @return [Types::VisibilityConfig]
2369
2473
  #
2370
2474
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerRuleGroup AWS API Documentation
@@ -2384,13 +2488,6 @@ module Aws::WAFV2
2384
2488
  # reference.
2385
2489
  #
2386
2490
  # @!attribute [rw] managed_rule_group_statement
2387
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2388
- # in November, 2019. For information, including how to migrate your
2389
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2390
- # Guide][1].
2391
- #
2392
- # </note>
2393
- #
2394
2491
  # A rule statement used to run the rules that are defined in a managed
2395
2492
  # rule group. To use this, provide the vendor name and the name of the
2396
2493
  # rule group in this statement. You can retrieve the required names by
@@ -2399,20 +2496,9 @@ module Aws::WAFV2
2399
2496
  # You can't nest a `ManagedRuleGroupStatement`, for example for use
2400
2497
  # inside a `NotStatement` or `OrStatement`. It can only be referenced
2401
2498
  # as a top-level statement within a rule.
2402
- #
2403
- #
2404
- #
2405
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2406
2499
  # @return [Types::ManagedRuleGroupStatement]
2407
2500
  #
2408
2501
  # @!attribute [rw] rule_group_reference_statement
2409
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2410
- # in November, 2019. For information, including how to migrate your
2411
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2412
- # Guide][1].
2413
- #
2414
- # </note>
2415
- #
2416
2502
  # A rule statement used to run the rules that are defined in a
2417
2503
  # RuleGroup. To use this, create a rule group with your rules, then
2418
2504
  # provide the ARN of the rule group in this statement.
@@ -2420,10 +2506,6 @@ module Aws::WAFV2
2420
2506
  # You cannot nest a `RuleGroupReferenceStatement`, for example for use
2421
2507
  # inside a `NotStatement` or `OrStatement`. It can only be referenced
2422
2508
  # as a top-level statement within a rule.
2423
- #
2424
- #
2425
- #
2426
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2427
2509
  # @return [Types::RuleGroupReferenceStatement]
2428
2510
  #
2429
2511
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerStatement AWS API Documentation
@@ -2482,10 +2564,10 @@ module Aws::WAFV2
2482
2564
  #
2483
2565
  # You can specify the following fallback behaviors:
2484
2566
  #
2485
- # * MATCH - Treat the web request as matching the rule statement. AWS
2486
- # WAF applies the rule action to the request.
2567
+ # * `MATCH` - Treat the web request as matching the rule statement.
2568
+ # AWS WAF applies the rule action to the request.
2487
2569
  #
2488
- # * NO\_MATCH - Treat the web request as not matching the rule
2570
+ # * `NO_MATCH` - Treat the web request as not matching the rule
2489
2571
  # statement.
2490
2572
  # @return [String]
2491
2573
  #
@@ -2498,20 +2580,9 @@ module Aws::WAFV2
2498
2580
  include Aws::Structure
2499
2581
  end
2500
2582
 
2501
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2502
- # in November, 2019. For information, including how to migrate your AWS
2503
- # WAF resources from the prior release, see the [AWS WAF Developer
2504
- # Guide][1].
2505
- #
2506
- # </note>
2507
- #
2508
2583
  # A rule statement used to identify web requests based on country of
2509
2584
  # origin.
2510
2585
  #
2511
- #
2512
- #
2513
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2514
- #
2515
2586
  # @note When making an API call, you may pass GeoMatchStatement
2516
2587
  # data as a hash:
2517
2588
  #
@@ -2934,7 +3005,8 @@ module Aws::WAFV2
2934
3005
  # You must specify the times in Coordinated Universal Time (UTC)
2935
3006
  # format. UTC format includes the special designator, `Z`. For
2936
3007
  # example, `"2016-09-27T14:50Z"`. You can specify any time range in
2937
- # the previous three hours.
3008
+ # the previous three hours. If you specify a start time that's
3009
+ # earlier than three hours ago, AWS WAF sets it to three hours ago.
2938
3010
  # @return [Types::TimeWindow]
2939
3011
  #
2940
3012
  # @!attribute [rw] max_items
@@ -3091,22 +3163,11 @@ module Aws::WAFV2
3091
3163
  include Aws::Structure
3092
3164
  end
3093
3165
 
3094
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3095
- # in November, 2019. For information, including how to migrate your AWS
3096
- # WAF resources from the prior release, see the [AWS WAF Developer
3097
- # Guide][1].
3098
- #
3099
- # </note>
3100
- #
3101
3166
  # Part of the response from GetSampledRequests. This is a complex type
3102
3167
  # that appears as `Headers` in the response syntax. `HTTPHeader`
3103
3168
  # contains the names and values of all of the headers that appear in one
3104
3169
  # of the web requests.
3105
3170
  #
3106
- #
3107
- #
3108
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3109
- #
3110
3171
  # @!attribute [rw] name
3111
3172
  # The name of the HTTP header.
3112
3173
  # @return [String]
@@ -3124,21 +3185,10 @@ module Aws::WAFV2
3124
3185
  include Aws::Structure
3125
3186
  end
3126
3187
 
3127
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3128
- # in November, 2019. For information, including how to migrate your AWS
3129
- # WAF resources from the prior release, see the [AWS WAF Developer
3130
- # Guide][1].
3131
- #
3132
- # </note>
3133
- #
3134
3188
  # Part of the response from GetSampledRequests. This is a complex type
3135
3189
  # that appears as `Request` in the response syntax. `HTTPRequest`
3136
3190
  # contains information about one of the web requests.
3137
3191
  #
3138
- #
3139
- #
3140
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3141
- #
3142
3192
  # @!attribute [rw] client_ip
3143
3193
  # The IP address that the request originated from. If the web ACL is
3144
3194
  # associated with a CloudFront distribution, this is the value of one
@@ -3193,17 +3243,10 @@ module Aws::WAFV2
3193
3243
  include Aws::Structure
3194
3244
  end
3195
3245
 
3196
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3197
- # in November, 2019. For information, including how to migrate your AWS
3198
- # WAF resources from the prior release, see the [AWS WAF Developer
3199
- # Guide][1].
3200
- #
3201
- # </note>
3202
- #
3203
3246
  # Contains one or more IP addresses or blocks of IP addresses specified
3204
3247
  # in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports
3205
3248
  # any CIDR range. For information about CIDR notation, see the Wikipedia
3206
- # entry [Classless Inter-Domain Routing][2].
3249
+ # entry [Classless Inter-Domain Routing][1].
3207
3250
  #
3208
3251
  # AWS WAF assigns an ARN to each `IPSet` that you create. To use an IP
3209
3252
  # set in a rule, you provide the ARN to the Rule statement
@@ -3211,8 +3254,7 @@ module Aws::WAFV2
3211
3254
  #
3212
3255
  #
3213
3256
  #
3214
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3215
- # [2]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
3257
+ # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
3216
3258
  #
3217
3259
  # @!attribute [rw] name
3218
3260
  # The name of the IP set. You cannot change the name of an `IPSet`
@@ -3230,8 +3272,7 @@ module Aws::WAFV2
3230
3272
  # @return [String]
3231
3273
  #
3232
3274
  # @!attribute [rw] description
3233
- # A description of the IP set that helps with identification. You
3234
- # cannot change the description of an IP set after you create it.
3275
+ # A description of the IP set that helps with identification.
3235
3276
  # @return [String]
3236
3277
  #
3237
3278
  # @!attribute [rw] ip_address_version
@@ -3331,10 +3372,10 @@ module Aws::WAFV2
3331
3372
  #
3332
3373
  # You can specify the following fallback behaviors:
3333
3374
  #
3334
- # * MATCH - Treat the web request as matching the rule statement. AWS
3335
- # WAF applies the rule action to the request.
3375
+ # * `MATCH` - Treat the web request as matching the rule statement.
3376
+ # AWS WAF applies the rule action to the request.
3336
3377
  #
3337
- # * NO\_MATCH - Treat the web request as not matching the rule
3378
+ # * `NO_MATCH` - Treat the web request as not matching the rule
3338
3379
  # statement.
3339
3380
  # @return [String]
3340
3381
  #
@@ -3368,13 +3409,6 @@ module Aws::WAFV2
3368
3409
  include Aws::Structure
3369
3410
  end
3370
3411
 
3371
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3372
- # in November, 2019. For information, including how to migrate your AWS
3373
- # WAF resources from the prior release, see the [AWS WAF Developer
3374
- # Guide][1].
3375
- #
3376
- # </note>
3377
- #
3378
3412
  # A rule statement used to detect web requests coming from particular IP
3379
3413
  # addresses or address ranges. To use this, create an IPSet that
3380
3414
  # specifies the addresses you want to detect, then use the ARN of that
@@ -3385,10 +3419,6 @@ module Aws::WAFV2
3385
3419
  # single set in multiple rules. When you update the referenced set, AWS
3386
3420
  # WAF automatically updates all rules that reference it.
3387
3421
  #
3388
- #
3389
- #
3390
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3391
- #
3392
3422
  # @note When making an API call, you may pass IPSetReferenceStatement
3393
3423
  # data as a hash:
3394
3424
  #
@@ -3427,22 +3457,11 @@ module Aws::WAFV2
3427
3457
  include Aws::Structure
3428
3458
  end
3429
3459
 
3430
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3431
- # in November, 2019. For information, including how to migrate your AWS
3432
- # WAF resources from the prior release, see the [AWS WAF Developer
3433
- # Guide][1].
3434
- #
3435
- # </note>
3436
- #
3437
3460
  # High-level information about an IPSet, returned by operations like
3438
3461
  # create and list. This provides information like the ID, that you can
3439
3462
  # use to retrieve and manage an `IPSet`, and the ARN, that you provide
3440
3463
  # to the IPSetReferenceStatement to use the address set in a Rule.
3441
3464
  #
3442
- #
3443
- #
3444
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3445
- #
3446
3465
  # @!attribute [rw] name
3447
3466
  # The name of the IP set. You cannot change the name of an `IPSet`
3448
3467
  # after you create it.
@@ -3455,8 +3474,7 @@ module Aws::WAFV2
3455
3474
  # @return [String]
3456
3475
  #
3457
3476
  # @!attribute [rw] description
3458
- # A description of the IP set that helps with identification. You
3459
- # cannot change the description of an IP set after you create it.
3477
+ # A description of the IP set that helps with identification.
3460
3478
  # @return [String]
3461
3479
  #
3462
3480
  # @!attribute [rw] lock_token
@@ -3487,6 +3505,123 @@ module Aws::WAFV2
3487
3505
  include Aws::Structure
3488
3506
  end
3489
3507
 
3508
+ # The body of a web request, inspected as JSON. The body immediately
3509
+ # follows the request headers. This is used in the FieldToMatch
3510
+ # specification.
3511
+ #
3512
+ # Use the specifications in this object to indicate which parts of the
3513
+ # JSON body to inspect using the rule's inspection criteria. AWS WAF
3514
+ # inspects only the parts of the JSON that result from the matches that
3515
+ # you indicate.
3516
+ #
3517
+ # @note When making an API call, you may pass JsonBody
3518
+ # data as a hash:
3519
+ #
3520
+ # {
3521
+ # match_pattern: { # required
3522
+ # all: {
3523
+ # },
3524
+ # included_paths: ["JsonPointerPath"],
3525
+ # },
3526
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
3527
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
3528
+ # }
3529
+ #
3530
+ # @!attribute [rw] match_pattern
3531
+ # The patterns to look for in the JSON body. AWS WAF inspects the
3532
+ # results of these pattern matches against the rule inspection
3533
+ # criteria.
3534
+ # @return [Types::JsonMatchPattern]
3535
+ #
3536
+ # @!attribute [rw] match_scope
3537
+ # The parts of the JSON to match against using the `MatchPattern`. If
3538
+ # you specify `All`, AWS WAF matches against keys and values.
3539
+ # @return [String]
3540
+ #
3541
+ # @!attribute [rw] invalid_fallback_behavior
3542
+ # The inspection behavior to fall back to if the JSON in the request
3543
+ # body is invalid. For AWS WAF, invalid JSON is any content that
3544
+ # isn't complete syntactical JSON, content whose root node isn't an
3545
+ # object or an array, and duplicate keys in the content.
3546
+ #
3547
+ # You can specify the following fallback behaviors:
3548
+ #
3549
+ # * `MATCH` - Treat the web request as matching the rule statement.
3550
+ # AWS WAF applies the rule action to the request.
3551
+ #
3552
+ # * `NO_MATCH` - Treat the web request as not matching the rule
3553
+ # statement.
3554
+ #
3555
+ # * `EVALUATE_AS_STRING` - Inspect the body as plain text. This option
3556
+ # applies the text transformations and inspection criteria that you
3557
+ # defined for the JSON inspection to the body text string.
3558
+ #
3559
+ # If you don't provide this setting, when AWS WAF encounters invalid
3560
+ # JSON, it parses and inspects what it can, up to the first invalid
3561
+ # JSON that it encounters.
3562
+ # @return [String]
3563
+ #
3564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/JsonBody AWS API Documentation
3565
+ #
3566
+ class JsonBody < Struct.new(
3567
+ :match_pattern,
3568
+ :match_scope,
3569
+ :invalid_fallback_behavior)
3570
+ SENSITIVE = []
3571
+ include Aws::Structure
3572
+ end
3573
+
3574
+ # The patterns to look for in the JSON body. AWS WAF inspects the
3575
+ # results of these pattern matches against the rule inspection criteria.
3576
+ # This is used with the FieldToMatch option `JsonBody`.
3577
+ #
3578
+ # @note When making an API call, you may pass JsonMatchPattern
3579
+ # data as a hash:
3580
+ #
3581
+ # {
3582
+ # all: {
3583
+ # },
3584
+ # included_paths: ["JsonPointerPath"],
3585
+ # }
3586
+ #
3587
+ # @!attribute [rw] all
3588
+ # Match all of the elements. See also `MatchScope` in JsonBody.
3589
+ #
3590
+ # You must specify either this setting or the `IncludedPaths` setting,
3591
+ # but not both.
3592
+ # @return [Types::All]
3593
+ #
3594
+ # @!attribute [rw] included_paths
3595
+ # Match only the specified include paths. See also `MatchScope` in
3596
+ # JsonBody.
3597
+ #
3598
+ # Provide the include paths using JSON Pointer syntax. For example,
3599
+ # `"IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]`. For information
3600
+ # about this syntax, see the Internet Engineering Task Force (IETF)
3601
+ # documentation [JavaScript Object Notation (JSON) Pointer][1].
3602
+ #
3603
+ # You must specify either this setting or the `All` setting, but not
3604
+ # both.
3605
+ #
3606
+ # <note markdown="1"> Don't use this option to include all paths. Instead, use the `All`
3607
+ # setting.
3608
+ #
3609
+ # </note>
3610
+ #
3611
+ #
3612
+ #
3613
+ # [1]: https://tools.ietf.org/html/rfc6901
3614
+ # @return [Array<String>]
3615
+ #
3616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/JsonMatchPattern AWS API Documentation
3617
+ #
3618
+ class JsonMatchPattern < Struct.new(
3619
+ :all,
3620
+ :included_paths)
3621
+ SENSITIVE = []
3622
+ include Aws::Structure
3623
+ end
3624
+
3490
3625
  # @note When making an API call, you may pass ListAvailableManagedRuleGroupsRequest
3491
3626
  # data as a hash:
3492
3627
  #
@@ -4002,22 +4137,11 @@ module Aws::WAFV2
4002
4137
  include Aws::Structure
4003
4138
  end
4004
4139
 
4005
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4006
- # in November, 2019. For information, including how to migrate your AWS
4007
- # WAF resources from the prior release, see the [AWS WAF Developer
4008
- # Guide][1].
4009
- #
4010
- # </note>
4011
- #
4012
4140
  # Defines an association between Amazon Kinesis Data Firehose
4013
4141
  # destinations and a web ACL resource, for logging from AWS WAF. As part
4014
4142
  # of the association, you can specify parts of the standard logging
4015
4143
  # fields to keep out of the logs.
4016
4144
  #
4017
- #
4018
- #
4019
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4020
- #
4021
4145
  # @note When making an API call, you may pass LoggingConfiguration
4022
4146
  # data as a hash:
4023
4147
  #
@@ -4042,6 +4166,15 @@ module Aws::WAFV2
4042
4166
  # },
4043
4167
  # method: {
4044
4168
  # },
4169
+ # json_body: {
4170
+ # match_pattern: { # required
4171
+ # all: {
4172
+ # },
4173
+ # included_paths: ["JsonPointerPath"],
4174
+ # },
4175
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4176
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4177
+ # },
4045
4178
  # },
4046
4179
  # ],
4047
4180
  # managed_by_firewall_manager: false,
@@ -4085,13 +4218,6 @@ module Aws::WAFV2
4085
4218
  include Aws::Structure
4086
4219
  end
4087
4220
 
4088
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4089
- # in November, 2019. For information, including how to migrate your AWS
4090
- # WAF resources from the prior release, see the [AWS WAF Developer
4091
- # Guide][1].
4092
- #
4093
- # </note>
4094
- #
4095
4221
  # A rule statement used to run the rules that are defined in a managed
4096
4222
  # rule group. To use this, provide the vendor name and the name of the
4097
4223
  # rule group in this statement. You can retrieve the required names by
@@ -4101,10 +4227,6 @@ module Aws::WAFV2
4101
4227
  # inside a `NotStatement` or `OrStatement`. It can only be referenced as
4102
4228
  # a top-level statement within a rule.
4103
4229
  #
4104
- #
4105
- #
4106
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4107
- #
4108
4230
  # @note When making an API call, you may pass ManagedRuleGroupStatement
4109
4231
  # data as a hash:
4110
4232
  #
@@ -4144,13 +4266,6 @@ module Aws::WAFV2
4144
4266
  include Aws::Structure
4145
4267
  end
4146
4268
 
4147
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4148
- # in November, 2019. For information, including how to migrate your AWS
4149
- # WAF resources from the prior release, see the [AWS WAF Developer
4150
- # Guide][1].
4151
- #
4152
- # </note>
4153
- #
4154
4269
  # High-level information about a managed rule group, returned by
4155
4270
  # ListAvailableManagedRuleGroups. This provides information like the
4156
4271
  # name and vendor name, that you provide when you add a
@@ -4159,10 +4274,6 @@ module Aws::WAFV2
4159
4274
  # customers, and AWS Marketplace managed rule groups, which you can
4160
4275
  # subscribe to through AWS Marketplace.
4161
4276
  #
4162
- #
4163
- #
4164
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4165
- #
4166
4277
  # @!attribute [rw] vendor_name
4167
4278
  # The name of the managed rule group vendor. You use this, along with
4168
4279
  # the rule group name, to identify the rule group.
@@ -4188,36 +4299,18 @@ module Aws::WAFV2
4188
4299
  include Aws::Structure
4189
4300
  end
4190
4301
 
4191
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4192
- # in November, 2019. For information, including how to migrate your AWS
4193
- # WAF resources from the prior release, see the [AWS WAF Developer
4194
- # Guide][1].
4195
- #
4196
- # </note>
4197
- #
4198
4302
  # The HTTP method of a web request. The method indicates the type of
4199
4303
  # operation that the request is asking the origin to perform.
4200
4304
  #
4201
4305
  # This is used only to indicate the web request component for AWS WAF to
4202
4306
  # inspect, in the FieldToMatch specification.
4203
4307
  #
4204
- #
4205
- #
4206
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4207
- #
4208
4308
  # @api private
4209
4309
  #
4210
4310
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Method AWS API Documentation
4211
4311
  #
4212
4312
  class Method < Aws::EmptyStructure; end
4213
4313
 
4214
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4215
- # in November, 2019. For information, including how to migrate your AWS
4216
- # WAF resources from the prior release, see the [AWS WAF Developer
4217
- # Guide][1].
4218
- #
4219
- # </note>
4220
- #
4221
4314
  # Specifies that AWS WAF should do nothing. This is generally used to
4222
4315
  # try out a rule without performing any actions. You set the
4223
4316
  # `OverrideAction` on the Rule.
@@ -4225,30 +4318,15 @@ module Aws::WAFV2
4225
4318
  # This is used only in the context of other settings, for example to
4226
4319
  # specify values for RuleAction and web ACL DefaultAction.
4227
4320
  #
4228
- #
4229
- #
4230
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4231
- #
4232
4321
  # @api private
4233
4322
  #
4234
4323
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/NoneAction AWS API Documentation
4235
4324
  #
4236
4325
  class NoneAction < Aws::EmptyStructure; end
4237
4326
 
4238
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4239
- # in November, 2019. For information, including how to migrate your AWS
4240
- # WAF resources from the prior release, see the [AWS WAF Developer
4241
- # Guide][1].
4242
- #
4243
- # </note>
4244
- #
4245
4327
  # A logical rule statement used to negate the results of another rule
4246
4328
  # statement. You provide one Statement within the `NotStatement`.
4247
4329
  #
4248
- #
4249
- #
4250
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4251
- #
4252
4330
  # @note When making an API call, you may pass NotStatement
4253
4331
  # data as a hash:
4254
4332
  #
@@ -4273,6 +4351,15 @@ module Aws::WAFV2
4273
4351
  # },
4274
4352
  # method: {
4275
4353
  # },
4354
+ # json_body: {
4355
+ # match_pattern: { # required
4356
+ # all: {
4357
+ # },
4358
+ # included_paths: ["JsonPointerPath"],
4359
+ # },
4360
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4361
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4362
+ # },
4276
4363
  # },
4277
4364
  # text_transformations: [ # required
4278
4365
  # {
@@ -4300,6 +4387,15 @@ module Aws::WAFV2
4300
4387
  # },
4301
4388
  # method: {
4302
4389
  # },
4390
+ # json_body: {
4391
+ # match_pattern: { # required
4392
+ # all: {
4393
+ # },
4394
+ # included_paths: ["JsonPointerPath"],
4395
+ # },
4396
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4397
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4398
+ # },
4303
4399
  # },
4304
4400
  # text_transformations: [ # required
4305
4401
  # {
@@ -4326,8 +4422,17 @@ module Aws::WAFV2
4326
4422
  # },
4327
4423
  # method: {
4328
4424
  # },
4329
- # },
4330
- # text_transformations: [ # required
4425
+ # json_body: {
4426
+ # match_pattern: { # required
4427
+ # all: {
4428
+ # },
4429
+ # included_paths: ["JsonPointerPath"],
4430
+ # },
4431
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4432
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4433
+ # },
4434
+ # },
4435
+ # text_transformations: [ # required
4331
4436
  # {
4332
4437
  # priority: 1, # required
4333
4438
  # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4352,6 +4457,15 @@ module Aws::WAFV2
4352
4457
  # },
4353
4458
  # method: {
4354
4459
  # },
4460
+ # json_body: {
4461
+ # match_pattern: { # required
4462
+ # all: {
4463
+ # },
4464
+ # included_paths: ["JsonPointerPath"],
4465
+ # },
4466
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4467
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4468
+ # },
4355
4469
  # },
4356
4470
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4357
4471
  # size: 1, # required
@@ -4404,6 +4518,15 @@ module Aws::WAFV2
4404
4518
  # },
4405
4519
  # method: {
4406
4520
  # },
4521
+ # json_body: {
4522
+ # match_pattern: { # required
4523
+ # all: {
4524
+ # },
4525
+ # included_paths: ["JsonPointerPath"],
4526
+ # },
4527
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4528
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4529
+ # },
4407
4530
  # },
4408
4531
  # text_transformations: [ # required
4409
4532
  # {
@@ -4467,20 +4590,9 @@ module Aws::WAFV2
4467
4590
  include Aws::Structure
4468
4591
  end
4469
4592
 
4470
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4471
- # in November, 2019. For information, including how to migrate your AWS
4472
- # WAF resources from the prior release, see the [AWS WAF Developer
4473
- # Guide][1].
4474
- #
4475
- # </note>
4476
- #
4477
4593
  # A logical rule statement used to combine other rule statements with OR
4478
4594
  # logic. You provide more than one Statement within the `OrStatement`.
4479
4595
  #
4480
- #
4481
- #
4482
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4483
- #
4484
4596
  # @note When making an API call, you may pass OrStatement
4485
4597
  # data as a hash:
4486
4598
  #
@@ -4506,6 +4618,15 @@ module Aws::WAFV2
4506
4618
  # },
4507
4619
  # method: {
4508
4620
  # },
4621
+ # json_body: {
4622
+ # match_pattern: { # required
4623
+ # all: {
4624
+ # },
4625
+ # included_paths: ["JsonPointerPath"],
4626
+ # },
4627
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4628
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4629
+ # },
4509
4630
  # },
4510
4631
  # text_transformations: [ # required
4511
4632
  # {
@@ -4533,6 +4654,15 @@ module Aws::WAFV2
4533
4654
  # },
4534
4655
  # method: {
4535
4656
  # },
4657
+ # json_body: {
4658
+ # match_pattern: { # required
4659
+ # all: {
4660
+ # },
4661
+ # included_paths: ["JsonPointerPath"],
4662
+ # },
4663
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4664
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4665
+ # },
4536
4666
  # },
4537
4667
  # text_transformations: [ # required
4538
4668
  # {
@@ -4559,6 +4689,15 @@ module Aws::WAFV2
4559
4689
  # },
4560
4690
  # method: {
4561
4691
  # },
4692
+ # json_body: {
4693
+ # match_pattern: { # required
4694
+ # all: {
4695
+ # },
4696
+ # included_paths: ["JsonPointerPath"],
4697
+ # },
4698
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4699
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4700
+ # },
4562
4701
  # },
4563
4702
  # text_transformations: [ # required
4564
4703
  # {
@@ -4585,6 +4724,15 @@ module Aws::WAFV2
4585
4724
  # },
4586
4725
  # method: {
4587
4726
  # },
4727
+ # json_body: {
4728
+ # match_pattern: { # required
4729
+ # all: {
4730
+ # },
4731
+ # included_paths: ["JsonPointerPath"],
4732
+ # },
4733
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4734
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4735
+ # },
4588
4736
  # },
4589
4737
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4590
4738
  # size: 1, # required
@@ -4637,6 +4785,15 @@ module Aws::WAFV2
4637
4785
  # },
4638
4786
  # method: {
4639
4787
  # },
4788
+ # json_body: {
4789
+ # match_pattern: { # required
4790
+ # all: {
4791
+ # },
4792
+ # included_paths: ["JsonPointerPath"],
4793
+ # },
4794
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4795
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4796
+ # },
4640
4797
  # },
4641
4798
  # text_transformations: [ # required
4642
4799
  # {
@@ -4766,6 +4923,15 @@ module Aws::WAFV2
4766
4923
  # },
4767
4924
  # method: {
4768
4925
  # },
4926
+ # json_body: {
4927
+ # match_pattern: { # required
4928
+ # all: {
4929
+ # },
4930
+ # included_paths: ["JsonPointerPath"],
4931
+ # },
4932
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
4933
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
4934
+ # },
4769
4935
  # },
4770
4936
  # ],
4771
4937
  # managed_by_firewall_manager: false,
@@ -4846,36 +5012,18 @@ module Aws::WAFV2
4846
5012
  #
4847
5013
  class PutPermissionPolicyResponse < Aws::EmptyStructure; end
4848
5014
 
4849
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4850
- # in November, 2019. For information, including how to migrate your AWS
4851
- # WAF resources from the prior release, see the [AWS WAF Developer
4852
- # Guide][1].
4853
- #
4854
- # </note>
4855
- #
4856
5015
  # The query string of a web request. This is the part of a URL that
4857
5016
  # appears after a `?` character, if any.
4858
5017
  #
4859
5018
  # This is used only to indicate the web request component for AWS WAF to
4860
5019
  # inspect, in the FieldToMatch specification.
4861
5020
  #
4862
- #
4863
- #
4864
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4865
- #
4866
5021
  # @api private
4867
5022
  #
4868
5023
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/QueryString AWS API Documentation
4869
5024
  #
4870
5025
  class QueryString < Aws::EmptyStructure; end
4871
5026
 
4872
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4873
- # in November, 2019. For information, including how to migrate your AWS
4874
- # WAF resources from the prior release, see the [AWS WAF Developer
4875
- # Guide][1].
4876
- #
4877
- # </note>
4878
- #
4879
5027
  # A rate-based rule tracks the rate of requests for each originating IP
4880
5028
  # address, and triggers the rule action when the rate exceeds a limit
4881
5029
  # that you specify on the number of requests in any 5-minute time span.
@@ -4909,10 +5057,6 @@ module Aws::WAFV2
4909
5057
  # `NotStatement` or `OrStatement`. It can only be referenced as a
4910
5058
  # top-level statement within a rule.
4911
5059
  #
4912
- #
4913
- #
4914
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4915
- #
4916
5060
  # @note When making an API call, you may pass RateBasedStatement
4917
5061
  # data as a hash:
4918
5062
  #
@@ -4939,6 +5083,15 @@ module Aws::WAFV2
4939
5083
  # },
4940
5084
  # method: {
4941
5085
  # },
5086
+ # json_body: {
5087
+ # match_pattern: { # required
5088
+ # all: {
5089
+ # },
5090
+ # included_paths: ["JsonPointerPath"],
5091
+ # },
5092
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5093
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5094
+ # },
4942
5095
  # },
4943
5096
  # text_transformations: [ # required
4944
5097
  # {
@@ -4966,6 +5119,15 @@ module Aws::WAFV2
4966
5119
  # },
4967
5120
  # method: {
4968
5121
  # },
5122
+ # json_body: {
5123
+ # match_pattern: { # required
5124
+ # all: {
5125
+ # },
5126
+ # included_paths: ["JsonPointerPath"],
5127
+ # },
5128
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5129
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5130
+ # },
4969
5131
  # },
4970
5132
  # text_transformations: [ # required
4971
5133
  # {
@@ -4992,6 +5154,15 @@ module Aws::WAFV2
4992
5154
  # },
4993
5155
  # method: {
4994
5156
  # },
5157
+ # json_body: {
5158
+ # match_pattern: { # required
5159
+ # all: {
5160
+ # },
5161
+ # included_paths: ["JsonPointerPath"],
5162
+ # },
5163
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5164
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5165
+ # },
4995
5166
  # },
4996
5167
  # text_transformations: [ # required
4997
5168
  # {
@@ -5018,6 +5189,15 @@ module Aws::WAFV2
5018
5189
  # },
5019
5190
  # method: {
5020
5191
  # },
5192
+ # json_body: {
5193
+ # match_pattern: { # required
5194
+ # all: {
5195
+ # },
5196
+ # included_paths: ["JsonPointerPath"],
5197
+ # },
5198
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5199
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5200
+ # },
5021
5201
  # },
5022
5202
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
5023
5203
  # size: 1, # required
@@ -5070,6 +5250,15 @@ module Aws::WAFV2
5070
5250
  # },
5071
5251
  # method: {
5072
5252
  # },
5253
+ # json_body: {
5254
+ # match_pattern: { # required
5255
+ # all: {
5256
+ # },
5257
+ # included_paths: ["JsonPointerPath"],
5258
+ # },
5259
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5260
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5261
+ # },
5073
5262
  # },
5074
5263
  # text_transformations: [ # required
5075
5264
  # {
@@ -5174,20 +5363,9 @@ module Aws::WAFV2
5174
5363
  include Aws::Structure
5175
5364
  end
5176
5365
 
5177
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5178
- # in November, 2019. For information, including how to migrate your AWS
5179
- # WAF resources from the prior release, see the [AWS WAF Developer
5180
- # Guide][1].
5181
- #
5182
- # </note>
5183
- #
5184
5366
  # The set of IP addresses that are currently blocked for a rate-based
5185
5367
  # statement.
5186
5368
  #
5187
- #
5188
- #
5189
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5190
- #
5191
5369
  # @!attribute [rw] ip_address_version
5192
5370
  # @return [String]
5193
5371
  #
@@ -5204,19 +5382,8 @@ module Aws::WAFV2
5204
5382
  include Aws::Structure
5205
5383
  end
5206
5384
 
5207
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5208
- # in November, 2019. For information, including how to migrate your AWS
5209
- # WAF resources from the prior release, see the [AWS WAF Developer
5210
- # Guide][1].
5211
- #
5212
- # </note>
5213
- #
5214
5385
  # A single regular expression. This is used in a RegexPatternSet.
5215
5386
  #
5216
- #
5217
- #
5218
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5219
- #
5220
5387
  # @note When making an API call, you may pass Regex
5221
5388
  # data as a hash:
5222
5389
  #
@@ -5236,23 +5403,12 @@ module Aws::WAFV2
5236
5403
  include Aws::Structure
5237
5404
  end
5238
5405
 
5239
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5240
- # in November, 2019. For information, including how to migrate your AWS
5241
- # WAF resources from the prior release, see the [AWS WAF Developer
5242
- # Guide][1].
5243
- #
5244
- # </note>
5245
- #
5246
5406
  # Contains one or more regular expressions.
5247
5407
  #
5248
5408
  # AWS WAF assigns an ARN to each `RegexPatternSet` that you create. To
5249
5409
  # use a set in a rule, you provide the ARN to the Rule statement
5250
5410
  # RegexPatternSetReferenceStatement.
5251
5411
  #
5252
- #
5253
- #
5254
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5255
- #
5256
5412
  # @!attribute [rw] name
5257
5413
  # The name of the set. You cannot change the name after you create the
5258
5414
  # set.
@@ -5269,8 +5425,7 @@ module Aws::WAFV2
5269
5425
  # @return [String]
5270
5426
  #
5271
5427
  # @!attribute [rw] description
5272
- # A description of the set that helps with identification. You cannot
5273
- # change the description of a set after you create it.
5428
+ # A description of the set that helps with identification.
5274
5429
  # @return [String]
5275
5430
  #
5276
5431
  # @!attribute [rw] regular_expression_list
@@ -5289,13 +5444,6 @@ module Aws::WAFV2
5289
5444
  include Aws::Structure
5290
5445
  end
5291
5446
 
5292
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5293
- # in November, 2019. For information, including how to migrate your AWS
5294
- # WAF resources from the prior release, see the [AWS WAF Developer
5295
- # Guide][1].
5296
- #
5297
- # </note>
5298
- #
5299
5447
  # A rule statement used to search web request components for matches
5300
5448
  # with regular expressions. To use this, create a RegexPatternSet that
5301
5449
  # specifies the expressions that you want to detect, then use the ARN of
@@ -5309,10 +5457,6 @@ module Aws::WAFV2
5309
5457
  # referenced set, AWS WAF automatically updates all rules that reference
5310
5458
  # it.
5311
5459
  #
5312
- #
5313
- #
5314
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5315
- #
5316
5460
  # @note When making an API call, you may pass RegexPatternSetReferenceStatement
5317
5461
  # data as a hash:
5318
5462
  #
@@ -5335,6 +5479,15 @@ module Aws::WAFV2
5335
5479
  # },
5336
5480
  # method: {
5337
5481
  # },
5482
+ # json_body: {
5483
+ # match_pattern: { # required
5484
+ # all: {
5485
+ # },
5486
+ # included_paths: ["JsonPointerPath"],
5487
+ # },
5488
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5489
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5490
+ # },
5338
5491
  # },
5339
5492
  # text_transformations: [ # required
5340
5493
  # {
@@ -5373,23 +5526,12 @@ module Aws::WAFV2
5373
5526
  include Aws::Structure
5374
5527
  end
5375
5528
 
5376
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5377
- # in November, 2019. For information, including how to migrate your AWS
5378
- # WAF resources from the prior release, see the [AWS WAF Developer
5379
- # Guide][1].
5380
- #
5381
- # </note>
5382
- #
5383
5529
  # High-level information about a RegexPatternSet, returned by operations
5384
5530
  # like create and list. This provides information like the ID, that you
5385
5531
  # can use to retrieve and manage a `RegexPatternSet`, and the ARN, that
5386
5532
  # you provide to the RegexPatternSetReferenceStatement to use the
5387
5533
  # pattern set in a Rule.
5388
5534
  #
5389
- #
5390
- #
5391
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5392
- #
5393
5535
  # @!attribute [rw] name
5394
5536
  # The name of the data type instance. You cannot change the name after
5395
5537
  # you create the instance.
@@ -5402,8 +5544,7 @@ module Aws::WAFV2
5402
5544
  # @return [String]
5403
5545
  #
5404
5546
  # @!attribute [rw] description
5405
- # A description of the set that helps with identification. You cannot
5406
- # change the description of a set after you create it.
5547
+ # A description of the set that helps with identification.
5407
5548
  # @return [String]
5408
5549
  #
5409
5550
  # @!attribute [rw] lock_token
@@ -5434,23 +5575,12 @@ module Aws::WAFV2
5434
5575
  include Aws::Structure
5435
5576
  end
5436
5577
 
5437
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5438
- # in November, 2019. For information, including how to migrate your AWS
5439
- # WAF resources from the prior release, see the [AWS WAF Developer
5440
- # Guide][1].
5441
- #
5442
- # </note>
5443
- #
5444
5578
  # A single rule, which you can use in a WebACL or RuleGroup to identify
5445
5579
  # web requests that you want to allow, block, or count. Each rule
5446
5580
  # includes one top-level Statement that AWS WAF uses to identify
5447
5581
  # matching web requests, and parameters that govern how AWS WAF handles
5448
5582
  # them.
5449
5583
  #
5450
- #
5451
- #
5452
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5453
- #
5454
5584
  # @note When making an API call, you may pass Rule
5455
5585
  # data as a hash:
5456
5586
  #
@@ -5477,6 +5607,15 @@ module Aws::WAFV2
5477
5607
  # },
5478
5608
  # method: {
5479
5609
  # },
5610
+ # json_body: {
5611
+ # match_pattern: { # required
5612
+ # all: {
5613
+ # },
5614
+ # included_paths: ["JsonPointerPath"],
5615
+ # },
5616
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5617
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5618
+ # },
5480
5619
  # },
5481
5620
  # text_transformations: [ # required
5482
5621
  # {
@@ -5504,6 +5643,15 @@ module Aws::WAFV2
5504
5643
  # },
5505
5644
  # method: {
5506
5645
  # },
5646
+ # json_body: {
5647
+ # match_pattern: { # required
5648
+ # all: {
5649
+ # },
5650
+ # included_paths: ["JsonPointerPath"],
5651
+ # },
5652
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5653
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5654
+ # },
5507
5655
  # },
5508
5656
  # text_transformations: [ # required
5509
5657
  # {
@@ -5530,6 +5678,15 @@ module Aws::WAFV2
5530
5678
  # },
5531
5679
  # method: {
5532
5680
  # },
5681
+ # json_body: {
5682
+ # match_pattern: { # required
5683
+ # all: {
5684
+ # },
5685
+ # included_paths: ["JsonPointerPath"],
5686
+ # },
5687
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5688
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5689
+ # },
5533
5690
  # },
5534
5691
  # text_transformations: [ # required
5535
5692
  # {
@@ -5556,6 +5713,15 @@ module Aws::WAFV2
5556
5713
  # },
5557
5714
  # method: {
5558
5715
  # },
5716
+ # json_body: {
5717
+ # match_pattern: { # required
5718
+ # all: {
5719
+ # },
5720
+ # included_paths: ["JsonPointerPath"],
5721
+ # },
5722
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5723
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5724
+ # },
5559
5725
  # },
5560
5726
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
5561
5727
  # size: 1, # required
@@ -5608,6 +5774,15 @@ module Aws::WAFV2
5608
5774
  # },
5609
5775
  # method: {
5610
5776
  # },
5777
+ # json_body: {
5778
+ # match_pattern: { # required
5779
+ # all: {
5780
+ # },
5781
+ # included_paths: ["JsonPointerPath"],
5782
+ # },
5783
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5784
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5785
+ # },
5611
5786
  # },
5612
5787
  # text_transformations: [ # required
5613
5788
  # {
@@ -5751,21 +5926,10 @@ module Aws::WAFV2
5751
5926
  include Aws::Structure
5752
5927
  end
5753
5928
 
5754
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5755
- # in November, 2019. For information, including how to migrate your AWS
5756
- # WAF resources from the prior release, see the [AWS WAF Developer
5757
- # Guide][1].
5758
- #
5759
- # </note>
5760
- #
5761
5929
  # The action that AWS WAF should take on a web request when it matches a
5762
5930
  # rule's statement. Settings at the web ACL level can override the rule
5763
5931
  # action setting.
5764
5932
  #
5765
- #
5766
- #
5767
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5768
- #
5769
5933
  # @note When making an API call, you may pass RuleAction
5770
5934
  # data as a hash:
5771
5935
  #
@@ -5800,23 +5964,12 @@ module Aws::WAFV2
5800
5964
  include Aws::Structure
5801
5965
  end
5802
5966
 
5803
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5804
- # in November, 2019. For information, including how to migrate your AWS
5805
- # WAF resources from the prior release, see the [AWS WAF Developer
5806
- # Guide][1].
5807
- #
5808
- # </note>
5809
- #
5810
5967
  # A rule group defines a collection of rules to inspect and control web
5811
5968
  # requests that you can use in a WebACL. When you create a rule group,
5812
5969
  # you define an immutable capacity limit. If you update a rule group,
5813
5970
  # you must stay within the capacity. This allows others to reuse the
5814
5971
  # rule group with confidence in its capacity requirements.
5815
5972
  #
5816
- #
5817
- #
5818
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5819
- #
5820
5973
  # @!attribute [rw] name
5821
5974
  # The name of the rule group. You cannot change the name of a rule
5822
5975
  # group after you create it.
@@ -5851,8 +6004,7 @@ module Aws::WAFV2
5851
6004
  # @return [String]
5852
6005
  #
5853
6006
  # @!attribute [rw] description
5854
- # A description of the rule group that helps with identification. You
5855
- # cannot change the description of a rule group after you create it.
6007
+ # A description of the rule group that helps with identification.
5856
6008
  # @return [String]
5857
6009
  #
5858
6010
  # @!attribute [rw] rules
@@ -5881,13 +6033,6 @@ module Aws::WAFV2
5881
6033
  include Aws::Structure
5882
6034
  end
5883
6035
 
5884
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5885
- # in November, 2019. For information, including how to migrate your AWS
5886
- # WAF resources from the prior release, see the [AWS WAF Developer
5887
- # Guide][1].
5888
- #
5889
- # </note>
5890
- #
5891
6036
  # A rule statement used to run the rules that are defined in a
5892
6037
  # RuleGroup. To use this, create a rule group with your rules, then
5893
6038
  # provide the ARN of the rule group in this statement.
@@ -5896,10 +6041,6 @@ module Aws::WAFV2
5896
6041
  # inside a `NotStatement` or `OrStatement`. It can only be referenced as
5897
6042
  # a top-level statement within a rule.
5898
6043
  #
5899
- #
5900
- #
5901
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5902
- #
5903
6044
  # @note When making an API call, you may pass RuleGroupReferenceStatement
5904
6045
  # data as a hash:
5905
6046
  #
@@ -5930,23 +6071,12 @@ module Aws::WAFV2
5930
6071
  include Aws::Structure
5931
6072
  end
5932
6073
 
5933
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5934
- # in November, 2019. For information, including how to migrate your AWS
5935
- # WAF resources from the prior release, see the [AWS WAF Developer
5936
- # Guide][1].
5937
- #
5938
- # </note>
5939
- #
5940
6074
  # High-level information about a RuleGroup, returned by operations like
5941
6075
  # create and list. This provides information like the ID, that you can
5942
6076
  # use to retrieve and manage a `RuleGroup`, and the ARN, that you
5943
6077
  # provide to the RuleGroupReferenceStatement to use the rule group in a
5944
6078
  # Rule.
5945
6079
  #
5946
- #
5947
- #
5948
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5949
- #
5950
6080
  # @!attribute [rw] name
5951
6081
  # The name of the data type instance. You cannot change the name after
5952
6082
  # you create the instance.
@@ -5959,8 +6089,7 @@ module Aws::WAFV2
5959
6089
  # @return [String]
5960
6090
  #
5961
6091
  # @!attribute [rw] description
5962
- # A description of the rule group that helps with identification. You
5963
- # cannot change the description of a rule group after you create it.
6092
+ # A description of the rule group that helps with identification.
5964
6093
  # @return [String]
5965
6094
  #
5966
6095
  # @!attribute [rw] lock_token
@@ -5991,42 +6120,20 @@ module Aws::WAFV2
5991
6120
  include Aws::Structure
5992
6121
  end
5993
6122
 
5994
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5995
- # in November, 2019. For information, including how to migrate your AWS
5996
- # WAF resources from the prior release, see the [AWS WAF Developer
5997
- # Guide][1].
5998
- #
5999
- # </note>
6000
- #
6001
6123
  # High-level information about a Rule, returned by operations like
6002
6124
  # DescribeManagedRuleGroup. This provides information like the ID, that
6003
6125
  # you can use to retrieve and manage a `RuleGroup`, and the ARN, that
6004
6126
  # you provide to the RuleGroupReferenceStatement to use the rule group
6005
6127
  # in a Rule.
6006
6128
  #
6007
- #
6008
- #
6009
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6010
- #
6011
6129
  # @!attribute [rw] name
6012
6130
  # The name of the rule.
6013
6131
  # @return [String]
6014
6132
  #
6015
6133
  # @!attribute [rw] action
6016
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6017
- # in November, 2019. For information, including how to migrate your
6018
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
6019
- # Guide][1].
6020
- #
6021
- # </note>
6022
- #
6023
6134
  # The action that AWS WAF should take on a web request when it matches
6024
6135
  # a rule's statement. Settings at the web ACL level can override the
6025
6136
  # rule action setting.
6026
- #
6027
- #
6028
- #
6029
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6030
6137
  # @return [Types::RuleAction]
6031
6138
  #
6032
6139
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RuleSummary AWS API Documentation
@@ -6038,23 +6145,12 @@ module Aws::WAFV2
6038
6145
  include Aws::Structure
6039
6146
  end
6040
6147
 
6041
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6042
- # in November, 2019. For information, including how to migrate your AWS
6043
- # WAF resources from the prior release, see the [AWS WAF Developer
6044
- # Guide][1].
6045
- #
6046
- # </note>
6047
- #
6048
6148
  # Represents a single sampled web request. The response from
6049
6149
  # GetSampledRequests includes a `SampledHTTPRequests` complex type that
6050
6150
  # appears as `SampledRequests` in the response syntax.
6051
6151
  # `SampledHTTPRequests` contains an array of `SampledHTTPRequest`
6052
6152
  # objects.
6053
6153
  #
6054
- #
6055
- #
6056
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6057
- #
6058
6154
  # @!attribute [rw] request
6059
6155
  # A complex type that contains detailed information about the request.
6060
6156
  # @return [Types::HTTPRequest]
@@ -6096,23 +6192,12 @@ module Aws::WAFV2
6096
6192
  include Aws::Structure
6097
6193
  end
6098
6194
 
6099
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6100
- # in November, 2019. For information, including how to migrate your AWS
6101
- # WAF resources from the prior release, see the [AWS WAF Developer
6102
- # Guide][1].
6103
- #
6104
- # </note>
6105
- #
6106
6195
  # One of the headers in a web request, identified by name, for example,
6107
6196
  # `User-Agent` or `Referer`. This setting isn't case sensitive.
6108
6197
  #
6109
6198
  # This is used only to indicate the web request component for AWS WAF to
6110
6199
  # inspect, in the FieldToMatch specification.
6111
6200
  #
6112
- #
6113
- #
6114
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6115
- #
6116
6201
  # @note When making an API call, you may pass SingleHeader
6117
6202
  # data as a hash:
6118
6203
  #
@@ -6132,21 +6217,10 @@ module Aws::WAFV2
6132
6217
  include Aws::Structure
6133
6218
  end
6134
6219
 
6135
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6136
- # in November, 2019. For information, including how to migrate your AWS
6137
- # WAF resources from the prior release, see the [AWS WAF Developer
6138
- # Guide][1].
6139
- #
6140
- # </note>
6141
- #
6142
6220
  # One query argument in a web request, identified by name, for example
6143
6221
  # *UserName* or *SalesRegion*. The name can be up to 30 characters long
6144
6222
  # and isn't case sensitive.
6145
6223
  #
6146
- #
6147
- #
6148
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6149
- #
6150
6224
  # @note When making an API call, you may pass SingleQueryArgument
6151
6225
  # data as a hash:
6152
6226
  #
@@ -6166,13 +6240,6 @@ module Aws::WAFV2
6166
6240
  include Aws::Structure
6167
6241
  end
6168
6242
 
6169
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6170
- # in November, 2019. For information, including how to migrate your AWS
6171
- # WAF resources from the prior release, see the [AWS WAF Developer
6172
- # Guide][1].
6173
- #
6174
- # </note>
6175
- #
6176
6243
  # A rule statement that compares a number of bytes against the size of a
6177
6244
  # request component, using a comparison operator, such as greater than
6178
6245
  # (&gt;) or less than (&lt;). For example, you can use a size constraint
@@ -6188,10 +6255,6 @@ module Aws::WAFV2
6188
6255
  # the slash (/) in the URI counts as one character. For example, the URI
6189
6256
  # `/logo.jpg` is nine characters long.
6190
6257
  #
6191
- #
6192
- #
6193
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6194
- #
6195
6258
  # @note When making an API call, you may pass SizeConstraintStatement
6196
6259
  # data as a hash:
6197
6260
  #
@@ -6213,6 +6276,15 @@ module Aws::WAFV2
6213
6276
  # },
6214
6277
  # method: {
6215
6278
  # },
6279
+ # json_body: {
6280
+ # match_pattern: { # required
6281
+ # all: {
6282
+ # },
6283
+ # included_paths: ["JsonPointerPath"],
6284
+ # },
6285
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6286
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6287
+ # },
6216
6288
  # },
6217
6289
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6218
6290
  # size: 1, # required
@@ -6258,13 +6330,6 @@ module Aws::WAFV2
6258
6330
  include Aws::Structure
6259
6331
  end
6260
6332
 
6261
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6262
- # in November, 2019. For information, including how to migrate your AWS
6263
- # WAF resources from the prior release, see the [AWS WAF Developer
6264
- # Guide][1].
6265
- #
6266
- # </note>
6267
- #
6268
6333
  # Attackers sometimes insert malicious SQL code into web requests in an
6269
6334
  # effort to extract data from your database. To allow or block web
6270
6335
  # requests that appear to contain malicious SQL code, create one or more
@@ -6274,10 +6339,6 @@ module Aws::WAFV2
6274
6339
  # you create a web ACL, you specify whether to allow or block requests
6275
6340
  # that appear to contain malicious SQL code.
6276
6341
  #
6277
- #
6278
- #
6279
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6280
- #
6281
6342
  # @note When making an API call, you may pass SqliMatchStatement
6282
6343
  # data as a hash:
6283
6344
  #
@@ -6299,6 +6360,15 @@ module Aws::WAFV2
6299
6360
  # },
6300
6361
  # method: {
6301
6362
  # },
6363
+ # json_body: {
6364
+ # match_pattern: { # required
6365
+ # all: {
6366
+ # },
6367
+ # included_paths: ["JsonPointerPath"],
6368
+ # },
6369
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6370
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6371
+ # },
6302
6372
  # },
6303
6373
  # text_transformations: [ # required
6304
6374
  # {
@@ -6331,20 +6401,9 @@ module Aws::WAFV2
6331
6401
  include Aws::Structure
6332
6402
  end
6333
6403
 
6334
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6335
- # in November, 2019. For information, including how to migrate your AWS
6336
- # WAF resources from the prior release, see the [AWS WAF Developer
6337
- # Guide][1].
6338
- #
6339
- # </note>
6340
- #
6341
6404
  # The processing guidance for a Rule, used by AWS WAF to determine
6342
6405
  # whether a web request matches the rule.
6343
6406
  #
6344
- #
6345
- #
6346
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6347
- #
6348
6407
  # @note When making an API call, you may pass Statement
6349
6408
  # data as a hash:
6350
6409
  #
@@ -6368,6 +6427,15 @@ module Aws::WAFV2
6368
6427
  # },
6369
6428
  # method: {
6370
6429
  # },
6430
+ # json_body: {
6431
+ # match_pattern: { # required
6432
+ # all: {
6433
+ # },
6434
+ # included_paths: ["JsonPointerPath"],
6435
+ # },
6436
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6437
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6438
+ # },
6371
6439
  # },
6372
6440
  # text_transformations: [ # required
6373
6441
  # {
@@ -6395,6 +6463,15 @@ module Aws::WAFV2
6395
6463
  # },
6396
6464
  # method: {
6397
6465
  # },
6466
+ # json_body: {
6467
+ # match_pattern: { # required
6468
+ # all: {
6469
+ # },
6470
+ # included_paths: ["JsonPointerPath"],
6471
+ # },
6472
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6473
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6474
+ # },
6398
6475
  # },
6399
6476
  # text_transformations: [ # required
6400
6477
  # {
@@ -6421,6 +6498,15 @@ module Aws::WAFV2
6421
6498
  # },
6422
6499
  # method: {
6423
6500
  # },
6501
+ # json_body: {
6502
+ # match_pattern: { # required
6503
+ # all: {
6504
+ # },
6505
+ # included_paths: ["JsonPointerPath"],
6506
+ # },
6507
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6508
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6509
+ # },
6424
6510
  # },
6425
6511
  # text_transformations: [ # required
6426
6512
  # {
@@ -6447,6 +6533,15 @@ module Aws::WAFV2
6447
6533
  # },
6448
6534
  # method: {
6449
6535
  # },
6536
+ # json_body: {
6537
+ # match_pattern: { # required
6538
+ # all: {
6539
+ # },
6540
+ # included_paths: ["JsonPointerPath"],
6541
+ # },
6542
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6543
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6544
+ # },
6450
6545
  # },
6451
6546
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6452
6547
  # size: 1, # required
@@ -6499,6 +6594,15 @@ module Aws::WAFV2
6499
6594
  # },
6500
6595
  # method: {
6501
6596
  # },
6597
+ # json_body: {
6598
+ # match_pattern: { # required
6599
+ # all: {
6600
+ # },
6601
+ # included_paths: ["JsonPointerPath"],
6602
+ # },
6603
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6604
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6605
+ # },
6502
6606
  # },
6503
6607
  # text_transformations: [ # required
6504
6608
  # {
@@ -6530,6 +6634,15 @@ module Aws::WAFV2
6530
6634
  # },
6531
6635
  # method: {
6532
6636
  # },
6637
+ # json_body: {
6638
+ # match_pattern: { # required
6639
+ # all: {
6640
+ # },
6641
+ # included_paths: ["JsonPointerPath"],
6642
+ # },
6643
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6644
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6645
+ # },
6533
6646
  # },
6534
6647
  # text_transformations: [ # required
6535
6648
  # {
@@ -6557,6 +6670,15 @@ module Aws::WAFV2
6557
6670
  # },
6558
6671
  # method: {
6559
6672
  # },
6673
+ # json_body: {
6674
+ # match_pattern: { # required
6675
+ # all: {
6676
+ # },
6677
+ # included_paths: ["JsonPointerPath"],
6678
+ # },
6679
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6680
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6681
+ # },
6560
6682
  # },
6561
6683
  # text_transformations: [ # required
6562
6684
  # {
@@ -6583,6 +6705,15 @@ module Aws::WAFV2
6583
6705
  # },
6584
6706
  # method: {
6585
6707
  # },
6708
+ # json_body: {
6709
+ # match_pattern: { # required
6710
+ # all: {
6711
+ # },
6712
+ # included_paths: ["JsonPointerPath"],
6713
+ # },
6714
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6715
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6716
+ # },
6586
6717
  # },
6587
6718
  # text_transformations: [ # required
6588
6719
  # {
@@ -6609,6 +6740,15 @@ module Aws::WAFV2
6609
6740
  # },
6610
6741
  # method: {
6611
6742
  # },
6743
+ # json_body: {
6744
+ # match_pattern: { # required
6745
+ # all: {
6746
+ # },
6747
+ # included_paths: ["JsonPointerPath"],
6748
+ # },
6749
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6750
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6751
+ # },
6612
6752
  # },
6613
6753
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6614
6754
  # size: 1, # required
@@ -6661,6 +6801,15 @@ module Aws::WAFV2
6661
6801
  # },
6662
6802
  # method: {
6663
6803
  # },
6804
+ # json_body: {
6805
+ # match_pattern: { # required
6806
+ # all: {
6807
+ # },
6808
+ # included_paths: ["JsonPointerPath"],
6809
+ # },
6810
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6811
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6812
+ # },
6664
6813
  # },
6665
6814
  # text_transformations: [ # required
6666
6815
  # {
@@ -6728,6 +6877,15 @@ module Aws::WAFV2
6728
6877
  # },
6729
6878
  # method: {
6730
6879
  # },
6880
+ # json_body: {
6881
+ # match_pattern: { # required
6882
+ # all: {
6883
+ # },
6884
+ # included_paths: ["JsonPointerPath"],
6885
+ # },
6886
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6887
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6888
+ # },
6731
6889
  # },
6732
6890
  # text_transformations: [ # required
6733
6891
  # {
@@ -6755,6 +6913,15 @@ module Aws::WAFV2
6755
6913
  # },
6756
6914
  # method: {
6757
6915
  # },
6916
+ # json_body: {
6917
+ # match_pattern: { # required
6918
+ # all: {
6919
+ # },
6920
+ # included_paths: ["JsonPointerPath"],
6921
+ # },
6922
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6923
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6924
+ # },
6758
6925
  # },
6759
6926
  # text_transformations: [ # required
6760
6927
  # {
@@ -6781,6 +6948,15 @@ module Aws::WAFV2
6781
6948
  # },
6782
6949
  # method: {
6783
6950
  # },
6951
+ # json_body: {
6952
+ # match_pattern: { # required
6953
+ # all: {
6954
+ # },
6955
+ # included_paths: ["JsonPointerPath"],
6956
+ # },
6957
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6958
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6959
+ # },
6784
6960
  # },
6785
6961
  # text_transformations: [ # required
6786
6962
  # {
@@ -6807,6 +6983,15 @@ module Aws::WAFV2
6807
6983
  # },
6808
6984
  # method: {
6809
6985
  # },
6986
+ # json_body: {
6987
+ # match_pattern: { # required
6988
+ # all: {
6989
+ # },
6990
+ # included_paths: ["JsonPointerPath"],
6991
+ # },
6992
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6993
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6994
+ # },
6810
6995
  # },
6811
6996
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6812
6997
  # size: 1, # required
@@ -6859,6 +7044,15 @@ module Aws::WAFV2
6859
7044
  # },
6860
7045
  # method: {
6861
7046
  # },
7047
+ # json_body: {
7048
+ # match_pattern: { # required
7049
+ # all: {
7050
+ # },
7051
+ # included_paths: ["JsonPointerPath"],
7052
+ # },
7053
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7054
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7055
+ # },
6862
7056
  # },
6863
7057
  # text_transformations: [ # required
6864
7058
  # {
@@ -6925,6 +7119,15 @@ module Aws::WAFV2
6925
7119
  # },
6926
7120
  # method: {
6927
7121
  # },
7122
+ # json_body: {
7123
+ # match_pattern: { # required
7124
+ # all: {
7125
+ # },
7126
+ # included_paths: ["JsonPointerPath"],
7127
+ # },
7128
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7129
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7130
+ # },
6928
7131
  # },
6929
7132
  # text_transformations: [ # required
6930
7133
  # {
@@ -6952,6 +7155,15 @@ module Aws::WAFV2
6952
7155
  # },
6953
7156
  # method: {
6954
7157
  # },
7158
+ # json_body: {
7159
+ # match_pattern: { # required
7160
+ # all: {
7161
+ # },
7162
+ # included_paths: ["JsonPointerPath"],
7163
+ # },
7164
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7165
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7166
+ # },
6955
7167
  # },
6956
7168
  # text_transformations: [ # required
6957
7169
  # {
@@ -6978,6 +7190,15 @@ module Aws::WAFV2
6978
7190
  # },
6979
7191
  # method: {
6980
7192
  # },
7193
+ # json_body: {
7194
+ # match_pattern: { # required
7195
+ # all: {
7196
+ # },
7197
+ # included_paths: ["JsonPointerPath"],
7198
+ # },
7199
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7200
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7201
+ # },
6981
7202
  # },
6982
7203
  # text_transformations: [ # required
6983
7204
  # {
@@ -7004,6 +7225,15 @@ module Aws::WAFV2
7004
7225
  # },
7005
7226
  # method: {
7006
7227
  # },
7228
+ # json_body: {
7229
+ # match_pattern: { # required
7230
+ # all: {
7231
+ # },
7232
+ # included_paths: ["JsonPointerPath"],
7233
+ # },
7234
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7235
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7236
+ # },
7007
7237
  # },
7008
7238
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
7009
7239
  # size: 1, # required
@@ -7056,6 +7286,15 @@ module Aws::WAFV2
7056
7286
  # },
7057
7287
  # method: {
7058
7288
  # },
7289
+ # json_body: {
7290
+ # match_pattern: { # required
7291
+ # all: {
7292
+ # },
7293
+ # included_paths: ["JsonPointerPath"],
7294
+ # },
7295
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7296
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7297
+ # },
7059
7298
  # },
7060
7299
  # text_transformations: [ # required
7061
7300
  # {
@@ -7121,6 +7360,15 @@ module Aws::WAFV2
7121
7360
  # },
7122
7361
  # method: {
7123
7362
  # },
7363
+ # json_body: {
7364
+ # match_pattern: { # required
7365
+ # all: {
7366
+ # },
7367
+ # included_paths: ["JsonPointerPath"],
7368
+ # },
7369
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7370
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7371
+ # },
7124
7372
  # },
7125
7373
  # text_transformations: [ # required
7126
7374
  # {
@@ -7148,6 +7396,15 @@ module Aws::WAFV2
7148
7396
  # },
7149
7397
  # method: {
7150
7398
  # },
7399
+ # json_body: {
7400
+ # match_pattern: { # required
7401
+ # all: {
7402
+ # },
7403
+ # included_paths: ["JsonPointerPath"],
7404
+ # },
7405
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7406
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7407
+ # },
7151
7408
  # },
7152
7409
  # text_transformations: [ # required
7153
7410
  # {
@@ -7174,6 +7431,15 @@ module Aws::WAFV2
7174
7431
  # },
7175
7432
  # method: {
7176
7433
  # },
7434
+ # json_body: {
7435
+ # match_pattern: { # required
7436
+ # all: {
7437
+ # },
7438
+ # included_paths: ["JsonPointerPath"],
7439
+ # },
7440
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7441
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7442
+ # },
7177
7443
  # },
7178
7444
  # text_transformations: [ # required
7179
7445
  # {
@@ -7200,6 +7466,15 @@ module Aws::WAFV2
7200
7466
  # },
7201
7467
  # method: {
7202
7468
  # },
7469
+ # json_body: {
7470
+ # match_pattern: { # required
7471
+ # all: {
7472
+ # },
7473
+ # included_paths: ["JsonPointerPath"],
7474
+ # },
7475
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7476
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7477
+ # },
7203
7478
  # },
7204
7479
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
7205
7480
  # size: 1, # required
@@ -7252,6 +7527,15 @@ module Aws::WAFV2
7252
7527
  # },
7253
7528
  # method: {
7254
7529
  # },
7530
+ # json_body: {
7531
+ # match_pattern: { # required
7532
+ # all: {
7533
+ # },
7534
+ # included_paths: ["JsonPointerPath"],
7535
+ # },
7536
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7537
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7538
+ # },
7255
7539
  # },
7256
7540
  # text_transformations: [ # required
7257
7541
  # {
@@ -7486,13 +7770,6 @@ module Aws::WAFV2
7486
7770
  include Aws::Structure
7487
7771
  end
7488
7772
 
7489
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7490
- # in November, 2019. For information, including how to migrate your AWS
7491
- # WAF resources from the prior release, see the [AWS WAF Developer
7492
- # Guide][1].
7493
- #
7494
- # </note>
7495
- #
7496
7773
  # A tag associated with an AWS resource. Tags are key:value pairs that
7497
7774
  # you can use to categorize and manage your resources, for purposes like
7498
7775
  # billing or other management. Typically, the tag key represents a
@@ -7507,10 +7784,6 @@ module Aws::WAFV2
7507
7784
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
7508
7785
  # or view tags through the AWS WAF console.
7509
7786
  #
7510
- #
7511
- #
7512
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7513
- #
7514
7787
  # @note When making an API call, you may pass Tag
7515
7788
  # data as a hash:
7516
7789
  #
@@ -7540,13 +7813,6 @@ module Aws::WAFV2
7540
7813
  include Aws::Structure
7541
7814
  end
7542
7815
 
7543
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7544
- # in November, 2019. For information, including how to migrate your AWS
7545
- # WAF resources from the prior release, see the [AWS WAF Developer
7546
- # Guide][1].
7547
- #
7548
- # </note>
7549
- #
7550
7816
  # The collection of tagging definitions for an AWS resource. Tags are
7551
7817
  # key:value pairs that you can use to categorize and manage your
7552
7818
  # resources, for purposes like billing or other management. Typically,
@@ -7561,10 +7827,6 @@ module Aws::WAFV2
7561
7827
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
7562
7828
  # or view tags through the AWS WAF console.
7563
7829
  #
7564
- #
7565
- #
7566
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7567
- #
7568
7830
  # @!attribute [rw] resource_arn
7569
7831
  # The Amazon Resource Name (ARN) of the resource.
7570
7832
  # @return [String]
@@ -7616,20 +7878,9 @@ module Aws::WAFV2
7616
7878
  #
7617
7879
  class TagResourceResponse < Aws::EmptyStructure; end
7618
7880
 
7619
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7620
- # in November, 2019. For information, including how to migrate your AWS
7621
- # WAF resources from the prior release, see the [AWS WAF Developer
7622
- # Guide][1].
7623
- #
7624
- # </note>
7625
- #
7626
7881
  # Text transformations eliminate some of the unusual formatting that
7627
7882
  # attackers use in web requests in an effort to bypass detection.
7628
7883
  #
7629
- #
7630
- #
7631
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7632
- #
7633
7884
  # @note When making an API call, you may pass TextTransformation
7634
7885
  # data as a hash:
7635
7886
  #
@@ -7727,13 +7978,6 @@ module Aws::WAFV2
7727
7978
  include Aws::Structure
7728
7979
  end
7729
7980
 
7730
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7731
- # in November, 2019. For information, including how to migrate your AWS
7732
- # WAF resources from the prior release, see the [AWS WAF Developer
7733
- # Guide][1].
7734
- #
7735
- # </note>
7736
- #
7737
7981
  # In a GetSampledRequests request, the `StartTime` and `EndTime` objects
7738
7982
  # specify the time range for which you want AWS WAF to return a sample
7739
7983
  # of web requests.
@@ -7752,10 +7996,6 @@ module Aws::WAFV2
7752
7996
  # 5,000th request. In that case, `EndTime` is the time that AWS WAF
7753
7997
  # received the 5,000th request.
7754
7998
  #
7755
- #
7756
- #
7757
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7758
- #
7759
7999
  # @note When making an API call, you may pass TimeWindow
7760
8000
  # data as a hash:
7761
8001
  #
@@ -7860,8 +8100,7 @@ module Aws::WAFV2
7860
8100
  # @return [String]
7861
8101
  #
7862
8102
  # @!attribute [rw] description
7863
- # A description of the IP set that helps with identification. You
7864
- # cannot change the description of an IP set after you create it.
8103
+ # A description of the IP set that helps with identification.
7865
8104
  # @return [String]
7866
8105
  #
7867
8106
  # @!attribute [rw] addresses
@@ -7981,8 +8220,7 @@ module Aws::WAFV2
7981
8220
  # @return [String]
7982
8221
  #
7983
8222
  # @!attribute [rw] description
7984
- # A description of the set that helps with identification. You cannot
7985
- # change the description of a set after you create it.
8223
+ # A description of the set that helps with identification.
7986
8224
  # @return [String]
7987
8225
  #
7988
8226
  # @!attribute [rw] regular_expression_list
@@ -8059,6 +8297,15 @@ module Aws::WAFV2
8059
8297
  # },
8060
8298
  # method: {
8061
8299
  # },
8300
+ # json_body: {
8301
+ # match_pattern: { # required
8302
+ # all: {
8303
+ # },
8304
+ # included_paths: ["JsonPointerPath"],
8305
+ # },
8306
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8307
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8308
+ # },
8062
8309
  # },
8063
8310
  # text_transformations: [ # required
8064
8311
  # {
@@ -8086,6 +8333,15 @@ module Aws::WAFV2
8086
8333
  # },
8087
8334
  # method: {
8088
8335
  # },
8336
+ # json_body: {
8337
+ # match_pattern: { # required
8338
+ # all: {
8339
+ # },
8340
+ # included_paths: ["JsonPointerPath"],
8341
+ # },
8342
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8343
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8344
+ # },
8089
8345
  # },
8090
8346
  # text_transformations: [ # required
8091
8347
  # {
@@ -8112,6 +8368,15 @@ module Aws::WAFV2
8112
8368
  # },
8113
8369
  # method: {
8114
8370
  # },
8371
+ # json_body: {
8372
+ # match_pattern: { # required
8373
+ # all: {
8374
+ # },
8375
+ # included_paths: ["JsonPointerPath"],
8376
+ # },
8377
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8378
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8379
+ # },
8115
8380
  # },
8116
8381
  # text_transformations: [ # required
8117
8382
  # {
@@ -8138,6 +8403,15 @@ module Aws::WAFV2
8138
8403
  # },
8139
8404
  # method: {
8140
8405
  # },
8406
+ # json_body: {
8407
+ # match_pattern: { # required
8408
+ # all: {
8409
+ # },
8410
+ # included_paths: ["JsonPointerPath"],
8411
+ # },
8412
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8413
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8414
+ # },
8141
8415
  # },
8142
8416
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
8143
8417
  # size: 1, # required
@@ -8190,6 +8464,15 @@ module Aws::WAFV2
8190
8464
  # },
8191
8465
  # method: {
8192
8466
  # },
8467
+ # json_body: {
8468
+ # match_pattern: { # required
8469
+ # all: {
8470
+ # },
8471
+ # included_paths: ["JsonPointerPath"],
8472
+ # },
8473
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8474
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8475
+ # },
8193
8476
  # },
8194
8477
  # text_transformations: [ # required
8195
8478
  # {
@@ -8294,8 +8577,7 @@ module Aws::WAFV2
8294
8577
  # @return [String]
8295
8578
  #
8296
8579
  # @!attribute [rw] description
8297
- # A description of the rule group that helps with identification. You
8298
- # cannot change the description of a rule group after you create it.
8580
+ # A description of the rule group that helps with identification.
8299
8581
  # @return [String]
8300
8582
  #
8301
8583
  # @!attribute [rw] rules
@@ -8388,6 +8670,15 @@ module Aws::WAFV2
8388
8670
  # },
8389
8671
  # method: {
8390
8672
  # },
8673
+ # json_body: {
8674
+ # match_pattern: { # required
8675
+ # all: {
8676
+ # },
8677
+ # included_paths: ["JsonPointerPath"],
8678
+ # },
8679
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8680
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8681
+ # },
8391
8682
  # },
8392
8683
  # text_transformations: [ # required
8393
8684
  # {
@@ -8415,6 +8706,15 @@ module Aws::WAFV2
8415
8706
  # },
8416
8707
  # method: {
8417
8708
  # },
8709
+ # json_body: {
8710
+ # match_pattern: { # required
8711
+ # all: {
8712
+ # },
8713
+ # included_paths: ["JsonPointerPath"],
8714
+ # },
8715
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8716
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8717
+ # },
8418
8718
  # },
8419
8719
  # text_transformations: [ # required
8420
8720
  # {
@@ -8441,6 +8741,15 @@ module Aws::WAFV2
8441
8741
  # },
8442
8742
  # method: {
8443
8743
  # },
8744
+ # json_body: {
8745
+ # match_pattern: { # required
8746
+ # all: {
8747
+ # },
8748
+ # included_paths: ["JsonPointerPath"],
8749
+ # },
8750
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8751
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8752
+ # },
8444
8753
  # },
8445
8754
  # text_transformations: [ # required
8446
8755
  # {
@@ -8467,6 +8776,15 @@ module Aws::WAFV2
8467
8776
  # },
8468
8777
  # method: {
8469
8778
  # },
8779
+ # json_body: {
8780
+ # match_pattern: { # required
8781
+ # all: {
8782
+ # },
8783
+ # included_paths: ["JsonPointerPath"],
8784
+ # },
8785
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8786
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8787
+ # },
8470
8788
  # },
8471
8789
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
8472
8790
  # size: 1, # required
@@ -8519,6 +8837,15 @@ module Aws::WAFV2
8519
8837
  # },
8520
8838
  # method: {
8521
8839
  # },
8840
+ # json_body: {
8841
+ # match_pattern: { # required
8842
+ # all: {
8843
+ # },
8844
+ # included_paths: ["JsonPointerPath"],
8845
+ # },
8846
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8847
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8848
+ # },
8522
8849
  # },
8523
8850
  # text_transformations: [ # required
8524
8851
  # {
@@ -8628,8 +8955,7 @@ module Aws::WAFV2
8628
8955
  # @return [Types::DefaultAction]
8629
8956
  #
8630
8957
  # @!attribute [rw] description
8631
- # A description of the Web ACL that helps with identification. You
8632
- # cannot change the description of a Web ACL after you create it.
8958
+ # A description of the Web ACL that helps with identification.
8633
8959
  # @return [String]
8634
8960
  #
8635
8961
  # @!attribute [rw] rules
@@ -8685,13 +9011,6 @@ module Aws::WAFV2
8685
9011
  include Aws::Structure
8686
9012
  end
8687
9013
 
8688
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
8689
- # in November, 2019. For information, including how to migrate your AWS
8690
- # WAF resources from the prior release, see the [AWS WAF Developer
8691
- # Guide][1].
8692
- #
8693
- # </note>
8694
- #
8695
9014
  # The path component of the URI of a web request. This is the part of a
8696
9015
  # web request that identifies a resource, for example,
8697
9016
  # `/images/daily-ad.jpg`.
@@ -8699,30 +9018,15 @@ module Aws::WAFV2
8699
9018
  # This is used only to indicate the web request component for AWS WAF to
8700
9019
  # inspect, in the FieldToMatch specification.
8701
9020
  #
8702
- #
8703
- #
8704
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8705
- #
8706
9021
  # @api private
8707
9022
  #
8708
9023
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UriPath AWS API Documentation
8709
9024
  #
8710
9025
  class UriPath < Aws::EmptyStructure; end
8711
9026
 
8712
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
8713
- # in November, 2019. For information, including how to migrate your AWS
8714
- # WAF resources from the prior release, see the [AWS WAF Developer
8715
- # Guide][1].
8716
- #
8717
- # </note>
8718
- #
8719
9027
  # Defines and enables Amazon CloudWatch metrics and web request sample
8720
9028
  # collection.
8721
9029
  #
8722
- #
8723
- #
8724
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8725
- #
8726
9030
  # @note When making an API call, you may pass VisibilityConfig
8727
9031
  # data as a hash:
8728
9032
  #
@@ -9031,13 +9335,6 @@ module Aws::WAFV2
9031
9335
  include Aws::Structure
9032
9336
  end
9033
9337
 
9034
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9035
- # in November, 2019. For information, including how to migrate your AWS
9036
- # WAF resources from the prior release, see the [AWS WAF Developer
9037
- # Guide][1].
9038
- #
9039
- # </note>
9040
- #
9041
9338
  # A Web ACL defines a collection of rules to use to inspect and control
9042
9339
  # web requests. Each rule has an action defined (allow, block, or count)
9043
9340
  # for requests that match the statement of the rule. In the Web ACL, you
@@ -9048,10 +9345,6 @@ module Aws::WAFV2
9048
9345
  # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
9049
9346
  # Application Load Balancer, or an AWS AppSync GraphQL API.
9050
9347
  #
9051
- #
9052
- #
9053
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9054
- #
9055
9348
  # @!attribute [rw] name
9056
9349
  # The name of the Web ACL. You cannot change the name of a Web ACL
9057
9350
  # after you create it.
@@ -9074,8 +9367,7 @@ module Aws::WAFV2
9074
9367
  # @return [Types::DefaultAction]
9075
9368
  #
9076
9369
  # @!attribute [rw] description
9077
- # A description of the Web ACL that helps with identification. You
9078
- # cannot change the description of a Web ACL after you create it.
9370
+ # A description of the Web ACL that helps with identification.
9079
9371
  # @return [String]
9080
9372
  #
9081
9373
  # @!attribute [rw] rules
@@ -9154,22 +9446,11 @@ module Aws::WAFV2
9154
9446
  include Aws::Structure
9155
9447
  end
9156
9448
 
9157
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9158
- # in November, 2019. For information, including how to migrate your AWS
9159
- # WAF resources from the prior release, see the [AWS WAF Developer
9160
- # Guide][1].
9161
- #
9162
- # </note>
9163
- #
9164
9449
  # High-level information about a WebACL, returned by operations like
9165
9450
  # create and list. This provides information like the ID, that you can
9166
9451
  # use to retrieve and manage a `WebACL`, and the ARN, that you provide
9167
9452
  # to operations like AssociateWebACL.
9168
9453
  #
9169
- #
9170
- #
9171
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9172
- #
9173
9454
  # @!attribute [rw] name
9174
9455
  # The name of the Web ACL. You cannot change the name of a Web ACL
9175
9456
  # after you create it.
@@ -9182,8 +9463,7 @@ module Aws::WAFV2
9182
9463
  # @return [String]
9183
9464
  #
9184
9465
  # @!attribute [rw] description
9185
- # A description of the Web ACL that helps with identification. You
9186
- # cannot change the description of a Web ACL after you create it.
9466
+ # A description of the Web ACL that helps with identification.
9187
9467
  # @return [String]
9188
9468
  #
9189
9469
  # @!attribute [rw] lock_token
@@ -9214,13 +9494,6 @@ module Aws::WAFV2
9214
9494
  include Aws::Structure
9215
9495
  end
9216
9496
 
9217
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9218
- # in November, 2019. For information, including how to migrate your AWS
9219
- # WAF resources from the prior release, see the [AWS WAF Developer
9220
- # Guide][1].
9221
- #
9222
- # </note>
9223
- #
9224
9497
  # A rule statement that defines a cross-site scripting (XSS) match
9225
9498
  # search for AWS WAF to apply to web requests. XSS attacks are those
9226
9499
  # where the attacker uses vulnerabilities in a benign website as a
@@ -9230,10 +9503,6 @@ module Aws::WAFV2
9230
9503
  # use on the search area before AWS WAF searches for character sequences
9231
9504
  # that are likely to be malicious strings.
9232
9505
  #
9233
- #
9234
- #
9235
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9236
- #
9237
9506
  # @note When making an API call, you may pass XssMatchStatement
9238
9507
  # data as a hash:
9239
9508
  #
@@ -9255,6 +9524,15 @@ module Aws::WAFV2
9255
9524
  # },
9256
9525
  # method: {
9257
9526
  # },
9527
+ # json_body: {
9528
+ # match_pattern: { # required
9529
+ # all: {
9530
+ # },
9531
+ # included_paths: ["JsonPointerPath"],
9532
+ # },
9533
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
9534
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
9535
+ # },
9258
9536
  # },
9259
9537
  # text_transformations: [ # required
9260
9538
  # {