aws-sdk-wafv2 1.11.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
  # {
@@ -308,8 +333,11 @@ module Aws::WAFV2
308
333
  # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
309
334
  # `
310
335
  #
311
- # * For an Amazon API Gateway stage:
336
+ # * For an API Gateway REST API:
312
337
  # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
338
+ #
339
+ # * For an AppSync GraphQL API:
340
+ # `arn:aws:appsync:region:account-id:apis/GraphQLApiId `
313
341
  # @return [String]
314
342
  #
315
343
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AssociateWebACLRequest AWS API Documentation
@@ -325,58 +353,29 @@ module Aws::WAFV2
325
353
  #
326
354
  class AssociateWebACLResponse < Aws::EmptyStructure; end
327
355
 
328
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
329
- # in November, 2019. For information, including how to migrate your AWS
330
- # WAF resources from the prior release, see the [AWS WAF Developer
331
- # Guide][1].
332
- #
333
- # </note>
334
- #
335
356
  # Specifies that AWS WAF should block requests.
336
357
  #
337
358
  # This is used only in the context of other settings, for example to
338
359
  # specify values for RuleAction and web ACL DefaultAction.
339
360
  #
340
- #
341
- #
342
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
343
- #
344
361
  # @api private
345
362
  #
346
363
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/BlockAction AWS API Documentation
347
364
  #
348
365
  class BlockAction < Aws::EmptyStructure; end
349
366
 
350
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
351
- # in November, 2019. For information, including how to migrate your AWS
352
- # WAF resources from the prior release, see the [AWS WAF Developer
353
- # Guide][1].
354
- #
355
- # </note>
356
- #
357
367
  # The body of a web request. This immediately follows the request
358
368
  # headers.
359
369
  #
360
370
  # This is used only to indicate the web request component for AWS WAF to
361
371
  # inspect, in the FieldToMatch specification.
362
372
  #
363
- #
364
- #
365
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
366
- #
367
373
  # @api private
368
374
  #
369
375
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Body AWS API Documentation
370
376
  #
371
377
  class Body < Aws::EmptyStructure; end
372
378
 
373
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
374
- # in November, 2019. For information, including how to migrate your AWS
375
- # WAF resources from the prior release, see the [AWS WAF Developer
376
- # Guide][1].
377
- #
378
- # </note>
379
- #
380
379
  # A rule statement that defines a string match search for AWS WAF to
381
380
  # apply to web requests. The byte match statement provides the bytes to
382
381
  # search for, the location in requests that you want AWS WAF to search,
@@ -384,10 +383,6 @@ module Aws::WAFV2
384
383
  # that corresponds with ASCII characters. In the AWS WAF console and the
385
384
  # developer guide, this is refered to as a string match statement.
386
385
  #
387
- #
388
- #
389
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
390
- #
391
386
  # @note When making an API call, you may pass ByteMatchStatement
392
387
  # data as a hash:
393
388
  #
@@ -410,6 +405,15 @@ module Aws::WAFV2
410
405
  # },
411
406
  # method: {
412
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
+ # },
413
417
  # },
414
418
  # text_transformations: [ # required
415
419
  # {
@@ -551,6 +555,15 @@ module Aws::WAFV2
551
555
  # },
552
556
  # method: {
553
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
+ # },
554
567
  # },
555
568
  # text_transformations: [ # required
556
569
  # {
@@ -578,6 +591,15 @@ module Aws::WAFV2
578
591
  # },
579
592
  # method: {
580
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
+ # },
581
603
  # },
582
604
  # text_transformations: [ # required
583
605
  # {
@@ -604,6 +626,15 @@ module Aws::WAFV2
604
626
  # },
605
627
  # method: {
606
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
+ # },
607
638
  # },
608
639
  # text_transformations: [ # required
609
640
  # {
@@ -630,6 +661,15 @@ module Aws::WAFV2
630
661
  # },
631
662
  # method: {
632
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
+ # },
633
673
  # },
634
674
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
635
675
  # size: 1, # required
@@ -682,6 +722,15 @@ module Aws::WAFV2
682
722
  # },
683
723
  # method: {
684
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
+ # },
685
734
  # },
686
735
  # text_transformations: [ # required
687
736
  # {
@@ -756,7 +805,8 @@ module Aws::WAFV2
756
805
  # @!attribute [rw] scope
757
806
  # Specifies whether this is for an AWS CloudFront distribution or for
758
807
  # a regional application. A regional application can be an Application
759
- # Load Balancer (ALB) or an API Gateway stage.
808
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
809
+ # API.
760
810
  #
761
811
  # To work with CloudFront, you must also specify the Region US East
762
812
  # (N. Virginia) as follows:
@@ -793,22 +843,11 @@ module Aws::WAFV2
793
843
  include Aws::Structure
794
844
  end
795
845
 
796
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
797
- # in November, 2019. For information, including how to migrate your AWS
798
- # WAF resources from the prior release, see the [AWS WAF Developer
799
- # Guide][1].
800
- #
801
- # </note>
802
- #
803
846
  # Specifies that AWS WAF should count requests.
804
847
  #
805
848
  # This is used only in the context of other settings, for example to
806
849
  # specify values for RuleAction and web ACL DefaultAction.
807
850
  #
808
- #
809
- #
810
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
811
- #
812
851
  # @api private
813
852
  #
814
853
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CountAction AWS API Documentation
@@ -840,7 +879,8 @@ module Aws::WAFV2
840
879
  # @!attribute [rw] scope
841
880
  # Specifies whether this is for an AWS CloudFront distribution or for
842
881
  # a regional application. A regional application can be an Application
843
- # Load Balancer (ALB) or an API Gateway stage.
882
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
883
+ # API.
844
884
  #
845
885
  # To work with CloudFront, you must also specify the Region US East
846
886
  # (N. Virginia) as follows:
@@ -852,8 +892,7 @@ module Aws::WAFV2
852
892
  # @return [String]
853
893
  #
854
894
  # @!attribute [rw] description
855
- # A description of the IP set that helps with identification. You
856
- # cannot change the description of an IP set after you create it.
895
+ # A description of the IP set that helps with identification.
857
896
  # @return [String]
858
897
  #
859
898
  # @!attribute [rw] ip_address_version
@@ -955,7 +994,8 @@ module Aws::WAFV2
955
994
  # @!attribute [rw] scope
956
995
  # Specifies whether this is for an AWS CloudFront distribution or for
957
996
  # a regional application. A regional application can be an Application
958
- # Load Balancer (ALB) or an API Gateway stage.
997
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
998
+ # API.
959
999
  #
960
1000
  # To work with CloudFront, you must also specify the Region US East
961
1001
  # (N. Virginia) as follows:
@@ -967,8 +1007,7 @@ module Aws::WAFV2
967
1007
  # @return [String]
968
1008
  #
969
1009
  # @!attribute [rw] description
970
- # A description of the set that helps with identification. You cannot
971
- # change the description of a set after you create it.
1010
+ # A description of the set that helps with identification.
972
1011
  # @return [String]
973
1012
  #
974
1013
  # @!attribute [rw] regular_expression_list
@@ -1039,6 +1078,15 @@ module Aws::WAFV2
1039
1078
  # },
1040
1079
  # method: {
1041
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
+ # },
1042
1090
  # },
1043
1091
  # text_transformations: [ # required
1044
1092
  # {
@@ -1066,6 +1114,15 @@ module Aws::WAFV2
1066
1114
  # },
1067
1115
  # method: {
1068
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
+ # },
1069
1126
  # },
1070
1127
  # text_transformations: [ # required
1071
1128
  # {
@@ -1092,6 +1149,15 @@ module Aws::WAFV2
1092
1149
  # },
1093
1150
  # method: {
1094
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
+ # },
1095
1161
  # },
1096
1162
  # text_transformations: [ # required
1097
1163
  # {
@@ -1118,6 +1184,15 @@ module Aws::WAFV2
1118
1184
  # },
1119
1185
  # method: {
1120
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
+ # },
1121
1196
  # },
1122
1197
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1123
1198
  # size: 1, # required
@@ -1170,6 +1245,15 @@ module Aws::WAFV2
1170
1245
  # },
1171
1246
  # method: {
1172
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
+ # },
1173
1257
  # },
1174
1258
  # text_transformations: [ # required
1175
1259
  # {
@@ -1260,7 +1344,8 @@ module Aws::WAFV2
1260
1344
  # @!attribute [rw] scope
1261
1345
  # Specifies whether this is for an AWS CloudFront distribution or for
1262
1346
  # a regional application. A regional application can be an Application
1263
- # Load Balancer (ALB) or an API Gateway stage.
1347
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1348
+ # API.
1264
1349
  #
1265
1350
  # To work with CloudFront, you must also specify the Region US East
1266
1351
  # (N. Virginia) as follows:
@@ -1290,8 +1375,7 @@ module Aws::WAFV2
1290
1375
  # @return [Integer]
1291
1376
  #
1292
1377
  # @!attribute [rw] description
1293
- # A description of the rule group that helps with identification. You
1294
- # cannot change the description of a rule group after you create it.
1378
+ # A description of the rule group that helps with identification.
1295
1379
  # @return [String]
1296
1380
  #
1297
1381
  # @!attribute [rw] rules
@@ -1377,6 +1461,15 @@ module Aws::WAFV2
1377
1461
  # },
1378
1462
  # method: {
1379
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
+ # },
1380
1473
  # },
1381
1474
  # text_transformations: [ # required
1382
1475
  # {
@@ -1404,6 +1497,15 @@ module Aws::WAFV2
1404
1497
  # },
1405
1498
  # method: {
1406
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
+ # },
1407
1509
  # },
1408
1510
  # text_transformations: [ # required
1409
1511
  # {
@@ -1430,6 +1532,15 @@ module Aws::WAFV2
1430
1532
  # },
1431
1533
  # method: {
1432
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
+ # },
1433
1544
  # },
1434
1545
  # text_transformations: [ # required
1435
1546
  # {
@@ -1456,6 +1567,15 @@ module Aws::WAFV2
1456
1567
  # },
1457
1568
  # method: {
1458
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
+ # },
1459
1579
  # },
1460
1580
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
1461
1581
  # size: 1, # required
@@ -1508,6 +1628,15 @@ module Aws::WAFV2
1508
1628
  # },
1509
1629
  # method: {
1510
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
+ # },
1511
1640
  # },
1512
1641
  # text_transformations: [ # required
1513
1642
  # {
@@ -1598,7 +1727,8 @@ module Aws::WAFV2
1598
1727
  # @!attribute [rw] scope
1599
1728
  # Specifies whether this is for an AWS CloudFront distribution or for
1600
1729
  # a regional application. A regional application can be an Application
1601
- # Load Balancer (ALB) or an API Gateway stage.
1730
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1731
+ # API.
1602
1732
  #
1603
1733
  # To work with CloudFront, you must also specify the Region US East
1604
1734
  # (N. Virginia) as follows:
@@ -1615,8 +1745,7 @@ module Aws::WAFV2
1615
1745
  # @return [Types::DefaultAction]
1616
1746
  #
1617
1747
  # @!attribute [rw] description
1618
- # A description of the Web ACL that helps with identification. You
1619
- # cannot change the description of a Web ACL after you create it.
1748
+ # A description of the Web ACL that helps with identification.
1620
1749
  # @return [String]
1621
1750
  #
1622
1751
  # @!attribute [rw] rules
@@ -1664,21 +1793,10 @@ module Aws::WAFV2
1664
1793
  include Aws::Structure
1665
1794
  end
1666
1795
 
1667
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1668
- # in November, 2019. For information, including how to migrate your AWS
1669
- # WAF resources from the prior release, see the [AWS WAF Developer
1670
- # Guide][1].
1671
- #
1672
- # </note>
1673
- #
1674
1796
  # In a WebACL, this is the action that you want AWS WAF to perform when
1675
1797
  # a web request doesn't match any of the rules in the `WebACL`. The
1676
1798
  # default action must be a terminating action, so count is not allowed.
1677
1799
  #
1678
- #
1679
- #
1680
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1681
- #
1682
1800
  # @note When making an API call, you may pass DefaultAction
1683
1801
  # data as a hash:
1684
1802
  #
@@ -1777,7 +1895,8 @@ module Aws::WAFV2
1777
1895
  # @!attribute [rw] scope
1778
1896
  # Specifies whether this is for an AWS CloudFront distribution or for
1779
1897
  # a regional application. A regional application can be an Application
1780
- # Load Balancer (ALB) or an API Gateway stage.
1898
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
1899
+ # API.
1781
1900
  #
1782
1901
  # To work with CloudFront, you must also specify the Region US East
1783
1902
  # (N. Virginia) as follows:
@@ -1889,7 +2008,8 @@ module Aws::WAFV2
1889
2008
  # @!attribute [rw] scope
1890
2009
  # Specifies whether this is for an AWS CloudFront distribution or for
1891
2010
  # a regional application. A regional application can be an Application
1892
- # Load Balancer (ALB) or an API Gateway stage.
2011
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2012
+ # API.
1893
2013
  #
1894
2014
  # To work with CloudFront, you must also specify the Region US East
1895
2015
  # (N. Virginia) as follows:
@@ -1951,7 +2071,8 @@ module Aws::WAFV2
1951
2071
  # @!attribute [rw] scope
1952
2072
  # Specifies whether this is for an AWS CloudFront distribution or for
1953
2073
  # a regional application. A regional application can be an Application
1954
- # Load Balancer (ALB) or an API Gateway stage.
2074
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2075
+ # API.
1955
2076
  #
1956
2077
  # To work with CloudFront, you must also specify the Region US East
1957
2078
  # (N. Virginia) as follows:
@@ -2013,7 +2134,8 @@ module Aws::WAFV2
2013
2134
  # @!attribute [rw] scope
2014
2135
  # Specifies whether this is for an AWS CloudFront distribution or for
2015
2136
  # a regional application. A regional application can be an Application
2016
- # Load Balancer (ALB) or an API Gateway stage.
2137
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2138
+ # API.
2017
2139
  #
2018
2140
  # To work with CloudFront, you must also specify the Region US East
2019
2141
  # (N. Virginia) as follows:
@@ -2079,7 +2201,8 @@ module Aws::WAFV2
2079
2201
  # @!attribute [rw] scope
2080
2202
  # Specifies whether this is for an AWS CloudFront distribution or for
2081
2203
  # a regional application. A regional application can be an Application
2082
- # Load Balancer (ALB) or an API Gateway stage.
2204
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2205
+ # API.
2083
2206
  #
2084
2207
  # To work with CloudFront, you must also specify the Region US East
2085
2208
  # (N. Virginia) as follows:
@@ -2139,8 +2262,11 @@ module Aws::WAFV2
2139
2262
  # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
2140
2263
  # `
2141
2264
  #
2142
- # * For an Amazon API Gateway stage:
2265
+ # * For an API Gateway REST API:
2143
2266
  # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
2267
+ #
2268
+ # * For an AppSync GraphQL API:
2269
+ # `arn:aws:appsync:region:account-id:apis/GraphQLApiId `
2144
2270
  # @return [String]
2145
2271
  #
2146
2272
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DisassociateWebACLRequest AWS API Documentation
@@ -2155,22 +2281,11 @@ module Aws::WAFV2
2155
2281
  #
2156
2282
  class DisassociateWebACLResponse < Aws::EmptyStructure; end
2157
2283
 
2158
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2159
- # in November, 2019. For information, including how to migrate your AWS
2160
- # WAF resources from the prior release, see the [AWS WAF Developer
2161
- # Guide][1].
2162
- #
2163
- # </note>
2164
- #
2165
2284
  # Specifies a single rule to exclude from the rule group. Excluding a
2166
2285
  # rule overrides its action setting for the rule group in the web ACL,
2167
2286
  # setting it to `COUNT`. This effectively excludes the rule from acting
2168
2287
  # on web requests.
2169
2288
  #
2170
- #
2171
- #
2172
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2173
- #
2174
2289
  # @note When making an API call, you may pass ExcludedRule
2175
2290
  # data as a hash:
2176
2291
  #
@@ -2190,13 +2305,6 @@ module Aws::WAFV2
2190
2305
  include Aws::Structure
2191
2306
  end
2192
2307
 
2193
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2194
- # in November, 2019. For information, including how to migrate your AWS
2195
- # WAF resources from the prior release, see the [AWS WAF Developer
2196
- # Guide][1].
2197
- #
2198
- # </note>
2199
- #
2200
2308
  # The part of a web request that you want AWS WAF to inspect. Include
2201
2309
  # the single `FieldToMatch` type that you want to inspect, with
2202
2310
  # additional specifications as needed, according to the type. You
@@ -2204,10 +2312,6 @@ module Aws::WAFV2
2204
2312
  # statement that requires it. To inspect more than one component of a
2205
2313
  # web request, create a separate rule statement for each component.
2206
2314
  #
2207
- #
2208
- #
2209
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2210
- #
2211
2315
  # @note When making an API call, you may pass FieldToMatch
2212
2316
  # data as a hash:
2213
2317
  #
@@ -2228,6 +2332,15 @@ module Aws::WAFV2
2228
2332
  # },
2229
2333
  # method: {
2230
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
+ # },
2231
2344
  # }
2232
2345
  #
2233
2346
  # @!attribute [rw] single_header
@@ -2260,10 +2373,10 @@ module Aws::WAFV2
2260
2373
  # @return [Types::QueryString]
2261
2374
  #
2262
2375
  # @!attribute [rw] body
2263
- # Inspect the request body, which immediately follows the request
2264
- # headers. This is the part of a request that contains any additional
2265
- # data that you want to send to your web server as the HTTP request
2266
- # 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.
2267
2380
  #
2268
2381
  # Note that only the first 8 KB (8192 bytes) of the request body are
2269
2382
  # forwarded to AWS WAF for inspection by the underlying host service.
@@ -2281,6 +2394,23 @@ module Aws::WAFV2
2281
2394
  # that the request is asking the origin to perform.
2282
2395
  # @return [Types::Method]
2283
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
+ #
2284
2414
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FieldToMatch AWS API Documentation
2285
2415
  #
2286
2416
  class FieldToMatch < Struct.new(
@@ -2290,7 +2420,8 @@ module Aws::WAFV2
2290
2420
  :uri_path,
2291
2421
  :query_string,
2292
2422
  :body,
2293
- :method)
2423
+ :method,
2424
+ :json_body)
2294
2425
  SENSITIVE = []
2295
2426
  include Aws::Structure
2296
2427
  end
@@ -2336,19 +2467,8 @@ module Aws::WAFV2
2336
2467
  # @return [Types::OverrideAction]
2337
2468
  #
2338
2469
  # @!attribute [rw] visibility_config
2339
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2340
- # in November, 2019. For information, including how to migrate your
2341
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2342
- # Guide][1].
2343
- #
2344
- # </note>
2345
- #
2346
2470
  # Defines and enables Amazon CloudWatch metrics and web request sample
2347
2471
  # collection.
2348
- #
2349
- #
2350
- #
2351
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2352
2472
  # @return [Types::VisibilityConfig]
2353
2473
  #
2354
2474
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerRuleGroup AWS API Documentation
@@ -2368,13 +2488,6 @@ module Aws::WAFV2
2368
2488
  # reference.
2369
2489
  #
2370
2490
  # @!attribute [rw] managed_rule_group_statement
2371
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2372
- # in November, 2019. For information, including how to migrate your
2373
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2374
- # Guide][1].
2375
- #
2376
- # </note>
2377
- #
2378
2491
  # A rule statement used to run the rules that are defined in a managed
2379
2492
  # rule group. To use this, provide the vendor name and the name of the
2380
2493
  # rule group in this statement. You can retrieve the required names by
@@ -2383,20 +2496,9 @@ module Aws::WAFV2
2383
2496
  # You can't nest a `ManagedRuleGroupStatement`, for example for use
2384
2497
  # inside a `NotStatement` or `OrStatement`. It can only be referenced
2385
2498
  # as a top-level statement within a rule.
2386
- #
2387
- #
2388
- #
2389
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2390
2499
  # @return [Types::ManagedRuleGroupStatement]
2391
2500
  #
2392
2501
  # @!attribute [rw] rule_group_reference_statement
2393
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2394
- # in November, 2019. For information, including how to migrate your
2395
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
2396
- # Guide][1].
2397
- #
2398
- # </note>
2399
- #
2400
2502
  # A rule statement used to run the rules that are defined in a
2401
2503
  # RuleGroup. To use this, create a rule group with your rules, then
2402
2504
  # provide the ARN of the rule group in this statement.
@@ -2404,10 +2506,6 @@ module Aws::WAFV2
2404
2506
  # You cannot nest a `RuleGroupReferenceStatement`, for example for use
2405
2507
  # inside a `NotStatement` or `OrStatement`. It can only be referenced
2406
2508
  # as a top-level statement within a rule.
2407
- #
2408
- #
2409
- #
2410
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2411
2509
  # @return [Types::RuleGroupReferenceStatement]
2412
2510
  #
2413
2511
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerStatement AWS API Documentation
@@ -2466,10 +2564,10 @@ module Aws::WAFV2
2466
2564
  #
2467
2565
  # You can specify the following fallback behaviors:
2468
2566
  #
2469
- # * MATCH - Treat the web request as matching the rule statement. AWS
2470
- # 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.
2471
2569
  #
2472
- # * NO\_MATCH - Treat the web request as not matching the rule
2570
+ # * `NO_MATCH` - Treat the web request as not matching the rule
2473
2571
  # statement.
2474
2572
  # @return [String]
2475
2573
  #
@@ -2482,20 +2580,9 @@ module Aws::WAFV2
2482
2580
  include Aws::Structure
2483
2581
  end
2484
2582
 
2485
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2486
- # in November, 2019. For information, including how to migrate your AWS
2487
- # WAF resources from the prior release, see the [AWS WAF Developer
2488
- # Guide][1].
2489
- #
2490
- # </note>
2491
- #
2492
2583
  # A rule statement used to identify web requests based on country of
2493
2584
  # origin.
2494
2585
  #
2495
- #
2496
- #
2497
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2498
- #
2499
2586
  # @note When making an API call, you may pass GeoMatchStatement
2500
2587
  # data as a hash:
2501
2588
  #
@@ -2551,7 +2638,8 @@ module Aws::WAFV2
2551
2638
  # @!attribute [rw] scope
2552
2639
  # Specifies whether this is for an AWS CloudFront distribution or for
2553
2640
  # a regional application. A regional application can be an Application
2554
- # Load Balancer (ALB) or an API Gateway stage.
2641
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2642
+ # API.
2555
2643
  #
2556
2644
  # To work with CloudFront, you must also specify the Region US East
2557
2645
  # (N. Virginia) as follows:
@@ -2679,7 +2767,8 @@ module Aws::WAFV2
2679
2767
  # @!attribute [rw] scope
2680
2768
  # Specifies whether this is for an AWS CloudFront distribution or for
2681
2769
  # a regional application. A regional application can be an Application
2682
- # Load Balancer (ALB) or an API Gateway stage.
2770
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2771
+ # API.
2683
2772
  #
2684
2773
  # To work with CloudFront, you must also specify the Region US East
2685
2774
  # (N. Virginia) as follows:
@@ -2750,7 +2839,8 @@ module Aws::WAFV2
2750
2839
  # @!attribute [rw] scope
2751
2840
  # Specifies whether this is for an AWS CloudFront distribution or for
2752
2841
  # a regional application. A regional application can be an Application
2753
- # Load Balancer (ALB) or an API Gateway stage.
2842
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2843
+ # API.
2754
2844
  #
2755
2845
  # To work with CloudFront, you must also specify the Region US East
2756
2846
  # (N. Virginia) as follows:
@@ -2818,7 +2908,8 @@ module Aws::WAFV2
2818
2908
  # @!attribute [rw] scope
2819
2909
  # Specifies whether this is for an AWS CloudFront distribution or for
2820
2910
  # a regional application. A regional application can be an Application
2821
- # Load Balancer (ALB) or an API Gateway stage.
2911
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2912
+ # API.
2822
2913
  #
2823
2914
  # To work with CloudFront, you must also specify the Region US East
2824
2915
  # (N. Virginia) as follows:
@@ -2896,7 +2987,8 @@ module Aws::WAFV2
2896
2987
  # @!attribute [rw] scope
2897
2988
  # Specifies whether this is for an AWS CloudFront distribution or for
2898
2989
  # a regional application. A regional application can be an Application
2899
- # Load Balancer (ALB) or an API Gateway stage.
2990
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
2991
+ # API.
2900
2992
  #
2901
2993
  # To work with CloudFront, you must also specify the Region US East
2902
2994
  # (N. Virginia) as follows:
@@ -2913,7 +3005,8 @@ module Aws::WAFV2
2913
3005
  # You must specify the times in Coordinated Universal Time (UTC)
2914
3006
  # format. UTC format includes the special designator, `Z`. For
2915
3007
  # example, `"2016-09-27T14:50Z"`. You can specify any time range in
2916
- # 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.
2917
3010
  # @return [Types::TimeWindow]
2918
3011
  #
2919
3012
  # @!attribute [rw] max_items
@@ -3016,7 +3109,8 @@ module Aws::WAFV2
3016
3109
  # @!attribute [rw] scope
3017
3110
  # Specifies whether this is for an AWS CloudFront distribution or for
3018
3111
  # a regional application. A regional application can be an Application
3019
- # Load Balancer (ALB) or an API Gateway stage.
3112
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3113
+ # API.
3020
3114
  #
3021
3115
  # To work with CloudFront, you must also specify the Region US East
3022
3116
  # (N. Virginia) as follows:
@@ -3069,22 +3163,11 @@ module Aws::WAFV2
3069
3163
  include Aws::Structure
3070
3164
  end
3071
3165
 
3072
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3073
- # in November, 2019. For information, including how to migrate your AWS
3074
- # WAF resources from the prior release, see the [AWS WAF Developer
3075
- # Guide][1].
3076
- #
3077
- # </note>
3078
- #
3079
3166
  # Part of the response from GetSampledRequests. This is a complex type
3080
3167
  # that appears as `Headers` in the response syntax. `HTTPHeader`
3081
3168
  # contains the names and values of all of the headers that appear in one
3082
3169
  # of the web requests.
3083
3170
  #
3084
- #
3085
- #
3086
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3087
- #
3088
3171
  # @!attribute [rw] name
3089
3172
  # The name of the HTTP header.
3090
3173
  # @return [String]
@@ -3102,21 +3185,10 @@ module Aws::WAFV2
3102
3185
  include Aws::Structure
3103
3186
  end
3104
3187
 
3105
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3106
- # in November, 2019. For information, including how to migrate your AWS
3107
- # WAF resources from the prior release, see the [AWS WAF Developer
3108
- # Guide][1].
3109
- #
3110
- # </note>
3111
- #
3112
3188
  # Part of the response from GetSampledRequests. This is a complex type
3113
3189
  # that appears as `Request` in the response syntax. `HTTPRequest`
3114
3190
  # contains information about one of the web requests.
3115
3191
  #
3116
- #
3117
- #
3118
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3119
- #
3120
3192
  # @!attribute [rw] client_ip
3121
3193
  # The IP address that the request originated from. If the web ACL is
3122
3194
  # associated with a CloudFront distribution, this is the value of one
@@ -3171,17 +3243,10 @@ module Aws::WAFV2
3171
3243
  include Aws::Structure
3172
3244
  end
3173
3245
 
3174
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3175
- # in November, 2019. For information, including how to migrate your AWS
3176
- # WAF resources from the prior release, see the [AWS WAF Developer
3177
- # Guide][1].
3178
- #
3179
- # </note>
3180
- #
3181
3246
  # Contains one or more IP addresses or blocks of IP addresses specified
3182
3247
  # in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports
3183
3248
  # any CIDR range. For information about CIDR notation, see the Wikipedia
3184
- # entry [Classless Inter-Domain Routing][2].
3249
+ # entry [Classless Inter-Domain Routing][1].
3185
3250
  #
3186
3251
  # AWS WAF assigns an ARN to each `IPSet` that you create. To use an IP
3187
3252
  # set in a rule, you provide the ARN to the Rule statement
@@ -3189,8 +3254,7 @@ module Aws::WAFV2
3189
3254
  #
3190
3255
  #
3191
3256
  #
3192
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3193
- # [2]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
3257
+ # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
3194
3258
  #
3195
3259
  # @!attribute [rw] name
3196
3260
  # The name of the IP set. You cannot change the name of an `IPSet`
@@ -3208,8 +3272,7 @@ module Aws::WAFV2
3208
3272
  # @return [String]
3209
3273
  #
3210
3274
  # @!attribute [rw] description
3211
- # A description of the IP set that helps with identification. You
3212
- # cannot change the description of an IP set after you create it.
3275
+ # A description of the IP set that helps with identification.
3213
3276
  # @return [String]
3214
3277
  #
3215
3278
  # @!attribute [rw] ip_address_version
@@ -3309,10 +3372,10 @@ module Aws::WAFV2
3309
3372
  #
3310
3373
  # You can specify the following fallback behaviors:
3311
3374
  #
3312
- # * MATCH - Treat the web request as matching the rule statement. AWS
3313
- # 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.
3314
3377
  #
3315
- # * NO\_MATCH - Treat the web request as not matching the rule
3378
+ # * `NO_MATCH` - Treat the web request as not matching the rule
3316
3379
  # statement.
3317
3380
  # @return [String]
3318
3381
  #
@@ -3346,13 +3409,6 @@ module Aws::WAFV2
3346
3409
  include Aws::Structure
3347
3410
  end
3348
3411
 
3349
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3350
- # in November, 2019. For information, including how to migrate your AWS
3351
- # WAF resources from the prior release, see the [AWS WAF Developer
3352
- # Guide][1].
3353
- #
3354
- # </note>
3355
- #
3356
3412
  # A rule statement used to detect web requests coming from particular IP
3357
3413
  # addresses or address ranges. To use this, create an IPSet that
3358
3414
  # specifies the addresses you want to detect, then use the ARN of that
@@ -3363,10 +3419,6 @@ module Aws::WAFV2
3363
3419
  # single set in multiple rules. When you update the referenced set, AWS
3364
3420
  # WAF automatically updates all rules that reference it.
3365
3421
  #
3366
- #
3367
- #
3368
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3369
- #
3370
3422
  # @note When making an API call, you may pass IPSetReferenceStatement
3371
3423
  # data as a hash:
3372
3424
  #
@@ -3405,22 +3457,11 @@ module Aws::WAFV2
3405
3457
  include Aws::Structure
3406
3458
  end
3407
3459
 
3408
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3409
- # in November, 2019. For information, including how to migrate your AWS
3410
- # WAF resources from the prior release, see the [AWS WAF Developer
3411
- # Guide][1].
3412
- #
3413
- # </note>
3414
- #
3415
3460
  # High-level information about an IPSet, returned by operations like
3416
3461
  # create and list. This provides information like the ID, that you can
3417
3462
  # use to retrieve and manage an `IPSet`, and the ARN, that you provide
3418
3463
  # to the IPSetReferenceStatement to use the address set in a Rule.
3419
3464
  #
3420
- #
3421
- #
3422
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3423
- #
3424
3465
  # @!attribute [rw] name
3425
3466
  # The name of the IP set. You cannot change the name of an `IPSet`
3426
3467
  # after you create it.
@@ -3433,8 +3474,7 @@ module Aws::WAFV2
3433
3474
  # @return [String]
3434
3475
  #
3435
3476
  # @!attribute [rw] description
3436
- # A description of the IP set that helps with identification. You
3437
- # cannot change the description of an IP set after you create it.
3477
+ # A description of the IP set that helps with identification.
3438
3478
  # @return [String]
3439
3479
  #
3440
3480
  # @!attribute [rw] lock_token
@@ -3465,6 +3505,123 @@ module Aws::WAFV2
3465
3505
  include Aws::Structure
3466
3506
  end
3467
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
+
3468
3625
  # @note When making an API call, you may pass ListAvailableManagedRuleGroupsRequest
3469
3626
  # data as a hash:
3470
3627
  #
@@ -3477,7 +3634,8 @@ module Aws::WAFV2
3477
3634
  # @!attribute [rw] scope
3478
3635
  # Specifies whether this is for an AWS CloudFront distribution or for
3479
3636
  # a regional application. A regional application can be an Application
3480
- # Load Balancer (ALB) or an API Gateway stage.
3637
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3638
+ # API.
3481
3639
  #
3482
3640
  # To work with CloudFront, you must also specify the Region US East
3483
3641
  # (N. Virginia) as follows:
@@ -3545,7 +3703,8 @@ module Aws::WAFV2
3545
3703
  # @!attribute [rw] scope
3546
3704
  # Specifies whether this is for an AWS CloudFront distribution or for
3547
3705
  # a regional application. A regional application can be an Application
3548
- # Load Balancer (ALB) or an API Gateway stage.
3706
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3707
+ # API.
3549
3708
  #
3550
3709
  # To work with CloudFront, you must also specify the Region US East
3551
3710
  # (N. Virginia) as follows:
@@ -3615,7 +3774,8 @@ module Aws::WAFV2
3615
3774
  # @!attribute [rw] scope
3616
3775
  # Specifies whether this is for an AWS CloudFront distribution or for
3617
3776
  # a regional application. A regional application can be an Application
3618
- # Load Balancer (ALB) or an API Gateway stage.
3777
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3778
+ # API.
3619
3779
  #
3620
3780
  # To work with CloudFront, you must also specify the Region US East
3621
3781
  # (N. Virginia) as follows:
@@ -3683,7 +3843,8 @@ module Aws::WAFV2
3683
3843
  # @!attribute [rw] scope
3684
3844
  # Specifies whether this is for an AWS CloudFront distribution or for
3685
3845
  # a regional application. A regional application can be an Application
3686
- # Load Balancer (ALB) or an API Gateway stage.
3846
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3847
+ # API.
3687
3848
  #
3688
3849
  # To work with CloudFront, you must also specify the Region US East
3689
3850
  # (N. Virginia) as follows:
@@ -3744,7 +3905,7 @@ module Aws::WAFV2
3744
3905
  #
3745
3906
  # {
3746
3907
  # web_acl_arn: "ResourceArn", # required
3747
- # resource_type: "APPLICATION_LOAD_BALANCER", # accepts APPLICATION_LOAD_BALANCER, API_GATEWAY
3908
+ # resource_type: "APPLICATION_LOAD_BALANCER", # accepts APPLICATION_LOAD_BALANCER, API_GATEWAY, APPSYNC
3748
3909
  # }
3749
3910
  #
3750
3911
  # @!attribute [rw] web_acl_arn
@@ -3753,8 +3914,8 @@ module Aws::WAFV2
3753
3914
  #
3754
3915
  # @!attribute [rw] resource_type
3755
3916
  # Used for web ACLs that are scoped for regional applications. A
3756
- # regional application can be an Application Load Balancer (ALB) or an
3757
- # API Gateway stage.
3917
+ # regional application can be an Application Load Balancer (ALB), an
3918
+ # API Gateway REST API, or an AppSync GraphQL API.
3758
3919
  # @return [String]
3759
3920
  #
3760
3921
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListResourcesForWebACLRequest AWS API Documentation
@@ -3791,7 +3952,8 @@ module Aws::WAFV2
3791
3952
  # @!attribute [rw] scope
3792
3953
  # Specifies whether this is for an AWS CloudFront distribution or for
3793
3954
  # a regional application. A regional application can be an Application
3794
- # Load Balancer (ALB) or an API Gateway stage.
3955
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
3956
+ # API.
3795
3957
  #
3796
3958
  # To work with CloudFront, you must also specify the Region US East
3797
3959
  # (N. Virginia) as follows:
@@ -3918,7 +4080,8 @@ module Aws::WAFV2
3918
4080
  # @!attribute [rw] scope
3919
4081
  # Specifies whether this is for an AWS CloudFront distribution or for
3920
4082
  # a regional application. A regional application can be an Application
3921
- # Load Balancer (ALB) or an API Gateway stage.
4083
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
4084
+ # API.
3922
4085
  #
3923
4086
  # To work with CloudFront, you must also specify the Region US East
3924
4087
  # (N. Virginia) as follows:
@@ -3974,22 +4137,11 @@ module Aws::WAFV2
3974
4137
  include Aws::Structure
3975
4138
  end
3976
4139
 
3977
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3978
- # in November, 2019. For information, including how to migrate your AWS
3979
- # WAF resources from the prior release, see the [AWS WAF Developer
3980
- # Guide][1].
3981
- #
3982
- # </note>
3983
- #
3984
4140
  # Defines an association between Amazon Kinesis Data Firehose
3985
4141
  # destinations and a web ACL resource, for logging from AWS WAF. As part
3986
4142
  # of the association, you can specify parts of the standard logging
3987
4143
  # fields to keep out of the logs.
3988
4144
  #
3989
- #
3990
- #
3991
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3992
- #
3993
4145
  # @note When making an API call, you may pass LoggingConfiguration
3994
4146
  # data as a hash:
3995
4147
  #
@@ -4014,6 +4166,15 @@ module Aws::WAFV2
4014
4166
  # },
4015
4167
  # method: {
4016
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
+ # },
4017
4178
  # },
4018
4179
  # ],
4019
4180
  # managed_by_firewall_manager: false,
@@ -4057,13 +4218,6 @@ module Aws::WAFV2
4057
4218
  include Aws::Structure
4058
4219
  end
4059
4220
 
4060
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4061
- # in November, 2019. For information, including how to migrate your AWS
4062
- # WAF resources from the prior release, see the [AWS WAF Developer
4063
- # Guide][1].
4064
- #
4065
- # </note>
4066
- #
4067
4221
  # A rule statement used to run the rules that are defined in a managed
4068
4222
  # rule group. To use this, provide the vendor name and the name of the
4069
4223
  # rule group in this statement. You can retrieve the required names by
@@ -4073,10 +4227,6 @@ module Aws::WAFV2
4073
4227
  # inside a `NotStatement` or `OrStatement`. It can only be referenced as
4074
4228
  # a top-level statement within a rule.
4075
4229
  #
4076
- #
4077
- #
4078
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4079
- #
4080
4230
  # @note When making an API call, you may pass ManagedRuleGroupStatement
4081
4231
  # data as a hash:
4082
4232
  #
@@ -4116,13 +4266,6 @@ module Aws::WAFV2
4116
4266
  include Aws::Structure
4117
4267
  end
4118
4268
 
4119
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4120
- # in November, 2019. For information, including how to migrate your AWS
4121
- # WAF resources from the prior release, see the [AWS WAF Developer
4122
- # Guide][1].
4123
- #
4124
- # </note>
4125
- #
4126
4269
  # High-level information about a managed rule group, returned by
4127
4270
  # ListAvailableManagedRuleGroups. This provides information like the
4128
4271
  # name and vendor name, that you provide when you add a
@@ -4131,10 +4274,6 @@ module Aws::WAFV2
4131
4274
  # customers, and AWS Marketplace managed rule groups, which you can
4132
4275
  # subscribe to through AWS Marketplace.
4133
4276
  #
4134
- #
4135
- #
4136
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4137
- #
4138
4277
  # @!attribute [rw] vendor_name
4139
4278
  # The name of the managed rule group vendor. You use this, along with
4140
4279
  # the rule group name, to identify the rule group.
@@ -4160,36 +4299,18 @@ module Aws::WAFV2
4160
4299
  include Aws::Structure
4161
4300
  end
4162
4301
 
4163
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4164
- # in November, 2019. For information, including how to migrate your AWS
4165
- # WAF resources from the prior release, see the [AWS WAF Developer
4166
- # Guide][1].
4167
- #
4168
- # </note>
4169
- #
4170
4302
  # The HTTP method of a web request. The method indicates the type of
4171
4303
  # operation that the request is asking the origin to perform.
4172
4304
  #
4173
4305
  # This is used only to indicate the web request component for AWS WAF to
4174
4306
  # inspect, in the FieldToMatch specification.
4175
4307
  #
4176
- #
4177
- #
4178
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4179
- #
4180
4308
  # @api private
4181
4309
  #
4182
4310
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Method AWS API Documentation
4183
4311
  #
4184
4312
  class Method < Aws::EmptyStructure; end
4185
4313
 
4186
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4187
- # in November, 2019. For information, including how to migrate your AWS
4188
- # WAF resources from the prior release, see the [AWS WAF Developer
4189
- # Guide][1].
4190
- #
4191
- # </note>
4192
- #
4193
4314
  # Specifies that AWS WAF should do nothing. This is generally used to
4194
4315
  # try out a rule without performing any actions. You set the
4195
4316
  # `OverrideAction` on the Rule.
@@ -4197,30 +4318,15 @@ module Aws::WAFV2
4197
4318
  # This is used only in the context of other settings, for example to
4198
4319
  # specify values for RuleAction and web ACL DefaultAction.
4199
4320
  #
4200
- #
4201
- #
4202
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4203
- #
4204
4321
  # @api private
4205
4322
  #
4206
4323
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/NoneAction AWS API Documentation
4207
4324
  #
4208
4325
  class NoneAction < Aws::EmptyStructure; end
4209
4326
 
4210
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4211
- # in November, 2019. For information, including how to migrate your AWS
4212
- # WAF resources from the prior release, see the [AWS WAF Developer
4213
- # Guide][1].
4214
- #
4215
- # </note>
4216
- #
4217
4327
  # A logical rule statement used to negate the results of another rule
4218
4328
  # statement. You provide one Statement within the `NotStatement`.
4219
4329
  #
4220
- #
4221
- #
4222
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4223
- #
4224
4330
  # @note When making an API call, you may pass NotStatement
4225
4331
  # data as a hash:
4226
4332
  #
@@ -4245,6 +4351,15 @@ module Aws::WAFV2
4245
4351
  # },
4246
4352
  # method: {
4247
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
+ # },
4248
4363
  # },
4249
4364
  # text_transformations: [ # required
4250
4365
  # {
@@ -4272,6 +4387,15 @@ module Aws::WAFV2
4272
4387
  # },
4273
4388
  # method: {
4274
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
+ # },
4275
4399
  # },
4276
4400
  # text_transformations: [ # required
4277
4401
  # {
@@ -4298,6 +4422,15 @@ module Aws::WAFV2
4298
4422
  # },
4299
4423
  # method: {
4300
4424
  # },
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
+ # },
4301
4434
  # },
4302
4435
  # text_transformations: [ # required
4303
4436
  # {
@@ -4324,6 +4457,15 @@ module Aws::WAFV2
4324
4457
  # },
4325
4458
  # method: {
4326
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
+ # },
4327
4469
  # },
4328
4470
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4329
4471
  # size: 1, # required
@@ -4376,6 +4518,15 @@ module Aws::WAFV2
4376
4518
  # },
4377
4519
  # method: {
4378
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
+ # },
4379
4530
  # },
4380
4531
  # text_transformations: [ # required
4381
4532
  # {
@@ -4439,20 +4590,9 @@ module Aws::WAFV2
4439
4590
  include Aws::Structure
4440
4591
  end
4441
4592
 
4442
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4443
- # in November, 2019. For information, including how to migrate your AWS
4444
- # WAF resources from the prior release, see the [AWS WAF Developer
4445
- # Guide][1].
4446
- #
4447
- # </note>
4448
- #
4449
4593
  # A logical rule statement used to combine other rule statements with OR
4450
4594
  # logic. You provide more than one Statement within the `OrStatement`.
4451
4595
  #
4452
- #
4453
- #
4454
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4455
- #
4456
4596
  # @note When making an API call, you may pass OrStatement
4457
4597
  # data as a hash:
4458
4598
  #
@@ -4478,6 +4618,15 @@ module Aws::WAFV2
4478
4618
  # },
4479
4619
  # method: {
4480
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
+ # },
4481
4630
  # },
4482
4631
  # text_transformations: [ # required
4483
4632
  # {
@@ -4505,6 +4654,15 @@ module Aws::WAFV2
4505
4654
  # },
4506
4655
  # method: {
4507
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
+ # },
4508
4666
  # },
4509
4667
  # text_transformations: [ # required
4510
4668
  # {
@@ -4531,6 +4689,15 @@ module Aws::WAFV2
4531
4689
  # },
4532
4690
  # method: {
4533
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
+ # },
4534
4701
  # },
4535
4702
  # text_transformations: [ # required
4536
4703
  # {
@@ -4557,6 +4724,15 @@ module Aws::WAFV2
4557
4724
  # },
4558
4725
  # method: {
4559
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
+ # },
4560
4736
  # },
4561
4737
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4562
4738
  # size: 1, # required
@@ -4609,6 +4785,15 @@ module Aws::WAFV2
4609
4785
  # },
4610
4786
  # method: {
4611
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
+ # },
4612
4797
  # },
4613
4798
  # text_transformations: [ # required
4614
4799
  # {
@@ -4738,6 +4923,15 @@ module Aws::WAFV2
4738
4923
  # },
4739
4924
  # method: {
4740
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
+ # },
4741
4935
  # },
4742
4936
  # ],
4743
4937
  # managed_by_firewall_manager: false,
@@ -4818,36 +5012,18 @@ module Aws::WAFV2
4818
5012
  #
4819
5013
  class PutPermissionPolicyResponse < Aws::EmptyStructure; end
4820
5014
 
4821
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4822
- # in November, 2019. For information, including how to migrate your AWS
4823
- # WAF resources from the prior release, see the [AWS WAF Developer
4824
- # Guide][1].
4825
- #
4826
- # </note>
4827
- #
4828
5015
  # The query string of a web request. This is the part of a URL that
4829
5016
  # appears after a `?` character, if any.
4830
5017
  #
4831
5018
  # This is used only to indicate the web request component for AWS WAF to
4832
5019
  # inspect, in the FieldToMatch specification.
4833
5020
  #
4834
- #
4835
- #
4836
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4837
- #
4838
5021
  # @api private
4839
5022
  #
4840
5023
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/QueryString AWS API Documentation
4841
5024
  #
4842
5025
  class QueryString < Aws::EmptyStructure; end
4843
5026
 
4844
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4845
- # in November, 2019. For information, including how to migrate your AWS
4846
- # WAF resources from the prior release, see the [AWS WAF Developer
4847
- # Guide][1].
4848
- #
4849
- # </note>
4850
- #
4851
5027
  # A rate-based rule tracks the rate of requests for each originating IP
4852
5028
  # address, and triggers the rule action when the rate exceeds a limit
4853
5029
  # that you specify on the number of requests in any 5-minute time span.
@@ -4881,10 +5057,6 @@ module Aws::WAFV2
4881
5057
  # `NotStatement` or `OrStatement`. It can only be referenced as a
4882
5058
  # top-level statement within a rule.
4883
5059
  #
4884
- #
4885
- #
4886
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4887
- #
4888
5060
  # @note When making an API call, you may pass RateBasedStatement
4889
5061
  # data as a hash:
4890
5062
  #
@@ -4911,6 +5083,15 @@ module Aws::WAFV2
4911
5083
  # },
4912
5084
  # method: {
4913
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
+ # },
4914
5095
  # },
4915
5096
  # text_transformations: [ # required
4916
5097
  # {
@@ -4938,6 +5119,15 @@ module Aws::WAFV2
4938
5119
  # },
4939
5120
  # method: {
4940
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
+ # },
4941
5131
  # },
4942
5132
  # text_transformations: [ # required
4943
5133
  # {
@@ -4964,6 +5154,15 @@ module Aws::WAFV2
4964
5154
  # },
4965
5155
  # method: {
4966
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
+ # },
4967
5166
  # },
4968
5167
  # text_transformations: [ # required
4969
5168
  # {
@@ -4990,6 +5189,15 @@ module Aws::WAFV2
4990
5189
  # },
4991
5190
  # method: {
4992
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
+ # },
4993
5201
  # },
4994
5202
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
4995
5203
  # size: 1, # required
@@ -5042,6 +5250,15 @@ module Aws::WAFV2
5042
5250
  # },
5043
5251
  # method: {
5044
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
+ # },
5045
5262
  # },
5046
5263
  # text_transformations: [ # required
5047
5264
  # {
@@ -5146,20 +5363,9 @@ module Aws::WAFV2
5146
5363
  include Aws::Structure
5147
5364
  end
5148
5365
 
5149
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5150
- # in November, 2019. For information, including how to migrate your AWS
5151
- # WAF resources from the prior release, see the [AWS WAF Developer
5152
- # Guide][1].
5153
- #
5154
- # </note>
5155
- #
5156
5366
  # The set of IP addresses that are currently blocked for a rate-based
5157
5367
  # statement.
5158
5368
  #
5159
- #
5160
- #
5161
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5162
- #
5163
5369
  # @!attribute [rw] ip_address_version
5164
5370
  # @return [String]
5165
5371
  #
@@ -5176,19 +5382,8 @@ module Aws::WAFV2
5176
5382
  include Aws::Structure
5177
5383
  end
5178
5384
 
5179
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5180
- # in November, 2019. For information, including how to migrate your AWS
5181
- # WAF resources from the prior release, see the [AWS WAF Developer
5182
- # Guide][1].
5183
- #
5184
- # </note>
5185
- #
5186
5385
  # A single regular expression. This is used in a RegexPatternSet.
5187
5386
  #
5188
- #
5189
- #
5190
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5191
- #
5192
5387
  # @note When making an API call, you may pass Regex
5193
5388
  # data as a hash:
5194
5389
  #
@@ -5208,23 +5403,12 @@ module Aws::WAFV2
5208
5403
  include Aws::Structure
5209
5404
  end
5210
5405
 
5211
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5212
- # in November, 2019. For information, including how to migrate your AWS
5213
- # WAF resources from the prior release, see the [AWS WAF Developer
5214
- # Guide][1].
5215
- #
5216
- # </note>
5217
- #
5218
5406
  # Contains one or more regular expressions.
5219
5407
  #
5220
5408
  # AWS WAF assigns an ARN to each `RegexPatternSet` that you create. To
5221
5409
  # use a set in a rule, you provide the ARN to the Rule statement
5222
5410
  # RegexPatternSetReferenceStatement.
5223
5411
  #
5224
- #
5225
- #
5226
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5227
- #
5228
5412
  # @!attribute [rw] name
5229
5413
  # The name of the set. You cannot change the name after you create the
5230
5414
  # set.
@@ -5241,8 +5425,7 @@ module Aws::WAFV2
5241
5425
  # @return [String]
5242
5426
  #
5243
5427
  # @!attribute [rw] description
5244
- # A description of the set that helps with identification. You cannot
5245
- # change the description of a set after you create it.
5428
+ # A description of the set that helps with identification.
5246
5429
  # @return [String]
5247
5430
  #
5248
5431
  # @!attribute [rw] regular_expression_list
@@ -5261,13 +5444,6 @@ module Aws::WAFV2
5261
5444
  include Aws::Structure
5262
5445
  end
5263
5446
 
5264
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5265
- # in November, 2019. For information, including how to migrate your AWS
5266
- # WAF resources from the prior release, see the [AWS WAF Developer
5267
- # Guide][1].
5268
- #
5269
- # </note>
5270
- #
5271
5447
  # A rule statement used to search web request components for matches
5272
5448
  # with regular expressions. To use this, create a RegexPatternSet that
5273
5449
  # specifies the expressions that you want to detect, then use the ARN of
@@ -5281,10 +5457,6 @@ module Aws::WAFV2
5281
5457
  # referenced set, AWS WAF automatically updates all rules that reference
5282
5458
  # it.
5283
5459
  #
5284
- #
5285
- #
5286
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5287
- #
5288
5460
  # @note When making an API call, you may pass RegexPatternSetReferenceStatement
5289
5461
  # data as a hash:
5290
5462
  #
@@ -5307,6 +5479,15 @@ module Aws::WAFV2
5307
5479
  # },
5308
5480
  # method: {
5309
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
+ # },
5310
5491
  # },
5311
5492
  # text_transformations: [ # required
5312
5493
  # {
@@ -5345,23 +5526,12 @@ module Aws::WAFV2
5345
5526
  include Aws::Structure
5346
5527
  end
5347
5528
 
5348
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5349
- # in November, 2019. For information, including how to migrate your AWS
5350
- # WAF resources from the prior release, see the [AWS WAF Developer
5351
- # Guide][1].
5352
- #
5353
- # </note>
5354
- #
5355
5529
  # High-level information about a RegexPatternSet, returned by operations
5356
5530
  # like create and list. This provides information like the ID, that you
5357
5531
  # can use to retrieve and manage a `RegexPatternSet`, and the ARN, that
5358
5532
  # you provide to the RegexPatternSetReferenceStatement to use the
5359
5533
  # pattern set in a Rule.
5360
5534
  #
5361
- #
5362
- #
5363
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5364
- #
5365
5535
  # @!attribute [rw] name
5366
5536
  # The name of the data type instance. You cannot change the name after
5367
5537
  # you create the instance.
@@ -5374,8 +5544,7 @@ module Aws::WAFV2
5374
5544
  # @return [String]
5375
5545
  #
5376
5546
  # @!attribute [rw] description
5377
- # A description of the set that helps with identification. You cannot
5378
- # change the description of a set after you create it.
5547
+ # A description of the set that helps with identification.
5379
5548
  # @return [String]
5380
5549
  #
5381
5550
  # @!attribute [rw] lock_token
@@ -5406,23 +5575,12 @@ module Aws::WAFV2
5406
5575
  include Aws::Structure
5407
5576
  end
5408
5577
 
5409
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5410
- # in November, 2019. For information, including how to migrate your AWS
5411
- # WAF resources from the prior release, see the [AWS WAF Developer
5412
- # Guide][1].
5413
- #
5414
- # </note>
5415
- #
5416
5578
  # A single rule, which you can use in a WebACL or RuleGroup to identify
5417
5579
  # web requests that you want to allow, block, or count. Each rule
5418
5580
  # includes one top-level Statement that AWS WAF uses to identify
5419
5581
  # matching web requests, and parameters that govern how AWS WAF handles
5420
5582
  # them.
5421
5583
  #
5422
- #
5423
- #
5424
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5425
- #
5426
5584
  # @note When making an API call, you may pass Rule
5427
5585
  # data as a hash:
5428
5586
  #
@@ -5449,6 +5607,15 @@ module Aws::WAFV2
5449
5607
  # },
5450
5608
  # method: {
5451
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
+ # },
5452
5619
  # },
5453
5620
  # text_transformations: [ # required
5454
5621
  # {
@@ -5476,6 +5643,15 @@ module Aws::WAFV2
5476
5643
  # },
5477
5644
  # method: {
5478
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
+ # },
5479
5655
  # },
5480
5656
  # text_transformations: [ # required
5481
5657
  # {
@@ -5502,6 +5678,15 @@ module Aws::WAFV2
5502
5678
  # },
5503
5679
  # method: {
5504
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
+ # },
5505
5690
  # },
5506
5691
  # text_transformations: [ # required
5507
5692
  # {
@@ -5528,6 +5713,15 @@ module Aws::WAFV2
5528
5713
  # },
5529
5714
  # method: {
5530
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
+ # },
5531
5725
  # },
5532
5726
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
5533
5727
  # size: 1, # required
@@ -5580,6 +5774,15 @@ module Aws::WAFV2
5580
5774
  # },
5581
5775
  # method: {
5582
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
+ # },
5583
5786
  # },
5584
5787
  # text_transformations: [ # required
5585
5788
  # {
@@ -5723,21 +5926,10 @@ module Aws::WAFV2
5723
5926
  include Aws::Structure
5724
5927
  end
5725
5928
 
5726
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5727
- # in November, 2019. For information, including how to migrate your AWS
5728
- # WAF resources from the prior release, see the [AWS WAF Developer
5729
- # Guide][1].
5730
- #
5731
- # </note>
5732
- #
5733
5929
  # The action that AWS WAF should take on a web request when it matches a
5734
5930
  # rule's statement. Settings at the web ACL level can override the rule
5735
5931
  # action setting.
5736
5932
  #
5737
- #
5738
- #
5739
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5740
- #
5741
5933
  # @note When making an API call, you may pass RuleAction
5742
5934
  # data as a hash:
5743
5935
  #
@@ -5772,23 +5964,12 @@ module Aws::WAFV2
5772
5964
  include Aws::Structure
5773
5965
  end
5774
5966
 
5775
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5776
- # in November, 2019. For information, including how to migrate your AWS
5777
- # WAF resources from the prior release, see the [AWS WAF Developer
5778
- # Guide][1].
5779
- #
5780
- # </note>
5781
- #
5782
5967
  # A rule group defines a collection of rules to inspect and control web
5783
5968
  # requests that you can use in a WebACL. When you create a rule group,
5784
5969
  # you define an immutable capacity limit. If you update a rule group,
5785
5970
  # you must stay within the capacity. This allows others to reuse the
5786
5971
  # rule group with confidence in its capacity requirements.
5787
5972
  #
5788
- #
5789
- #
5790
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5791
- #
5792
5973
  # @!attribute [rw] name
5793
5974
  # The name of the rule group. You cannot change the name of a rule
5794
5975
  # group after you create it.
@@ -5823,8 +6004,7 @@ module Aws::WAFV2
5823
6004
  # @return [String]
5824
6005
  #
5825
6006
  # @!attribute [rw] description
5826
- # A description of the rule group that helps with identification. You
5827
- # cannot change the description of a rule group after you create it.
6007
+ # A description of the rule group that helps with identification.
5828
6008
  # @return [String]
5829
6009
  #
5830
6010
  # @!attribute [rw] rules
@@ -5853,13 +6033,6 @@ module Aws::WAFV2
5853
6033
  include Aws::Structure
5854
6034
  end
5855
6035
 
5856
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5857
- # in November, 2019. For information, including how to migrate your AWS
5858
- # WAF resources from the prior release, see the [AWS WAF Developer
5859
- # Guide][1].
5860
- #
5861
- # </note>
5862
- #
5863
6036
  # A rule statement used to run the rules that are defined in a
5864
6037
  # RuleGroup. To use this, create a rule group with your rules, then
5865
6038
  # provide the ARN of the rule group in this statement.
@@ -5868,10 +6041,6 @@ module Aws::WAFV2
5868
6041
  # inside a `NotStatement` or `OrStatement`. It can only be referenced as
5869
6042
  # a top-level statement within a rule.
5870
6043
  #
5871
- #
5872
- #
5873
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5874
- #
5875
6044
  # @note When making an API call, you may pass RuleGroupReferenceStatement
5876
6045
  # data as a hash:
5877
6046
  #
@@ -5902,23 +6071,12 @@ module Aws::WAFV2
5902
6071
  include Aws::Structure
5903
6072
  end
5904
6073
 
5905
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5906
- # in November, 2019. For information, including how to migrate your AWS
5907
- # WAF resources from the prior release, see the [AWS WAF Developer
5908
- # Guide][1].
5909
- #
5910
- # </note>
5911
- #
5912
6074
  # High-level information about a RuleGroup, returned by operations like
5913
6075
  # create and list. This provides information like the ID, that you can
5914
6076
  # use to retrieve and manage a `RuleGroup`, and the ARN, that you
5915
6077
  # provide to the RuleGroupReferenceStatement to use the rule group in a
5916
6078
  # Rule.
5917
6079
  #
5918
- #
5919
- #
5920
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5921
- #
5922
6080
  # @!attribute [rw] name
5923
6081
  # The name of the data type instance. You cannot change the name after
5924
6082
  # you create the instance.
@@ -5931,8 +6089,7 @@ module Aws::WAFV2
5931
6089
  # @return [String]
5932
6090
  #
5933
6091
  # @!attribute [rw] description
5934
- # A description of the rule group that helps with identification. You
5935
- # cannot change the description of a rule group after you create it.
6092
+ # A description of the rule group that helps with identification.
5936
6093
  # @return [String]
5937
6094
  #
5938
6095
  # @!attribute [rw] lock_token
@@ -5963,42 +6120,20 @@ module Aws::WAFV2
5963
6120
  include Aws::Structure
5964
6121
  end
5965
6122
 
5966
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5967
- # in November, 2019. For information, including how to migrate your AWS
5968
- # WAF resources from the prior release, see the [AWS WAF Developer
5969
- # Guide][1].
5970
- #
5971
- # </note>
5972
- #
5973
6123
  # High-level information about a Rule, returned by operations like
5974
6124
  # DescribeManagedRuleGroup. This provides information like the ID, that
5975
6125
  # you can use to retrieve and manage a `RuleGroup`, and the ARN, that
5976
6126
  # you provide to the RuleGroupReferenceStatement to use the rule group
5977
6127
  # in a Rule.
5978
6128
  #
5979
- #
5980
- #
5981
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5982
- #
5983
6129
  # @!attribute [rw] name
5984
6130
  # The name of the rule.
5985
6131
  # @return [String]
5986
6132
  #
5987
6133
  # @!attribute [rw] action
5988
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
5989
- # in November, 2019. For information, including how to migrate your
5990
- # AWS WAF resources from the prior release, see the [AWS WAF Developer
5991
- # Guide][1].
5992
- #
5993
- # </note>
5994
- #
5995
6134
  # The action that AWS WAF should take on a web request when it matches
5996
6135
  # a rule's statement. Settings at the web ACL level can override the
5997
6136
  # rule action setting.
5998
- #
5999
- #
6000
- #
6001
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6002
6137
  # @return [Types::RuleAction]
6003
6138
  #
6004
6139
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RuleSummary AWS API Documentation
@@ -6010,23 +6145,12 @@ module Aws::WAFV2
6010
6145
  include Aws::Structure
6011
6146
  end
6012
6147
 
6013
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6014
- # in November, 2019. For information, including how to migrate your AWS
6015
- # WAF resources from the prior release, see the [AWS WAF Developer
6016
- # Guide][1].
6017
- #
6018
- # </note>
6019
- #
6020
6148
  # Represents a single sampled web request. The response from
6021
6149
  # GetSampledRequests includes a `SampledHTTPRequests` complex type that
6022
6150
  # appears as `SampledRequests` in the response syntax.
6023
6151
  # `SampledHTTPRequests` contains an array of `SampledHTTPRequest`
6024
6152
  # objects.
6025
6153
  #
6026
- #
6027
- #
6028
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6029
- #
6030
6154
  # @!attribute [rw] request
6031
6155
  # A complex type that contains detailed information about the request.
6032
6156
  # @return [Types::HTTPRequest]
@@ -6068,23 +6192,12 @@ module Aws::WAFV2
6068
6192
  include Aws::Structure
6069
6193
  end
6070
6194
 
6071
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6072
- # in November, 2019. For information, including how to migrate your AWS
6073
- # WAF resources from the prior release, see the [AWS WAF Developer
6074
- # Guide][1].
6075
- #
6076
- # </note>
6077
- #
6078
6195
  # One of the headers in a web request, identified by name, for example,
6079
6196
  # `User-Agent` or `Referer`. This setting isn't case sensitive.
6080
6197
  #
6081
6198
  # This is used only to indicate the web request component for AWS WAF to
6082
6199
  # inspect, in the FieldToMatch specification.
6083
6200
  #
6084
- #
6085
- #
6086
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6087
- #
6088
6201
  # @note When making an API call, you may pass SingleHeader
6089
6202
  # data as a hash:
6090
6203
  #
@@ -6104,21 +6217,10 @@ module Aws::WAFV2
6104
6217
  include Aws::Structure
6105
6218
  end
6106
6219
 
6107
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6108
- # in November, 2019. For information, including how to migrate your AWS
6109
- # WAF resources from the prior release, see the [AWS WAF Developer
6110
- # Guide][1].
6111
- #
6112
- # </note>
6113
- #
6114
6220
  # One query argument in a web request, identified by name, for example
6115
6221
  # *UserName* or *SalesRegion*. The name can be up to 30 characters long
6116
6222
  # and isn't case sensitive.
6117
6223
  #
6118
- #
6119
- #
6120
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6121
- #
6122
6224
  # @note When making an API call, you may pass SingleQueryArgument
6123
6225
  # data as a hash:
6124
6226
  #
@@ -6138,13 +6240,6 @@ module Aws::WAFV2
6138
6240
  include Aws::Structure
6139
6241
  end
6140
6242
 
6141
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6142
- # in November, 2019. For information, including how to migrate your AWS
6143
- # WAF resources from the prior release, see the [AWS WAF Developer
6144
- # Guide][1].
6145
- #
6146
- # </note>
6147
- #
6148
6243
  # A rule statement that compares a number of bytes against the size of a
6149
6244
  # request component, using a comparison operator, such as greater than
6150
6245
  # (&gt;) or less than (&lt;). For example, you can use a size constraint
@@ -6160,10 +6255,6 @@ module Aws::WAFV2
6160
6255
  # the slash (/) in the URI counts as one character. For example, the URI
6161
6256
  # `/logo.jpg` is nine characters long.
6162
6257
  #
6163
- #
6164
- #
6165
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6166
- #
6167
6258
  # @note When making an API call, you may pass SizeConstraintStatement
6168
6259
  # data as a hash:
6169
6260
  #
@@ -6185,6 +6276,15 @@ module Aws::WAFV2
6185
6276
  # },
6186
6277
  # method: {
6187
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
+ # },
6188
6288
  # },
6189
6289
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6190
6290
  # size: 1, # required
@@ -6230,13 +6330,6 @@ module Aws::WAFV2
6230
6330
  include Aws::Structure
6231
6331
  end
6232
6332
 
6233
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6234
- # in November, 2019. For information, including how to migrate your AWS
6235
- # WAF resources from the prior release, see the [AWS WAF Developer
6236
- # Guide][1].
6237
- #
6238
- # </note>
6239
- #
6240
6333
  # Attackers sometimes insert malicious SQL code into web requests in an
6241
6334
  # effort to extract data from your database. To allow or block web
6242
6335
  # requests that appear to contain malicious SQL code, create one or more
@@ -6246,10 +6339,6 @@ module Aws::WAFV2
6246
6339
  # you create a web ACL, you specify whether to allow or block requests
6247
6340
  # that appear to contain malicious SQL code.
6248
6341
  #
6249
- #
6250
- #
6251
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6252
- #
6253
6342
  # @note When making an API call, you may pass SqliMatchStatement
6254
6343
  # data as a hash:
6255
6344
  #
@@ -6271,6 +6360,15 @@ module Aws::WAFV2
6271
6360
  # },
6272
6361
  # method: {
6273
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
+ # },
6274
6372
  # },
6275
6373
  # text_transformations: [ # required
6276
6374
  # {
@@ -6303,20 +6401,9 @@ module Aws::WAFV2
6303
6401
  include Aws::Structure
6304
6402
  end
6305
6403
 
6306
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
6307
- # in November, 2019. For information, including how to migrate your AWS
6308
- # WAF resources from the prior release, see the [AWS WAF Developer
6309
- # Guide][1].
6310
- #
6311
- # </note>
6312
- #
6313
6404
  # The processing guidance for a Rule, used by AWS WAF to determine
6314
6405
  # whether a web request matches the rule.
6315
6406
  #
6316
- #
6317
- #
6318
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
6319
- #
6320
6407
  # @note When making an API call, you may pass Statement
6321
6408
  # data as a hash:
6322
6409
  #
@@ -6340,6 +6427,15 @@ module Aws::WAFV2
6340
6427
  # },
6341
6428
  # method: {
6342
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
+ # },
6343
6439
  # },
6344
6440
  # text_transformations: [ # required
6345
6441
  # {
@@ -6367,6 +6463,15 @@ module Aws::WAFV2
6367
6463
  # },
6368
6464
  # method: {
6369
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
+ # },
6370
6475
  # },
6371
6476
  # text_transformations: [ # required
6372
6477
  # {
@@ -6393,6 +6498,15 @@ module Aws::WAFV2
6393
6498
  # },
6394
6499
  # method: {
6395
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
+ # },
6396
6510
  # },
6397
6511
  # text_transformations: [ # required
6398
6512
  # {
@@ -6419,6 +6533,15 @@ module Aws::WAFV2
6419
6533
  # },
6420
6534
  # method: {
6421
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
+ # },
6422
6545
  # },
6423
6546
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6424
6547
  # size: 1, # required
@@ -6471,6 +6594,15 @@ module Aws::WAFV2
6471
6594
  # },
6472
6595
  # method: {
6473
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
+ # },
6474
6606
  # },
6475
6607
  # text_transformations: [ # required
6476
6608
  # {
@@ -6502,6 +6634,15 @@ module Aws::WAFV2
6502
6634
  # },
6503
6635
  # method: {
6504
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
+ # },
6505
6646
  # },
6506
6647
  # text_transformations: [ # required
6507
6648
  # {
@@ -6529,6 +6670,15 @@ module Aws::WAFV2
6529
6670
  # },
6530
6671
  # method: {
6531
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
+ # },
6532
6682
  # },
6533
6683
  # text_transformations: [ # required
6534
6684
  # {
@@ -6555,6 +6705,15 @@ module Aws::WAFV2
6555
6705
  # },
6556
6706
  # method: {
6557
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
+ # },
6558
6717
  # },
6559
6718
  # text_transformations: [ # required
6560
6719
  # {
@@ -6581,6 +6740,15 @@ module Aws::WAFV2
6581
6740
  # },
6582
6741
  # method: {
6583
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
+ # },
6584
6752
  # },
6585
6753
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6586
6754
  # size: 1, # required
@@ -6633,6 +6801,15 @@ module Aws::WAFV2
6633
6801
  # },
6634
6802
  # method: {
6635
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
+ # },
6636
6813
  # },
6637
6814
  # text_transformations: [ # required
6638
6815
  # {
@@ -6700,6 +6877,15 @@ module Aws::WAFV2
6700
6877
  # },
6701
6878
  # method: {
6702
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
+ # },
6703
6889
  # },
6704
6890
  # text_transformations: [ # required
6705
6891
  # {
@@ -6727,6 +6913,15 @@ module Aws::WAFV2
6727
6913
  # },
6728
6914
  # method: {
6729
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
+ # },
6730
6925
  # },
6731
6926
  # text_transformations: [ # required
6732
6927
  # {
@@ -6753,6 +6948,15 @@ module Aws::WAFV2
6753
6948
  # },
6754
6949
  # method: {
6755
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
+ # },
6756
6960
  # },
6757
6961
  # text_transformations: [ # required
6758
6962
  # {
@@ -6779,6 +6983,15 @@ module Aws::WAFV2
6779
6983
  # },
6780
6984
  # method: {
6781
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
+ # },
6782
6995
  # },
6783
6996
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6784
6997
  # size: 1, # required
@@ -6831,6 +7044,15 @@ module Aws::WAFV2
6831
7044
  # },
6832
7045
  # method: {
6833
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
+ # },
6834
7056
  # },
6835
7057
  # text_transformations: [ # required
6836
7058
  # {
@@ -6897,6 +7119,15 @@ module Aws::WAFV2
6897
7119
  # },
6898
7120
  # method: {
6899
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
+ # },
6900
7131
  # },
6901
7132
  # text_transformations: [ # required
6902
7133
  # {
@@ -6924,6 +7155,15 @@ module Aws::WAFV2
6924
7155
  # },
6925
7156
  # method: {
6926
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
+ # },
6927
7167
  # },
6928
7168
  # text_transformations: [ # required
6929
7169
  # {
@@ -6950,6 +7190,15 @@ module Aws::WAFV2
6950
7190
  # },
6951
7191
  # method: {
6952
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
+ # },
6953
7202
  # },
6954
7203
  # text_transformations: [ # required
6955
7204
  # {
@@ -6976,6 +7225,15 @@ module Aws::WAFV2
6976
7225
  # },
6977
7226
  # method: {
6978
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
+ # },
6979
7237
  # },
6980
7238
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
6981
7239
  # size: 1, # required
@@ -7028,6 +7286,15 @@ module Aws::WAFV2
7028
7286
  # },
7029
7287
  # method: {
7030
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
+ # },
7031
7298
  # },
7032
7299
  # text_transformations: [ # required
7033
7300
  # {
@@ -7093,6 +7360,15 @@ module Aws::WAFV2
7093
7360
  # },
7094
7361
  # method: {
7095
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
+ # },
7096
7372
  # },
7097
7373
  # text_transformations: [ # required
7098
7374
  # {
@@ -7120,6 +7396,15 @@ module Aws::WAFV2
7120
7396
  # },
7121
7397
  # method: {
7122
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
+ # },
7123
7408
  # },
7124
7409
  # text_transformations: [ # required
7125
7410
  # {
@@ -7146,6 +7431,15 @@ module Aws::WAFV2
7146
7431
  # },
7147
7432
  # method: {
7148
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
+ # },
7149
7443
  # },
7150
7444
  # text_transformations: [ # required
7151
7445
  # {
@@ -7172,6 +7466,15 @@ module Aws::WAFV2
7172
7466
  # },
7173
7467
  # method: {
7174
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
+ # },
7175
7478
  # },
7176
7479
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
7177
7480
  # size: 1, # required
@@ -7224,6 +7527,15 @@ module Aws::WAFV2
7224
7527
  # },
7225
7528
  # method: {
7226
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
+ # },
7227
7539
  # },
7228
7540
  # text_transformations: [ # required
7229
7541
  # {
@@ -7458,13 +7770,6 @@ module Aws::WAFV2
7458
7770
  include Aws::Structure
7459
7771
  end
7460
7772
 
7461
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7462
- # in November, 2019. For information, including how to migrate your AWS
7463
- # WAF resources from the prior release, see the [AWS WAF Developer
7464
- # Guide][1].
7465
- #
7466
- # </note>
7467
- #
7468
7773
  # A tag associated with an AWS resource. Tags are key:value pairs that
7469
7774
  # you can use to categorize and manage your resources, for purposes like
7470
7775
  # billing or other management. Typically, the tag key represents a
@@ -7479,10 +7784,6 @@ module Aws::WAFV2
7479
7784
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
7480
7785
  # or view tags through the AWS WAF console.
7481
7786
  #
7482
- #
7483
- #
7484
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7485
- #
7486
7787
  # @note When making an API call, you may pass Tag
7487
7788
  # data as a hash:
7488
7789
  #
@@ -7512,13 +7813,6 @@ module Aws::WAFV2
7512
7813
  include Aws::Structure
7513
7814
  end
7514
7815
 
7515
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7516
- # in November, 2019. For information, including how to migrate your AWS
7517
- # WAF resources from the prior release, see the [AWS WAF Developer
7518
- # Guide][1].
7519
- #
7520
- # </note>
7521
- #
7522
7816
  # The collection of tagging definitions for an AWS resource. Tags are
7523
7817
  # key:value pairs that you can use to categorize and manage your
7524
7818
  # resources, for purposes like billing or other management. Typically,
@@ -7533,10 +7827,6 @@ module Aws::WAFV2
7533
7827
  # ACLs, rule groups, IP sets, and regex pattern sets. You can't manage
7534
7828
  # or view tags through the AWS WAF console.
7535
7829
  #
7536
- #
7537
- #
7538
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7539
- #
7540
7830
  # @!attribute [rw] resource_arn
7541
7831
  # The Amazon Resource Name (ARN) of the resource.
7542
7832
  # @return [String]
@@ -7588,20 +7878,9 @@ module Aws::WAFV2
7588
7878
  #
7589
7879
  class TagResourceResponse < Aws::EmptyStructure; end
7590
7880
 
7591
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7592
- # in November, 2019. For information, including how to migrate your AWS
7593
- # WAF resources from the prior release, see the [AWS WAF Developer
7594
- # Guide][1].
7595
- #
7596
- # </note>
7597
- #
7598
7881
  # Text transformations eliminate some of the unusual formatting that
7599
7882
  # attackers use in web requests in an effort to bypass detection.
7600
7883
  #
7601
- #
7602
- #
7603
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7604
- #
7605
7884
  # @note When making an API call, you may pass TextTransformation
7606
7885
  # data as a hash:
7607
7886
  #
@@ -7699,13 +7978,6 @@ module Aws::WAFV2
7699
7978
  include Aws::Structure
7700
7979
  end
7701
7980
 
7702
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
7703
- # in November, 2019. For information, including how to migrate your AWS
7704
- # WAF resources from the prior release, see the [AWS WAF Developer
7705
- # Guide][1].
7706
- #
7707
- # </note>
7708
- #
7709
7981
  # In a GetSampledRequests request, the `StartTime` and `EndTime` objects
7710
7982
  # specify the time range for which you want AWS WAF to return a sample
7711
7983
  # of web requests.
@@ -7724,10 +7996,6 @@ module Aws::WAFV2
7724
7996
  # 5,000th request. In that case, `EndTime` is the time that AWS WAF
7725
7997
  # received the 5,000th request.
7726
7998
  #
7727
- #
7728
- #
7729
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
7730
- #
7731
7999
  # @note When making an API call, you may pass TimeWindow
7732
8000
  # data as a hash:
7733
8001
  #
@@ -7813,7 +8081,8 @@ module Aws::WAFV2
7813
8081
  # @!attribute [rw] scope
7814
8082
  # Specifies whether this is for an AWS CloudFront distribution or for
7815
8083
  # a regional application. A regional application can be an Application
7816
- # Load Balancer (ALB) or an API Gateway stage.
8084
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
8085
+ # API.
7817
8086
  #
7818
8087
  # To work with CloudFront, you must also specify the Region US East
7819
8088
  # (N. Virginia) as follows:
@@ -7831,8 +8100,7 @@ module Aws::WAFV2
7831
8100
  # @return [String]
7832
8101
  #
7833
8102
  # @!attribute [rw] description
7834
- # A description of the IP set that helps with identification. You
7835
- # cannot change the description of an IP set after you create it.
8103
+ # A description of the IP set that helps with identification.
7836
8104
  # @return [String]
7837
8105
  #
7838
8106
  # @!attribute [rw] addresses
@@ -7933,7 +8201,8 @@ module Aws::WAFV2
7933
8201
  # @!attribute [rw] scope
7934
8202
  # Specifies whether this is for an AWS CloudFront distribution or for
7935
8203
  # a regional application. A regional application can be an Application
7936
- # Load Balancer (ALB) or an API Gateway stage.
8204
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
8205
+ # API.
7937
8206
  #
7938
8207
  # To work with CloudFront, you must also specify the Region US East
7939
8208
  # (N. Virginia) as follows:
@@ -7951,8 +8220,7 @@ module Aws::WAFV2
7951
8220
  # @return [String]
7952
8221
  #
7953
8222
  # @!attribute [rw] description
7954
- # A description of the set that helps with identification. You cannot
7955
- # change the description of a set after you create it.
8223
+ # A description of the set that helps with identification.
7956
8224
  # @return [String]
7957
8225
  #
7958
8226
  # @!attribute [rw] regular_expression_list
@@ -8029,6 +8297,15 @@ module Aws::WAFV2
8029
8297
  # },
8030
8298
  # method: {
8031
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
+ # },
8032
8309
  # },
8033
8310
  # text_transformations: [ # required
8034
8311
  # {
@@ -8056,6 +8333,15 @@ module Aws::WAFV2
8056
8333
  # },
8057
8334
  # method: {
8058
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
+ # },
8059
8345
  # },
8060
8346
  # text_transformations: [ # required
8061
8347
  # {
@@ -8082,6 +8368,15 @@ module Aws::WAFV2
8082
8368
  # },
8083
8369
  # method: {
8084
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
+ # },
8085
8380
  # },
8086
8381
  # text_transformations: [ # required
8087
8382
  # {
@@ -8108,6 +8403,15 @@ module Aws::WAFV2
8108
8403
  # },
8109
8404
  # method: {
8110
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
+ # },
8111
8415
  # },
8112
8416
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
8113
8417
  # size: 1, # required
@@ -8160,6 +8464,15 @@ module Aws::WAFV2
8160
8464
  # },
8161
8465
  # method: {
8162
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
+ # },
8163
8476
  # },
8164
8477
  # text_transformations: [ # required
8165
8478
  # {
@@ -8245,7 +8558,8 @@ module Aws::WAFV2
8245
8558
  # @!attribute [rw] scope
8246
8559
  # Specifies whether this is for an AWS CloudFront distribution or for
8247
8560
  # a regional application. A regional application can be an Application
8248
- # Load Balancer (ALB) or an API Gateway stage.
8561
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
8562
+ # API.
8249
8563
  #
8250
8564
  # To work with CloudFront, you must also specify the Region US East
8251
8565
  # (N. Virginia) as follows:
@@ -8263,8 +8577,7 @@ module Aws::WAFV2
8263
8577
  # @return [String]
8264
8578
  #
8265
8579
  # @!attribute [rw] description
8266
- # A description of the rule group that helps with identification. You
8267
- # cannot change the description of a rule group after you create it.
8580
+ # A description of the rule group that helps with identification.
8268
8581
  # @return [String]
8269
8582
  #
8270
8583
  # @!attribute [rw] rules
@@ -8357,6 +8670,15 @@ module Aws::WAFV2
8357
8670
  # },
8358
8671
  # method: {
8359
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
+ # },
8360
8682
  # },
8361
8683
  # text_transformations: [ # required
8362
8684
  # {
@@ -8384,6 +8706,15 @@ module Aws::WAFV2
8384
8706
  # },
8385
8707
  # method: {
8386
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
+ # },
8387
8718
  # },
8388
8719
  # text_transformations: [ # required
8389
8720
  # {
@@ -8410,6 +8741,15 @@ module Aws::WAFV2
8410
8741
  # },
8411
8742
  # method: {
8412
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
+ # },
8413
8753
  # },
8414
8754
  # text_transformations: [ # required
8415
8755
  # {
@@ -8436,6 +8776,15 @@ module Aws::WAFV2
8436
8776
  # },
8437
8777
  # method: {
8438
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
+ # },
8439
8788
  # },
8440
8789
  # comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
8441
8790
  # size: 1, # required
@@ -8488,6 +8837,15 @@ module Aws::WAFV2
8488
8837
  # },
8489
8838
  # method: {
8490
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
+ # },
8491
8849
  # },
8492
8850
  # text_transformations: [ # required
8493
8851
  # {
@@ -8573,7 +8931,8 @@ module Aws::WAFV2
8573
8931
  # @!attribute [rw] scope
8574
8932
  # Specifies whether this is for an AWS CloudFront distribution or for
8575
8933
  # a regional application. A regional application can be an Application
8576
- # Load Balancer (ALB) or an API Gateway stage.
8934
+ # Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL
8935
+ # API.
8577
8936
  #
8578
8937
  # To work with CloudFront, you must also specify the Region US East
8579
8938
  # (N. Virginia) as follows:
@@ -8596,8 +8955,7 @@ module Aws::WAFV2
8596
8955
  # @return [Types::DefaultAction]
8597
8956
  #
8598
8957
  # @!attribute [rw] description
8599
- # A description of the Web ACL that helps with identification. You
8600
- # cannot change the description of a Web ACL after you create it.
8958
+ # A description of the Web ACL that helps with identification.
8601
8959
  # @return [String]
8602
8960
  #
8603
8961
  # @!attribute [rw] rules
@@ -8653,13 +9011,6 @@ module Aws::WAFV2
8653
9011
  include Aws::Structure
8654
9012
  end
8655
9013
 
8656
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
8657
- # in November, 2019. For information, including how to migrate your AWS
8658
- # WAF resources from the prior release, see the [AWS WAF Developer
8659
- # Guide][1].
8660
- #
8661
- # </note>
8662
- #
8663
9014
  # The path component of the URI of a web request. This is the part of a
8664
9015
  # web request that identifies a resource, for example,
8665
9016
  # `/images/daily-ad.jpg`.
@@ -8667,30 +9018,15 @@ module Aws::WAFV2
8667
9018
  # This is used only to indicate the web request component for AWS WAF to
8668
9019
  # inspect, in the FieldToMatch specification.
8669
9020
  #
8670
- #
8671
- #
8672
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8673
- #
8674
9021
  # @api private
8675
9022
  #
8676
9023
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UriPath AWS API Documentation
8677
9024
  #
8678
9025
  class UriPath < Aws::EmptyStructure; end
8679
9026
 
8680
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
8681
- # in November, 2019. For information, including how to migrate your AWS
8682
- # WAF resources from the prior release, see the [AWS WAF Developer
8683
- # Guide][1].
8684
- #
8685
- # </note>
8686
- #
8687
9027
  # Defines and enables Amazon CloudWatch metrics and web request sample
8688
9028
  # collection.
8689
9029
  #
8690
- #
8691
- #
8692
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8693
- #
8694
9030
  # @note When making an API call, you may pass VisibilityConfig
8695
9031
  # data as a hash:
8696
9032
  #
@@ -8999,13 +9335,6 @@ module Aws::WAFV2
8999
9335
  include Aws::Structure
9000
9336
  end
9001
9337
 
9002
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9003
- # in November, 2019. For information, including how to migrate your AWS
9004
- # WAF resources from the prior release, see the [AWS WAF Developer
9005
- # Guide][1].
9006
- #
9007
- # </note>
9008
- #
9009
9338
  # A Web ACL defines a collection of rules to use to inspect and control
9010
9339
  # web requests. Each rule has an action defined (allow, block, or count)
9011
9340
  # for requests that match the statement of the rule. In the Web ACL, you
@@ -9013,12 +9342,8 @@ module Aws::WAFV2
9013
9342
  # does not match any of the rules. The rules in a Web ACL can be a
9014
9343
  # combination of the types Rule, RuleGroup, and managed rule group. You
9015
9344
  # can associate a Web ACL with one or more AWS resources to protect. The
9016
- # resources can be Amazon CloudFront, an Amazon API Gateway API, or an
9017
- # Application Load Balancer.
9018
- #
9019
- #
9020
- #
9021
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9345
+ # resources can be Amazon CloudFront, an Amazon API Gateway REST API, an
9346
+ # Application Load Balancer, or an AWS AppSync GraphQL API.
9022
9347
  #
9023
9348
  # @!attribute [rw] name
9024
9349
  # The name of the Web ACL. You cannot change the name of a Web ACL
@@ -9042,8 +9367,7 @@ module Aws::WAFV2
9042
9367
  # @return [Types::DefaultAction]
9043
9368
  #
9044
9369
  # @!attribute [rw] description
9045
- # A description of the Web ACL that helps with identification. You
9046
- # cannot change the description of a Web ACL after you create it.
9370
+ # A description of the Web ACL that helps with identification.
9047
9371
  # @return [String]
9048
9372
  #
9049
9373
  # @!attribute [rw] rules
@@ -9122,22 +9446,11 @@ module Aws::WAFV2
9122
9446
  include Aws::Structure
9123
9447
  end
9124
9448
 
9125
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9126
- # in November, 2019. For information, including how to migrate your AWS
9127
- # WAF resources from the prior release, see the [AWS WAF Developer
9128
- # Guide][1].
9129
- #
9130
- # </note>
9131
- #
9132
9449
  # High-level information about a WebACL, returned by operations like
9133
9450
  # create and list. This provides information like the ID, that you can
9134
9451
  # use to retrieve and manage a `WebACL`, and the ARN, that you provide
9135
9452
  # to operations like AssociateWebACL.
9136
9453
  #
9137
- #
9138
- #
9139
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9140
- #
9141
9454
  # @!attribute [rw] name
9142
9455
  # The name of the Web ACL. You cannot change the name of a Web ACL
9143
9456
  # after you create it.
@@ -9150,8 +9463,7 @@ module Aws::WAFV2
9150
9463
  # @return [String]
9151
9464
  #
9152
9465
  # @!attribute [rw] description
9153
- # A description of the Web ACL that helps with identification. You
9154
- # cannot change the description of a Web ACL after you create it.
9466
+ # A description of the Web ACL that helps with identification.
9155
9467
  # @return [String]
9156
9468
  #
9157
9469
  # @!attribute [rw] lock_token
@@ -9182,13 +9494,6 @@ module Aws::WAFV2
9182
9494
  include Aws::Structure
9183
9495
  end
9184
9496
 
9185
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
9186
- # in November, 2019. For information, including how to migrate your AWS
9187
- # WAF resources from the prior release, see the [AWS WAF Developer
9188
- # Guide][1].
9189
- #
9190
- # </note>
9191
- #
9192
9497
  # A rule statement that defines a cross-site scripting (XSS) match
9193
9498
  # search for AWS WAF to apply to web requests. XSS attacks are those
9194
9499
  # where the attacker uses vulnerabilities in a benign website as a
@@ -9198,10 +9503,6 @@ module Aws::WAFV2
9198
9503
  # use on the search area before AWS WAF searches for character sequences
9199
9504
  # that are likely to be malicious strings.
9200
9505
  #
9201
- #
9202
- #
9203
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
9204
- #
9205
9506
  # @note When making an API call, you may pass XssMatchStatement
9206
9507
  # data as a hash:
9207
9508
  #
@@ -9223,6 +9524,15 @@ module Aws::WAFV2
9223
9524
  # },
9224
9525
  # method: {
9225
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
+ # },
9226
9536
  # },
9227
9537
  # text_transformations: [ # required
9228
9538
  # {