aws-sdk-wafv2 1.12.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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"))
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,28 +3,30 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
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
  # {