aws-sdk-wafv2 1.18.0 → 1.22.0

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