aws-sdk-wafv2 1.0.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,43 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::WAFV2
9
+
10
+ # When WAFV2 returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::WAFV2::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all WAFV2 errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::WAFV2::Errors::ServiceError
18
+ # # rescues all WAFV2 API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {WAFAssociatedItemException}
29
+ # * {WAFDuplicateItemException}
30
+ # * {WAFInternalErrorException}
31
+ # * {WAFInvalidOperationException}
32
+ # * {WAFInvalidParameterException}
33
+ # * {WAFInvalidPermissionPolicyException}
34
+ # * {WAFInvalidResourceException}
35
+ # * {WAFLimitsExceededException}
36
+ # * {WAFNonexistentItemException}
37
+ # * {WAFOptimisticLockException}
38
+ # * {WAFServiceLinkedRoleErrorException}
39
+ # * {WAFSubscriptionNotFoundException}
40
+ # * {WAFTagOperationException}
41
+ # * {WAFTagOperationInternalErrorException}
42
+ # * {WAFUnavailableEntityException}
43
+ #
44
+ # Additionally, error classes are dynamically generated for service errors based on the error code
45
+ # if they are not defined above.
9
46
  module Errors
10
47
 
11
48
  extend Aws::Errors::DynamicErrors
@@ -23,7 +60,6 @@ module Aws::WAFV2
23
60
  def message
24
61
  @message || @data[:message]
25
62
  end
26
-
27
63
  end
28
64
 
29
65
  class WAFDuplicateItemException < ServiceError
@@ -39,7 +75,6 @@ module Aws::WAFV2
39
75
  def message
40
76
  @message || @data[:message]
41
77
  end
42
-
43
78
  end
44
79
 
45
80
  class WAFInternalErrorException < ServiceError
@@ -55,7 +90,21 @@ module Aws::WAFV2
55
90
  def message
56
91
  @message || @data[:message]
57
92
  end
93
+ end
94
+
95
+ class WAFInvalidOperationException < ServiceError
96
+
97
+ # @param [Seahorse::Client::RequestContext] context
98
+ # @param [String] message
99
+ # @param [Aws::WAFV2::Types::WAFInvalidOperationException] data
100
+ def initialize(context, message, data = Aws::EmptyStructure.new)
101
+ super(context, message, data)
102
+ end
58
103
 
104
+ # @return [String]
105
+ def message
106
+ @message || @data[:message]
107
+ end
59
108
  end
60
109
 
61
110
  class WAFInvalidParameterException < ServiceError
@@ -86,7 +135,21 @@ module Aws::WAFV2
86
135
  def reason
87
136
  @data[:reason]
88
137
  end
138
+ end
139
+
140
+ class WAFInvalidPermissionPolicyException < ServiceError
141
+
142
+ # @param [Seahorse::Client::RequestContext] context
143
+ # @param [String] message
144
+ # @param [Aws::WAFV2::Types::WAFInvalidPermissionPolicyException] data
145
+ def initialize(context, message, data = Aws::EmptyStructure.new)
146
+ super(context, message, data)
147
+ end
89
148
 
149
+ # @return [String]
150
+ def message
151
+ @message || @data[:message]
152
+ end
90
153
  end
91
154
 
92
155
  class WAFInvalidResourceException < ServiceError
@@ -102,7 +165,6 @@ module Aws::WAFV2
102
165
  def message
103
166
  @message || @data[:message]
104
167
  end
105
-
106
168
  end
107
169
 
108
170
  class WAFLimitsExceededException < ServiceError
@@ -118,7 +180,6 @@ module Aws::WAFV2
118
180
  def message
119
181
  @message || @data[:message]
120
182
  end
121
-
122
183
  end
123
184
 
124
185
  class WAFNonexistentItemException < ServiceError
@@ -134,7 +195,6 @@ module Aws::WAFV2
134
195
  def message
135
196
  @message || @data[:message]
136
197
  end
137
-
138
198
  end
139
199
 
140
200
  class WAFOptimisticLockException < ServiceError
@@ -150,7 +210,6 @@ module Aws::WAFV2
150
210
  def message
151
211
  @message || @data[:message]
152
212
  end
153
-
154
213
  end
155
214
 
156
215
  class WAFServiceLinkedRoleErrorException < ServiceError
@@ -166,7 +225,21 @@ module Aws::WAFV2
166
225
  def message
167
226
  @message || @data[:message]
168
227
  end
228
+ end
169
229
 
230
+ class WAFSubscriptionNotFoundException < ServiceError
231
+
232
+ # @param [Seahorse::Client::RequestContext] context
233
+ # @param [String] message
234
+ # @param [Aws::WAFV2::Types::WAFSubscriptionNotFoundException] data
235
+ def initialize(context, message, data = Aws::EmptyStructure.new)
236
+ super(context, message, data)
237
+ end
238
+
239
+ # @return [String]
240
+ def message
241
+ @message || @data[:message]
242
+ end
170
243
  end
171
244
 
172
245
  class WAFTagOperationException < ServiceError
@@ -182,7 +255,6 @@ module Aws::WAFV2
182
255
  def message
183
256
  @message || @data[:message]
184
257
  end
185
-
186
258
  end
187
259
 
188
260
  class WAFTagOperationInternalErrorException < ServiceError
@@ -198,7 +270,6 @@ module Aws::WAFV2
198
270
  def message
199
271
  @message || @data[:message]
200
272
  end
201
-
202
273
  end
203
274
 
204
275
  class WAFUnavailableEntityException < ServiceError
@@ -214,7 +285,6 @@ module Aws::WAFV2
214
285
  def message
215
286
  @message || @data[:message]
216
287
  end
217
-
218
288
  end
219
289
 
220
290
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::WAFV2
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -17,6 +17,9 @@ module Aws::WAFV2
17
17
  #
18
18
  # All query arguments of a web request.
19
19
  #
20
+ # This is used only to indicate the web request component for AWS WAF to
21
+ # inspect, in the FieldToMatch specification.
22
+ #
20
23
  #
21
24
  #
22
25
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -36,6 +39,9 @@ module Aws::WAFV2
36
39
  #
37
40
  # Specifies that AWS WAF should allow requests.
38
41
  #
42
+ # This is used only in the context of other settings, for example to
43
+ # specify values for RuleAction and web ACL DefaultAction.
44
+ #
39
45
  #
40
46
  #
41
47
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -282,15 +288,12 @@ module Aws::WAFV2
282
288
  #
283
289
  # The ARN must be in one of the following formats:
284
290
  #
285
- # * For a CloudFront distribution:
286
- # `arn:aws:cloudfront::account-id:distribution/distribution-id `
287
- #
288
- # * For an Application Load Balancer: `arn:aws:elasticloadbalancing:
289
- # region:account-id:loadbalancer/app/load-balancer-name
290
- # /load-balancer-id `
291
+ # * For an Application Load Balancer:
292
+ # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
293
+ # `
291
294
  #
292
- # * For an Amazon API Gateway stage: `arn:aws:apigateway:region
293
- # ::/restapis/api-id/stages/stage-name `
295
+ # * For an Amazon API Gateway stage:
296
+ # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
294
297
  # @return [String]
295
298
  #
296
299
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AssociateWebACLRequest AWS API Documentation
@@ -314,6 +317,9 @@ module Aws::WAFV2
314
317
  #
315
318
  # Specifies that AWS WAF should block requests.
316
319
  #
320
+ # This is used only in the context of other settings, for example to
321
+ # specify values for RuleAction and web ACL DefaultAction.
322
+ #
317
323
  #
318
324
  #
319
325
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -334,6 +340,9 @@ module Aws::WAFV2
334
340
  # The body of a web request. This immediately follows the request
335
341
  # headers.
336
342
  #
343
+ # This is used only to indicate the web request component for AWS WAF to
344
+ # inspect, in the FieldToMatch specification.
345
+ #
337
346
  #
338
347
  #
339
348
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -399,8 +408,8 @@ module Aws::WAFV2
399
408
  # only in the part of web requests that you designate for inspection
400
409
  # in FieldToMatch. The maximum length of the value is 50 bytes.
401
410
  #
402
- # Valid values depend on the areas that you specify for inspection in
403
- # `FieldToMatch`\:
411
+ # Valid values depend on the component that you specify for inspection
412
+ # in `FieldToMatch`\:
404
413
  #
405
414
  # * `Method`\: The HTTP method that you want AWS WAF to search for.
406
415
  # This indicates the type of operation specified in the request.
@@ -437,9 +446,9 @@ module Aws::WAFV2
437
446
  # Text transformations eliminate some of the unusual formatting that
438
447
  # attackers use in web requests in an effort to bypass detection. If
439
448
  # you specify one or more transformations in a rule statement, AWS WAF
440
- # performs all transformations on the content identified by
441
- # `FieldToMatch`, starting from the lowest priority setting, before
442
- # inspecting the content for a match.
449
+ # performs all transformations on the content of the request component
450
+ # identified by `FieldToMatch`, starting from the lowest priority
451
+ # setting, before inspecting the content for a match.
443
452
  # @return [Array<Types::TextTransformation>]
444
453
  #
445
454
  # @!attribute [rw] positional_constraint
@@ -721,7 +730,7 @@ module Aws::WAFV2
721
730
  # To work with CloudFront, you must also specify the Region US East
722
731
  # (N. Virginia) as follows:
723
732
  #
724
- # * CLI - Specify the region when you use the CloudFront scope:
733
+ # * CLI - Specify the Region when you use the CloudFront scope:
725
734
  # `--scope=CLOUDFRONT --region=us-east-1`.
726
735
  #
727
736
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -760,6 +769,9 @@ module Aws::WAFV2
760
769
  #
761
770
  # Specifies that AWS WAF should count requests.
762
771
  #
772
+ # This is used only in the context of other settings, for example to
773
+ # specify values for RuleAction and web ACL DefaultAction.
774
+ #
763
775
  #
764
776
  #
765
777
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -788,8 +800,8 @@ module Aws::WAFV2
788
800
  # }
789
801
  #
790
802
  # @!attribute [rw] name
791
- # A friendly name of the IP set. You cannot change the name of an
792
- # `IPSet` after you create it.
803
+ # The name of the IP set. You cannot change the name of an `IPSet`
804
+ # after you create it.
793
805
  # @return [String]
794
806
  #
795
807
  # @!attribute [rw] scope
@@ -800,15 +812,15 @@ module Aws::WAFV2
800
812
  # To work with CloudFront, you must also specify the Region US East
801
813
  # (N. Virginia) as follows:
802
814
  #
803
- # * CLI - Specify the region when you use the CloudFront scope:
815
+ # * CLI - Specify the Region when you use the CloudFront scope:
804
816
  # `--scope=CLOUDFRONT --region=us-east-1`.
805
817
  #
806
818
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
807
819
  # @return [String]
808
820
  #
809
821
  # @!attribute [rw] description
810
- # A friendly description of the IP set. You cannot change the
811
- # description of an IP set after you create it.
822
+ # A description of the IP set that helps with identification. You
823
+ # cannot change the description of an IP set after you create it.
812
824
  # @return [String]
813
825
  #
814
826
  # @!attribute [rw] ip_address_version
@@ -901,8 +913,8 @@ module Aws::WAFV2
901
913
  # }
902
914
  #
903
915
  # @!attribute [rw] name
904
- # A friendly name of the set. You cannot change the name after you
905
- # create the set.
916
+ # The name of the set. You cannot change the name after you create the
917
+ # set.
906
918
  # @return [String]
907
919
  #
908
920
  # @!attribute [rw] scope
@@ -913,15 +925,15 @@ module Aws::WAFV2
913
925
  # To work with CloudFront, you must also specify the Region US East
914
926
  # (N. Virginia) as follows:
915
927
  #
916
- # * CLI - Specify the region when you use the CloudFront scope:
928
+ # * CLI - Specify the Region when you use the CloudFront scope:
917
929
  # `--scope=CLOUDFRONT --region=us-east-1`.
918
930
  #
919
931
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
920
932
  # @return [String]
921
933
  #
922
934
  # @!attribute [rw] description
923
- # A friendly description of the set. You cannot change the description
924
- # of a set after you create it.
935
+ # A description of the set that helps with identification. You cannot
936
+ # change the description of a set after you create it.
925
937
  # @return [String]
926
938
  #
927
939
  # @!attribute [rw] regular_expression_list
@@ -1191,8 +1203,8 @@ module Aws::WAFV2
1191
1203
  # }
1192
1204
  #
1193
1205
  # @!attribute [rw] name
1194
- # A friendly name of the rule group. You cannot change the name of a
1195
- # rule group after you create it.
1206
+ # The name of the rule group. You cannot change the name of a rule
1207
+ # group after you create it.
1196
1208
  # @return [String]
1197
1209
  #
1198
1210
  # @!attribute [rw] scope
@@ -1203,7 +1215,7 @@ module Aws::WAFV2
1203
1215
  # To work with CloudFront, you must also specify the Region US East
1204
1216
  # (N. Virginia) as follows:
1205
1217
  #
1206
- # * CLI - Specify the region when you use the CloudFront scope:
1218
+ # * CLI - Specify the Region when you use the CloudFront scope:
1207
1219
  # `--scope=CLOUDFRONT --region=us-east-1`.
1208
1220
  #
1209
1221
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1228,8 +1240,8 @@ module Aws::WAFV2
1228
1240
  # @return [Integer]
1229
1241
  #
1230
1242
  # @!attribute [rw] description
1231
- # A friendly description of the rule group. You cannot change the
1232
- # description of a rule group after you create it.
1243
+ # A description of the rule group that helps with identification. You
1244
+ # cannot change the description of a rule group after you create it.
1233
1245
  # @return [String]
1234
1246
  #
1235
1247
  # @!attribute [rw] rules
@@ -1514,8 +1526,8 @@ module Aws::WAFV2
1514
1526
  # }
1515
1527
  #
1516
1528
  # @!attribute [rw] name
1517
- # A friendly name of the Web ACL. You cannot change the name of a Web
1518
- # ACL after you create it.
1529
+ # The name of the Web ACL. You cannot change the name of a Web ACL
1530
+ # after you create it.
1519
1531
  # @return [String]
1520
1532
  #
1521
1533
  # @!attribute [rw] scope
@@ -1526,7 +1538,7 @@ module Aws::WAFV2
1526
1538
  # To work with CloudFront, you must also specify the Region US East
1527
1539
  # (N. Virginia) as follows:
1528
1540
  #
1529
- # * CLI - Specify the region when you use the CloudFront scope:
1541
+ # * CLI - Specify the Region when you use the CloudFront scope:
1530
1542
  # `--scope=CLOUDFRONT --region=us-east-1`.
1531
1543
  #
1532
1544
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1538,8 +1550,8 @@ module Aws::WAFV2
1538
1550
  # @return [Types::DefaultAction]
1539
1551
  #
1540
1552
  # @!attribute [rw] description
1541
- # A friendly description of the Web ACL. You cannot change the
1542
- # description of a Web ACL after you create it.
1553
+ # A description of the Web ACL that helps with identification. You
1554
+ # cannot change the description of a Web ACL after you create it.
1543
1555
  # @return [String]
1544
1556
  #
1545
1557
  # @!attribute [rw] rules
@@ -1592,10 +1604,9 @@ module Aws::WAFV2
1592
1604
  #
1593
1605
  # </note>
1594
1606
  #
1595
- # In a `WebACL`, this is the action that you want AWS WAF to perform
1596
- # when a web request doesn't match any of the rules in the `WebACL`.
1597
- # The default action must be a terminating action, so count is not
1598
- # allowed.
1607
+ # In a WebACL, this is the action that you want AWS WAF to perform when
1608
+ # a web request doesn't match any of the rules in the `WebACL`. The
1609
+ # default action must be a terminating action, so count is not allowed.
1599
1610
  #
1600
1611
  #
1601
1612
  #
@@ -1627,6 +1638,57 @@ module Aws::WAFV2
1627
1638
  include Aws::Structure
1628
1639
  end
1629
1640
 
1641
+ # @note When making an API call, you may pass DeleteFirewallManagerRuleGroupsRequest
1642
+ # data as a hash:
1643
+ #
1644
+ # {
1645
+ # web_acl_arn: "ResourceArn", # required
1646
+ # web_acl_lock_token: "LockToken", # required
1647
+ # }
1648
+ #
1649
+ # @!attribute [rw] web_acl_arn
1650
+ # The Amazon Resource Name (ARN) of the web ACL.
1651
+ # @return [String]
1652
+ #
1653
+ # @!attribute [rw] web_acl_lock_token
1654
+ # A token used for optimistic locking. AWS WAF returns a token to your
1655
+ # get and list requests, to mark the state of the entity at the time
1656
+ # of the request. To make changes to the entity associated with the
1657
+ # token, you provide the token to operations like update and delete.
1658
+ # AWS WAF uses the token to ensure that no changes have been made to
1659
+ # the entity since you last retrieved it. If a change has been made,
1660
+ # the update fails with a `WAFOptimisticLockException`. If this
1661
+ # happens, perform another get, and use the new token returned by that
1662
+ # operation.
1663
+ # @return [String]
1664
+ #
1665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroupsRequest AWS API Documentation
1666
+ #
1667
+ class DeleteFirewallManagerRuleGroupsRequest < Struct.new(
1668
+ :web_acl_arn,
1669
+ :web_acl_lock_token)
1670
+ include Aws::Structure
1671
+ end
1672
+
1673
+ # @!attribute [rw] next_web_acl_lock_token
1674
+ # A token used for optimistic locking. AWS WAF returns a token to your
1675
+ # get and list requests, to mark the state of the entity at the time
1676
+ # of the request. To make changes to the entity associated with the
1677
+ # token, you provide the token to operations like update and delete.
1678
+ # AWS WAF uses the token to ensure that no changes have been made to
1679
+ # the entity since you last retrieved it. If a change has been made,
1680
+ # the update fails with a `WAFOptimisticLockException`. If this
1681
+ # happens, perform another get, and use the new token returned by that
1682
+ # operation.
1683
+ # @return [String]
1684
+ #
1685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroupsResponse AWS API Documentation
1686
+ #
1687
+ class DeleteFirewallManagerRuleGroupsResponse < Struct.new(
1688
+ :next_web_acl_lock_token)
1689
+ include Aws::Structure
1690
+ end
1691
+
1630
1692
  # @note When making an API call, you may pass DeleteIPSetRequest
1631
1693
  # data as a hash:
1632
1694
  #
@@ -1638,8 +1700,8 @@ module Aws::WAFV2
1638
1700
  # }
1639
1701
  #
1640
1702
  # @!attribute [rw] name
1641
- # A friendly name of the IP set. You cannot change the name of an
1642
- # `IPSet` after you create it.
1703
+ # The name of the IP set. You cannot change the name of an `IPSet`
1704
+ # after you create it.
1643
1705
  # @return [String]
1644
1706
  #
1645
1707
  # @!attribute [rw] scope
@@ -1650,7 +1712,7 @@ module Aws::WAFV2
1650
1712
  # To work with CloudFront, you must also specify the Region US East
1651
1713
  # (N. Virginia) as follows:
1652
1714
  #
1653
- # * CLI - Specify the region when you use the CloudFront scope:
1715
+ # * CLI - Specify the Region when you use the CloudFront scope:
1654
1716
  # `--scope=CLOUDFRONT --region=us-east-1`.
1655
1717
  #
1656
1718
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1711,6 +1773,31 @@ module Aws::WAFV2
1711
1773
  #
1712
1774
  class DeleteLoggingConfigurationResponse < Aws::EmptyStructure; end
1713
1775
 
1776
+ # @note When making an API call, you may pass DeletePermissionPolicyRequest
1777
+ # data as a hash:
1778
+ #
1779
+ # {
1780
+ # resource_arn: "ResourceArn", # required
1781
+ # }
1782
+ #
1783
+ # @!attribute [rw] resource_arn
1784
+ # The Amazon Resource Name (ARN) of the rule group from which you want
1785
+ # to delete the policy.
1786
+ #
1787
+ # You must be the owner of the rule group to perform this operation.
1788
+ # @return [String]
1789
+ #
1790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeletePermissionPolicyRequest AWS API Documentation
1791
+ #
1792
+ class DeletePermissionPolicyRequest < Struct.new(
1793
+ :resource_arn)
1794
+ include Aws::Structure
1795
+ end
1796
+
1797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeletePermissionPolicyResponse AWS API Documentation
1798
+ #
1799
+ class DeletePermissionPolicyResponse < Aws::EmptyStructure; end
1800
+
1714
1801
  # @note When making an API call, you may pass DeleteRegexPatternSetRequest
1715
1802
  # data as a hash:
1716
1803
  #
@@ -1722,8 +1809,8 @@ module Aws::WAFV2
1722
1809
  # }
1723
1810
  #
1724
1811
  # @!attribute [rw] name
1725
- # A friendly name of the set. You cannot change the name after you
1726
- # create the set.
1812
+ # The name of the set. You cannot change the name after you create the
1813
+ # set.
1727
1814
  # @return [String]
1728
1815
  #
1729
1816
  # @!attribute [rw] scope
@@ -1734,7 +1821,7 @@ module Aws::WAFV2
1734
1821
  # To work with CloudFront, you must also specify the Region US East
1735
1822
  # (N. Virginia) as follows:
1736
1823
  #
1737
- # * CLI - Specify the region when you use the CloudFront scope:
1824
+ # * CLI - Specify the Region when you use the CloudFront scope:
1738
1825
  # `--scope=CLOUDFRONT --region=us-east-1`.
1739
1826
  #
1740
1827
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1783,8 +1870,8 @@ module Aws::WAFV2
1783
1870
  # }
1784
1871
  #
1785
1872
  # @!attribute [rw] name
1786
- # A friendly name of the rule group. You cannot change the name of a
1787
- # rule group after you create it.
1873
+ # The name of the rule group. You cannot change the name of a rule
1874
+ # group after you create it.
1788
1875
  # @return [String]
1789
1876
  #
1790
1877
  # @!attribute [rw] scope
@@ -1795,7 +1882,7 @@ module Aws::WAFV2
1795
1882
  # To work with CloudFront, you must also specify the Region US East
1796
1883
  # (N. Virginia) as follows:
1797
1884
  #
1798
- # * CLI - Specify the region when you use the CloudFront scope:
1885
+ # * CLI - Specify the Region when you use the CloudFront scope:
1799
1886
  # `--scope=CLOUDFRONT --region=us-east-1`.
1800
1887
  #
1801
1888
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1844,8 +1931,8 @@ module Aws::WAFV2
1844
1931
  # }
1845
1932
  #
1846
1933
  # @!attribute [rw] name
1847
- # A friendly name of the Web ACL. You cannot change the name of a Web
1848
- # ACL after you create it.
1934
+ # The name of the Web ACL. You cannot change the name of a Web ACL
1935
+ # after you create it.
1849
1936
  # @return [String]
1850
1937
  #
1851
1938
  # @!attribute [rw] scope
@@ -1856,7 +1943,7 @@ module Aws::WAFV2
1856
1943
  # To work with CloudFront, you must also specify the Region US East
1857
1944
  # (N. Virginia) as follows:
1858
1945
  #
1859
- # * CLI - Specify the region when you use the CloudFront scope:
1946
+ # * CLI - Specify the Region when you use the CloudFront scope:
1860
1947
  # `--scope=CLOUDFRONT --region=us-east-1`.
1861
1948
  #
1862
1949
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1921,7 +2008,7 @@ module Aws::WAFV2
1921
2008
  # To work with CloudFront, you must also specify the Region US East
1922
2009
  # (N. Virginia) as follows:
1923
2010
  #
1924
- # * CLI - Specify the region when you use the CloudFront scope:
2011
+ # * CLI - Specify the Region when you use the CloudFront scope:
1925
2012
  # `--scope=CLOUDFRONT --region=us-east-1`.
1926
2013
  #
1927
2014
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1970,15 +2057,12 @@ module Aws::WAFV2
1970
2057
  #
1971
2058
  # The ARN must be in one of the following formats:
1972
2059
  #
1973
- # * For a CloudFront distribution:
1974
- # `arn:aws:cloudfront::account-id:distribution/distribution-id `
1975
- #
1976
- # * For an Application Load Balancer: `arn:aws:elasticloadbalancing:
1977
- # region:account-id:loadbalancer/app/load-balancer-name
1978
- # /load-balancer-id `
2060
+ # * For an Application Load Balancer:
2061
+ # `arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
2062
+ # `
1979
2063
  #
1980
- # * For an Amazon API Gateway stage: `arn:aws:apigateway:region
1981
- # ::/restapis/api-id/stages/stage-name `
2064
+ # * For an Amazon API Gateway stage:
2065
+ # `arn:aws:apigateway:region::/restapis/api-id/stages/stage-name `
1982
2066
  # @return [String]
1983
2067
  #
1984
2068
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DisassociateWebACLRequest AWS API Documentation
@@ -2034,8 +2118,11 @@ module Aws::WAFV2
2034
2118
  # </note>
2035
2119
  #
2036
2120
  # The part of a web request that you want AWS WAF to inspect. Include
2037
- # the `FieldToMatch` types that you want to inspect, with additional
2038
- # specifications as needed, according to the type.
2121
+ # the single `FieldToMatch` type that you want to inspect, with
2122
+ # additional specifications as needed, according to the type. You
2123
+ # specify a single request component in `FieldToMatch` for each rule
2124
+ # statement that requires it. To inspect more than one component of a
2125
+ # web request, create a separate rule statement for each component.
2039
2126
  #
2040
2127
  #
2041
2128
  #
@@ -2073,6 +2160,9 @@ module Aws::WAFV2
2073
2160
  # Inspect a single query argument. Provide the name of the query
2074
2161
  # argument to inspect, such as *UserName* or *SalesRegion*. The name
2075
2162
  # can be up to 30 characters long and isn't case sensitive.
2163
+ #
2164
+ # This is used only to indicate the web request component for AWS WAF
2165
+ # to inspect, in the FieldToMatch specification.
2076
2166
  # @return [Types::SingleQueryArgument]
2077
2167
  #
2078
2168
  # @!attribute [rw] all_query_arguments
@@ -2096,10 +2186,10 @@ module Aws::WAFV2
2096
2186
  # body, such as data from a form.
2097
2187
  #
2098
2188
  # Note that only the first 8 KB (8192 bytes) of the request body are
2099
- # forwarded to AWS WAF for inspection. If you don't need to inspect
2100
- # more than 8 KB, you can guarantee that you don't allow additional
2101
- # bytes in by combining a statement that inspects the body of the web
2102
- # request, such as ByteMatchStatement or
2189
+ # forwarded to AWS WAF for inspection by the underlying host service.
2190
+ # If you don't need to inspect more than 8 KB, you can guarantee that
2191
+ # you don't allow additional bytes in by combining a statement that
2192
+ # inspects the body of the web request, such as ByteMatchStatement or
2103
2193
  # RegexPatternSetReferenceStatement, with a SizeConstraintStatement
2104
2194
  # that enforces an 8 KB size limit on the body of the request. AWS WAF
2105
2195
  # doesn't support inspecting the entire contents of web requests
@@ -2124,6 +2214,128 @@ module Aws::WAFV2
2124
2214
  include Aws::Structure
2125
2215
  end
2126
2216
 
2217
+ # A rule group that's defined for an AWS Firewall Manager WAF policy.
2218
+ #
2219
+ # @!attribute [rw] name
2220
+ # The name of the rule group. You cannot change the name of a rule
2221
+ # group after you create it.
2222
+ # @return [String]
2223
+ #
2224
+ # @!attribute [rw] priority
2225
+ # If you define more than one rule group in the first or last Firewall
2226
+ # Manager rule groups, AWS WAF evaluates each request against the rule
2227
+ # groups in order, starting from the lowest priority setting. The
2228
+ # priorities don't need to be consecutive, but they must all be
2229
+ # different.
2230
+ # @return [Integer]
2231
+ #
2232
+ # @!attribute [rw] firewall_manager_statement
2233
+ # The processing guidance for an AWS Firewall Manager rule. This is
2234
+ # like a regular rule Statement, but it can only contain a rule group
2235
+ # reference.
2236
+ # @return [Types::FirewallManagerStatement]
2237
+ #
2238
+ # @!attribute [rw] override_action
2239
+ # The override action to apply to the rules in a rule group. Used only
2240
+ # for rule statements that reference a rule group, like
2241
+ # `RuleGroupReferenceStatement` and `ManagedRuleGroupStatement`.
2242
+ #
2243
+ # Set the override action to none to leave the rule actions in effect.
2244
+ # Set it to count to only count matches, regardless of the rule action
2245
+ # settings.
2246
+ #
2247
+ # In a Rule, you must specify either this `OverrideAction` setting or
2248
+ # the rule `Action` setting, but not both:
2249
+ #
2250
+ # * If the rule statement references a rule group, use this override
2251
+ # action setting and not the action setting.
2252
+ #
2253
+ # * If the rule statement does not reference a rule group, use the
2254
+ # rule action setting and not this rule override action setting.
2255
+ # @return [Types::OverrideAction]
2256
+ #
2257
+ # @!attribute [rw] visibility_config
2258
+ # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2259
+ # in November, 2019. For information, including how to migrate your
2260
+ # AWS WAF resources from the prior release, see the [AWS WAF Developer
2261
+ # Guide][1].
2262
+ #
2263
+ # </note>
2264
+ #
2265
+ # Defines and enables Amazon CloudWatch metrics and web request sample
2266
+ # collection.
2267
+ #
2268
+ #
2269
+ #
2270
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2271
+ # @return [Types::VisibilityConfig]
2272
+ #
2273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerRuleGroup AWS API Documentation
2274
+ #
2275
+ class FirewallManagerRuleGroup < Struct.new(
2276
+ :name,
2277
+ :priority,
2278
+ :firewall_manager_statement,
2279
+ :override_action,
2280
+ :visibility_config)
2281
+ include Aws::Structure
2282
+ end
2283
+
2284
+ # The processing guidance for an AWS Firewall Manager rule. This is like
2285
+ # a regular rule Statement, but it can only contain a rule group
2286
+ # reference.
2287
+ #
2288
+ # @!attribute [rw] managed_rule_group_statement
2289
+ # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2290
+ # in November, 2019. For information, including how to migrate your
2291
+ # AWS WAF resources from the prior release, see the [AWS WAF Developer
2292
+ # Guide][1].
2293
+ #
2294
+ # </note>
2295
+ #
2296
+ # A rule statement used to run the rules that are defined in a managed
2297
+ # rule group. To use this, provide the vendor name and the name of the
2298
+ # rule group in this statement. You can retrieve the required names by
2299
+ # calling ListAvailableManagedRuleGroups.
2300
+ #
2301
+ # You can't nest a `ManagedRuleGroupStatement`, for example for use
2302
+ # inside a `NotStatement` or `OrStatement`. It can only be referenced
2303
+ # as a top-level statement within a rule.
2304
+ #
2305
+ #
2306
+ #
2307
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2308
+ # @return [Types::ManagedRuleGroupStatement]
2309
+ #
2310
+ # @!attribute [rw] rule_group_reference_statement
2311
+ # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2312
+ # in November, 2019. For information, including how to migrate your
2313
+ # AWS WAF resources from the prior release, see the [AWS WAF Developer
2314
+ # Guide][1].
2315
+ #
2316
+ # </note>
2317
+ #
2318
+ # A rule statement used to run the rules that are defined in a
2319
+ # RuleGroup. To use this, create a rule group with your rules, then
2320
+ # provide the ARN of the rule group in this statement.
2321
+ #
2322
+ # You cannot nest a `RuleGroupReferenceStatement`, for example for use
2323
+ # inside a `NotStatement` or `OrStatement`. It can only be referenced
2324
+ # as a top-level statement within a rule.
2325
+ #
2326
+ #
2327
+ #
2328
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2329
+ # @return [Types::RuleGroupReferenceStatement]
2330
+ #
2331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/FirewallManagerStatement AWS API Documentation
2332
+ #
2333
+ class FirewallManagerStatement < Struct.new(
2334
+ :managed_rule_group_statement,
2335
+ :rule_group_reference_statement)
2336
+ include Aws::Structure
2337
+ end
2338
+
2127
2339
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
2128
2340
  # in November, 2019. For information, including how to migrate your AWS
2129
2341
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -2168,8 +2380,8 @@ module Aws::WAFV2
2168
2380
  # }
2169
2381
  #
2170
2382
  # @!attribute [rw] name
2171
- # A friendly name of the IP set. You cannot change the name of an
2172
- # `IPSet` after you create it.
2383
+ # The name of the IP set. You cannot change the name of an `IPSet`
2384
+ # after you create it.
2173
2385
  # @return [String]
2174
2386
  #
2175
2387
  # @!attribute [rw] scope
@@ -2180,7 +2392,7 @@ module Aws::WAFV2
2180
2392
  # To work with CloudFront, you must also specify the Region US East
2181
2393
  # (N. Virginia) as follows:
2182
2394
  #
2183
- # * CLI - Specify the region when you use the CloudFront scope:
2395
+ # * CLI - Specify the Region when you use the CloudFront scope:
2184
2396
  # `--scope=CLOUDFRONT --region=us-east-1`.
2185
2397
  #
2186
2398
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2254,6 +2466,36 @@ module Aws::WAFV2
2254
2466
  include Aws::Structure
2255
2467
  end
2256
2468
 
2469
+ # @note When making an API call, you may pass GetPermissionPolicyRequest
2470
+ # data as a hash:
2471
+ #
2472
+ # {
2473
+ # resource_arn: "ResourceArn", # required
2474
+ # }
2475
+ #
2476
+ # @!attribute [rw] resource_arn
2477
+ # The Amazon Resource Name (ARN) of the rule group for which you want
2478
+ # to get the policy.
2479
+ # @return [String]
2480
+ #
2481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetPermissionPolicyRequest AWS API Documentation
2482
+ #
2483
+ class GetPermissionPolicyRequest < Struct.new(
2484
+ :resource_arn)
2485
+ include Aws::Structure
2486
+ end
2487
+
2488
+ # @!attribute [rw] policy
2489
+ # The IAM policy that is attached to the specified rule group.
2490
+ # @return [String]
2491
+ #
2492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetPermissionPolicyResponse AWS API Documentation
2493
+ #
2494
+ class GetPermissionPolicyResponse < Struct.new(
2495
+ :policy)
2496
+ include Aws::Structure
2497
+ end
2498
+
2257
2499
  # @note When making an API call, you may pass GetRateBasedStatementManagedKeysRequest
2258
2500
  # data as a hash:
2259
2501
  #
@@ -2272,15 +2514,15 @@ module Aws::WAFV2
2272
2514
  # To work with CloudFront, you must also specify the Region US East
2273
2515
  # (N. Virginia) as follows:
2274
2516
  #
2275
- # * CLI - Specify the region when you use the CloudFront scope:
2517
+ # * CLI - Specify the Region when you use the CloudFront scope:
2276
2518
  # `--scope=CLOUDFRONT --region=us-east-1`.
2277
2519
  #
2278
2520
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
2279
2521
  # @return [String]
2280
2522
  #
2281
2523
  # @!attribute [rw] web_acl_name
2282
- # A friendly name of the Web ACL. You cannot change the name of a Web
2283
- # ACL after you create it.
2524
+ # The name of the Web ACL. You cannot change the name of a Web ACL
2525
+ # after you create it.
2284
2526
  # @return [String]
2285
2527
  #
2286
2528
  # @!attribute [rw] web_acl_id
@@ -2329,8 +2571,8 @@ module Aws::WAFV2
2329
2571
  # }
2330
2572
  #
2331
2573
  # @!attribute [rw] name
2332
- # A friendly name of the set. You cannot change the name after you
2333
- # create the set.
2574
+ # The name of the set. You cannot change the name after you create the
2575
+ # set.
2334
2576
  # @return [String]
2335
2577
  #
2336
2578
  # @!attribute [rw] scope
@@ -2341,7 +2583,7 @@ module Aws::WAFV2
2341
2583
  # To work with CloudFront, you must also specify the Region US East
2342
2584
  # (N. Virginia) as follows:
2343
2585
  #
2344
- # * CLI - Specify the region when you use the CloudFront scope:
2586
+ # * CLI - Specify the Region when you use the CloudFront scope:
2345
2587
  # `--scope=CLOUDFRONT --region=us-east-1`.
2346
2588
  #
2347
2589
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2395,8 +2637,8 @@ module Aws::WAFV2
2395
2637
  # }
2396
2638
  #
2397
2639
  # @!attribute [rw] name
2398
- # A friendly name of the rule group. You cannot change the name of a
2399
- # rule group after you create it.
2640
+ # The name of the rule group. You cannot change the name of a rule
2641
+ # group after you create it.
2400
2642
  # @return [String]
2401
2643
  #
2402
2644
  # @!attribute [rw] scope
@@ -2407,7 +2649,7 @@ module Aws::WAFV2
2407
2649
  # To work with CloudFront, you must also specify the Region US East
2408
2650
  # (N. Virginia) as follows:
2409
2651
  #
2410
- # * CLI - Specify the region when you use the CloudFront scope:
2652
+ # * CLI - Specify the Region when you use the CloudFront scope:
2411
2653
  # `--scope=CLOUDFRONT --region=us-east-1`.
2412
2654
  #
2413
2655
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2483,7 +2725,7 @@ module Aws::WAFV2
2483
2725
  # To work with CloudFront, you must also specify the Region US East
2484
2726
  # (N. Virginia) as follows:
2485
2727
  #
2486
- # * CLI - Specify the region when you use the CloudFront scope:
2728
+ # * CLI - Specify the Region when you use the CloudFront scope:
2487
2729
  # `--scope=CLOUDFRONT --region=us-east-1`.
2488
2730
  #
2489
2731
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2585,8 +2827,8 @@ module Aws::WAFV2
2585
2827
  # }
2586
2828
  #
2587
2829
  # @!attribute [rw] name
2588
- # A friendly name of the Web ACL. You cannot change the name of a Web
2589
- # ACL after you create it.
2830
+ # The name of the Web ACL. You cannot change the name of a Web ACL
2831
+ # after you create it.
2590
2832
  # @return [String]
2591
2833
  #
2592
2834
  # @!attribute [rw] scope
@@ -2597,7 +2839,7 @@ module Aws::WAFV2
2597
2839
  # To work with CloudFront, you must also specify the Region US East
2598
2840
  # (N. Virginia) as follows:
2599
2841
  #
2600
- # * CLI - Specify the region when you use the CloudFront scope:
2842
+ # * CLI - Specify the Region when you use the CloudFront scope:
2601
2843
  # `--scope=CLOUDFRONT --region=us-east-1`.
2602
2844
  #
2603
2845
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2765,8 +3007,8 @@ module Aws::WAFV2
2765
3007
  # [2]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
2766
3008
  #
2767
3009
  # @!attribute [rw] name
2768
- # A friendly name of the IP set. You cannot change the name of an
2769
- # `IPSet` after you create it.
3010
+ # The name of the IP set. You cannot change the name of an `IPSet`
3011
+ # after you create it.
2770
3012
  # @return [String]
2771
3013
  #
2772
3014
  # @!attribute [rw] id
@@ -2780,8 +3022,8 @@ module Aws::WAFV2
2780
3022
  # @return [String]
2781
3023
  #
2782
3024
  # @!attribute [rw] description
2783
- # A friendly description of the IP set. You cannot change the
2784
- # description of an IP set after you create it.
3025
+ # A description of the IP set that helps with identification. You
3026
+ # cannot change the description of an IP set after you create it.
2785
3027
  # @return [String]
2786
3028
  #
2787
3029
  # @!attribute [rw] ip_address_version
@@ -2892,8 +3134,8 @@ module Aws::WAFV2
2892
3134
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2893
3135
  #
2894
3136
  # @!attribute [rw] name
2895
- # A friendly name of the IP set. You cannot change the name of an
2896
- # `IPSet` after you create it.
3137
+ # The name of the IP set. You cannot change the name of an `IPSet`
3138
+ # after you create it.
2897
3139
  # @return [String]
2898
3140
  #
2899
3141
  # @!attribute [rw] id
@@ -2903,8 +3145,8 @@ module Aws::WAFV2
2903
3145
  # @return [String]
2904
3146
  #
2905
3147
  # @!attribute [rw] description
2906
- # A friendly description of the IP set. You cannot change the
2907
- # description of an IP set after you create it.
3148
+ # A description of the IP set that helps with identification. You
3149
+ # cannot change the description of an IP set after you create it.
2908
3150
  # @return [String]
2909
3151
  #
2910
3152
  # @!attribute [rw] lock_token
@@ -2951,7 +3193,7 @@ module Aws::WAFV2
2951
3193
  # To work with CloudFront, you must also specify the Region US East
2952
3194
  # (N. Virginia) as follows:
2953
3195
  #
2954
- # * CLI - Specify the region when you use the CloudFront scope:
3196
+ # * CLI - Specify the Region when you use the CloudFront scope:
2955
3197
  # `--scope=CLOUDFRONT --region=us-east-1`.
2956
3198
  #
2957
3199
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3017,7 +3259,7 @@ module Aws::WAFV2
3017
3259
  # To work with CloudFront, you must also specify the Region US East
3018
3260
  # (N. Virginia) as follows:
3019
3261
  #
3020
- # * CLI - Specify the region when you use the CloudFront scope:
3262
+ # * CLI - Specify the Region when you use the CloudFront scope:
3021
3263
  # `--scope=CLOUDFRONT --region=us-east-1`.
3022
3264
  #
3023
3265
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3085,7 +3327,7 @@ module Aws::WAFV2
3085
3327
  # To work with CloudFront, you must also specify the Region US East
3086
3328
  # (N. Virginia) as follows:
3087
3329
  #
3088
- # * CLI - Specify the region when you use the CloudFront scope:
3330
+ # * CLI - Specify the Region when you use the CloudFront scope:
3089
3331
  # `--scope=CLOUDFRONT --region=us-east-1`.
3090
3332
  #
3091
3333
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3151,7 +3393,7 @@ module Aws::WAFV2
3151
3393
  # To work with CloudFront, you must also specify the Region US East
3152
3394
  # (N. Virginia) as follows:
3153
3395
  #
3154
- # * CLI - Specify the region when you use the CloudFront scope:
3396
+ # * CLI - Specify the Region when you use the CloudFront scope:
3155
3397
  # `--scope=CLOUDFRONT --region=us-east-1`.
3156
3398
  #
3157
3399
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3255,7 +3497,7 @@ module Aws::WAFV2
3255
3497
  # To work with CloudFront, you must also specify the Region US East
3256
3498
  # (N. Virginia) as follows:
3257
3499
  #
3258
- # * CLI - Specify the region when you use the CloudFront scope:
3500
+ # * CLI - Specify the Region when you use the CloudFront scope:
3259
3501
  # `--scope=CLOUDFRONT --region=us-east-1`.
3260
3502
  #
3261
3503
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3378,7 +3620,7 @@ module Aws::WAFV2
3378
3620
  # To work with CloudFront, you must also specify the Region US East
3379
3621
  # (N. Virginia) as follows:
3380
3622
  #
3381
- # * CLI - Specify the region when you use the CloudFront scope:
3623
+ # * CLI - Specify the Region when you use the CloudFront scope:
3382
3624
  # `--scope=CLOUDFRONT --region=us-east-1`.
3383
3625
  #
3384
3626
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3565,7 +3807,7 @@ module Aws::WAFV2
3565
3807
  # ListAvailableManagedRuleGroups. This provides information like the
3566
3808
  # name and vendor name, that you provide when you add a
3567
3809
  # ManagedRuleGroupStatement to a web ACL. Managed rule groups include
3568
- # AWS managed rule groups, which are free of charge to AWS WAF
3810
+ # AWS Managed Rules rule groups, which are free of charge to AWS WAF
3569
3811
  # customers, and AWS Marketplace managed rule groups, which you can
3570
3812
  # subscribe to through AWS Marketplace.
3571
3813
  #
@@ -3584,8 +3826,8 @@ module Aws::WAFV2
3584
3826
  # @return [String]
3585
3827
  #
3586
3828
  # @!attribute [rw] description
3587
- # The description of the managed rule group, provided by AWS or the
3588
- # AWS Marketplace seller who manages it.
3829
+ # The description of the managed rule group, provided by AWS Managed
3830
+ # Rules or the AWS Marketplace seller who manages it.
3589
3831
  # @return [String]
3590
3832
  #
3591
3833
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ManagedRuleGroupSummary AWS API Documentation
@@ -3607,6 +3849,9 @@ module Aws::WAFV2
3607
3849
  # The HTTP method of a web request. The method indicates the type of
3608
3850
  # operation that the request is asking the origin to perform.
3609
3851
  #
3852
+ # This is used only to indicate the web request component for AWS WAF to
3853
+ # inspect, in the FieldToMatch specification.
3854
+ #
3610
3855
  #
3611
3856
  #
3612
3857
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -3626,8 +3871,10 @@ module Aws::WAFV2
3626
3871
  #
3627
3872
  # Specifies that AWS WAF should do nothing. This is generally used to
3628
3873
  # try out a rule without performing any actions. You set the
3629
- # `OverrideAction` on the Rule, and override the actions that are set at
3630
- # the statement level.
3874
+ # `OverrideAction` on the Rule.
3875
+ #
3876
+ # This is used only in the context of other settings, for example to
3877
+ # specify values for RuleAction and web ACL DefaultAction.
3631
3878
  #
3632
3879
  #
3633
3880
  #
@@ -4073,21 +4320,22 @@ module Aws::WAFV2
4073
4320
  include Aws::Structure
4074
4321
  end
4075
4322
 
4076
- # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4077
- # in November, 2019. For information, including how to migrate your AWS
4078
- # WAF resources from the prior release, see the [AWS WAF Developer
4079
- # Guide][1].
4080
- #
4081
- # </note>
4323
+ # The override action to apply to the rules in a rule group. Used only
4324
+ # for rule statements that reference a rule group, like
4325
+ # `RuleGroupReferenceStatement` and `ManagedRuleGroupStatement`.
4082
4326
  #
4083
- # The action to use to override the rule's `Action` setting. You can
4084
- # use no override action, in which case the rule action is in effect, or
4085
- # count, in which case, if the rule matches a web request, it only
4086
- # counts the match.
4327
+ # Set the override action to none to leave the rule actions in effect.
4328
+ # Set it to count to only count matches, regardless of the rule action
4329
+ # settings.
4087
4330
  #
4331
+ # In a Rule, you must specify either this `OverrideAction` setting or
4332
+ # the rule `Action` setting, but not both:
4088
4333
  #
4334
+ # * If the rule statement references a rule group, use this override
4335
+ # action setting and not the action setting.
4089
4336
  #
4090
- # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4337
+ # * If the rule statement does not reference a rule group, use the rule
4338
+ # action setting and not this rule override action setting.
4091
4339
  #
4092
4340
  # @note When making an API call, you may pass OverrideAction
4093
4341
  # data as a hash:
@@ -4165,6 +4413,57 @@ module Aws::WAFV2
4165
4413
  include Aws::Structure
4166
4414
  end
4167
4415
 
4416
+ # @note When making an API call, you may pass PutPermissionPolicyRequest
4417
+ # data as a hash:
4418
+ #
4419
+ # {
4420
+ # resource_arn: "ResourceArn", # required
4421
+ # policy: "PolicyString", # required
4422
+ # }
4423
+ #
4424
+ # @!attribute [rw] resource_arn
4425
+ # The Amazon Resource Name (ARN) of the RuleGroup to which you want to
4426
+ # attach the policy.
4427
+ # @return [String]
4428
+ #
4429
+ # @!attribute [rw] policy
4430
+ # The policy to attach to the specified rule group.
4431
+ #
4432
+ # The policy specifications must conform to the following:
4433
+ #
4434
+ # * The policy must be composed using IAM Policy version 2012-10-17 or
4435
+ # version 2015-01-01.
4436
+ #
4437
+ # * The policy must include specifications for `Effect`, `Action`, and
4438
+ # `Principal`.
4439
+ #
4440
+ # * `Effect` must specify `Allow`.
4441
+ #
4442
+ # * `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`,
4443
+ # and `wafv2:PutFirewallManagerRuleGroups`. AWS WAF rejects any
4444
+ # extra actions or wildcard actions in the policy.
4445
+ #
4446
+ # * The policy must not include a `Resource` parameter.
4447
+ #
4448
+ # For more information, see [IAM Policies][1].
4449
+ #
4450
+ #
4451
+ #
4452
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
4453
+ # @return [String]
4454
+ #
4455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutPermissionPolicyRequest AWS API Documentation
4456
+ #
4457
+ class PutPermissionPolicyRequest < Struct.new(
4458
+ :resource_arn,
4459
+ :policy)
4460
+ include Aws::Structure
4461
+ end
4462
+
4463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutPermissionPolicyResponse AWS API Documentation
4464
+ #
4465
+ class PutPermissionPolicyResponse < Aws::EmptyStructure; end
4466
+
4168
4467
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
4169
4468
  # in November, 2019. For information, including how to migrate your AWS
4170
4469
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -4175,6 +4474,9 @@ module Aws::WAFV2
4175
4474
  # The query string of a web request. This is the part of a URL that
4176
4475
  # appears after a `?` character, if any.
4177
4476
  #
4477
+ # This is used only to indicate the web request component for AWS WAF to
4478
+ # inspect, in the FieldToMatch specification.
4479
+ #
4178
4480
  #
4179
4481
  #
4180
4482
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -4529,8 +4831,8 @@ module Aws::WAFV2
4529
4831
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4530
4832
  #
4531
4833
  # @!attribute [rw] name
4532
- # A friendly name of the set. You cannot change the name after you
4533
- # create the set.
4834
+ # The name of the set. You cannot change the name after you create the
4835
+ # set.
4534
4836
  # @return [String]
4535
4837
  #
4536
4838
  # @!attribute [rw] id
@@ -4544,8 +4846,8 @@ module Aws::WAFV2
4544
4846
  # @return [String]
4545
4847
  #
4546
4848
  # @!attribute [rw] description
4547
- # A friendly description of the set. You cannot change the description
4548
- # of a set after you create it.
4849
+ # A description of the set that helps with identification. You cannot
4850
+ # change the description of a set after you create it.
4549
4851
  # @return [String]
4550
4852
  #
4551
4853
  # @!attribute [rw] regular_expression_list
@@ -4632,9 +4934,9 @@ module Aws::WAFV2
4632
4934
  # Text transformations eliminate some of the unusual formatting that
4633
4935
  # attackers use in web requests in an effort to bypass detection. If
4634
4936
  # you specify one or more transformations in a rule statement, AWS WAF
4635
- # performs all transformations on the content identified by
4636
- # `FieldToMatch`, starting from the lowest priority setting, before
4637
- # inspecting the content for a match.
4937
+ # performs all transformations on the content of the request component
4938
+ # identified by `FieldToMatch`, starting from the lowest priority
4939
+ # setting, before inspecting the content for a match.
4638
4940
  # @return [Array<Types::TextTransformation>]
4639
4941
  #
4640
4942
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RegexPatternSetReferenceStatement AWS API Documentation
@@ -4664,8 +4966,8 @@ module Aws::WAFV2
4664
4966
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4665
4967
  #
4666
4968
  # @!attribute [rw] name
4667
- # A friendly name of the data type instance. You cannot change the
4668
- # name after you create the instance.
4969
+ # The name of the data type instance. You cannot change the name after
4970
+ # you create the instance.
4669
4971
  # @return [String]
4670
4972
  #
4671
4973
  # @!attribute [rw] id
@@ -4675,8 +4977,8 @@ module Aws::WAFV2
4675
4977
  # @return [String]
4676
4978
  #
4677
4979
  # @!attribute [rw] description
4678
- # A friendly description of the set. You cannot change the description
4679
- # of a set after you create it.
4980
+ # A description of the set that helps with identification. You cannot
4981
+ # change the description of a set after you create it.
4680
4982
  # @return [String]
4681
4983
  #
4682
4984
  # @!attribute [rw] lock_token
@@ -4937,8 +5239,8 @@ module Aws::WAFV2
4937
5239
  # }
4938
5240
  #
4939
5241
  # @!attribute [rw] name
4940
- # A friendly name of the rule. You can't change the name of a `Rule`
4941
- # after you create it.
5242
+ # The name of the rule. You can't change the name of a `Rule` after
5243
+ # you create it.
4942
5244
  # @return [String]
4943
5245
  #
4944
5246
  # @!attribute [rw] priority
@@ -4956,15 +5258,40 @@ module Aws::WAFV2
4956
5258
  #
4957
5259
  # @!attribute [rw] action
4958
5260
  # The action that AWS WAF should take on a web request when it matches
4959
- # the rule's statement. Settings at the web ACL level can override
4960
- # the rule action setting.
5261
+ # the rule statement. Settings at the web ACL level can override the
5262
+ # rule action setting.
5263
+ #
5264
+ # This is used only for rules whose statements do not reference a rule
5265
+ # group. Rule statements that reference a rule group include
5266
+ # `RuleGroupReferenceStatement` and `ManagedRuleGroupStatement`.
5267
+ #
5268
+ # You must specify either this `Action` setting or the rule
5269
+ # `OverrideAction` setting, but not both:
5270
+ #
5271
+ # * If the rule statement does not reference a rule group, use this
5272
+ # rule action setting and not the rule override action setting.
5273
+ #
5274
+ # * If the rule statement references a rule group, use the override
5275
+ # action setting and not this action setting.
4961
5276
  # @return [Types::RuleAction]
4962
5277
  #
4963
5278
  # @!attribute [rw] override_action
4964
- # The action to use to override the rule's `Action` setting. You can
4965
- # use no override action, in which case the rule action is in effect,
4966
- # or count action, in which case, if the rule matches a web request,
4967
- # it only counts the match.
5279
+ # The override action to apply to the rules in a rule group. Used only
5280
+ # for rule statements that reference a rule group, like
5281
+ # `RuleGroupReferenceStatement` and `ManagedRuleGroupStatement`.
5282
+ #
5283
+ # Set the override action to none to leave the rule actions in effect.
5284
+ # Set it to count to only count matches, regardless of the rule action
5285
+ # settings.
5286
+ #
5287
+ # In a Rule, you must specify either this `OverrideAction` setting or
5288
+ # the rule `Action` setting, but not both:
5289
+ #
5290
+ # * If the rule statement references a rule group, use this override
5291
+ # action setting and not the action setting.
5292
+ #
5293
+ # * If the rule statement does not reference a rule group, use the
5294
+ # rule action setting and not this rule override action setting.
4968
5295
  # @return [Types::OverrideAction]
4969
5296
  #
4970
5297
  # @!attribute [rw] visibility_config
@@ -5050,8 +5377,8 @@ module Aws::WAFV2
5050
5377
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5051
5378
  #
5052
5379
  # @!attribute [rw] name
5053
- # A friendly name of the rule group. You cannot change the name of a
5054
- # rule group after you create it.
5380
+ # The name of the rule group. You cannot change the name of a rule
5381
+ # group after you create it.
5055
5382
  # @return [String]
5056
5383
  #
5057
5384
  # @!attribute [rw] id
@@ -5083,8 +5410,8 @@ module Aws::WAFV2
5083
5410
  # @return [String]
5084
5411
  #
5085
5412
  # @!attribute [rw] description
5086
- # A friendly description of the rule group. You cannot change the
5087
- # description of a rule group after you create it.
5413
+ # A description of the rule group that helps with identification. You
5414
+ # cannot change the description of a rule group after you create it.
5088
5415
  # @return [String]
5089
5416
  #
5090
5417
  # @!attribute [rw] rules
@@ -5178,8 +5505,8 @@ module Aws::WAFV2
5178
5505
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
5179
5506
  #
5180
5507
  # @!attribute [rw] name
5181
- # A friendly name of the data type instance. You cannot change the
5182
- # name after you create the instance.
5508
+ # The name of the data type instance. You cannot change the name after
5509
+ # you create the instance.
5183
5510
  # @return [String]
5184
5511
  #
5185
5512
  # @!attribute [rw] id
@@ -5189,8 +5516,8 @@ module Aws::WAFV2
5189
5516
  # @return [String]
5190
5517
  #
5191
5518
  # @!attribute [rw] description
5192
- # A friendly description of the rule group. You cannot change the
5193
- # description of a rule group after you create it.
5519
+ # A description of the rule group that helps with identification. You
5520
+ # cannot change the description of a rule group after you create it.
5194
5521
  # @return [String]
5195
5522
  #
5196
5523
  # @!attribute [rw] lock_token
@@ -5333,6 +5660,9 @@ module Aws::WAFV2
5333
5660
  # One of the headers in a web request, identified by name, for example,
5334
5661
  # `User-Agent` or `Referer`. This setting isn't case sensitive.
5335
5662
  #
5663
+ # This is used only to indicate the web request component for AWS WAF to
5664
+ # inspect, in the FieldToMatch specification.
5665
+ #
5336
5666
  #
5337
5667
  #
5338
5668
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -5464,9 +5794,9 @@ module Aws::WAFV2
5464
5794
  # Text transformations eliminate some of the unusual formatting that
5465
5795
  # attackers use in web requests in an effort to bypass detection. If
5466
5796
  # you specify one or more transformations in a rule statement, AWS WAF
5467
- # performs all transformations on the content identified by
5468
- # `FieldToMatch`, starting from the lowest priority setting, before
5469
- # inspecting the content for a match.
5797
+ # performs all transformations on the content of the request component
5798
+ # identified by `FieldToMatch`, starting from the lowest priority
5799
+ # setting, before inspecting the content for a match.
5470
5800
  # @return [Array<Types::TextTransformation>]
5471
5801
  #
5472
5802
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/SizeConstraintStatement AWS API Documentation
@@ -5538,9 +5868,9 @@ module Aws::WAFV2
5538
5868
  # Text transformations eliminate some of the unusual formatting that
5539
5869
  # attackers use in web requests in an effort to bypass detection. If
5540
5870
  # you specify one or more transformations in a rule statement, AWS WAF
5541
- # performs all transformations on the content identified by
5542
- # `FieldToMatch`, starting from the lowest priority setting, before
5543
- # inspecting the content for a match.
5871
+ # performs all transformations on the content of the request component
5872
+ # identified by `FieldToMatch`, starting from the lowest priority
5873
+ # setting, before inspecting the content for a match.
5544
5874
  # @return [Array<Types::TextTransformation>]
5545
5875
  #
5546
5876
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/SqliMatchStatement AWS API Documentation
@@ -6960,8 +7290,8 @@ module Aws::WAFV2
6960
7290
  # }
6961
7291
  #
6962
7292
  # @!attribute [rw] name
6963
- # A friendly name of the IP set. You cannot change the name of an
6964
- # `IPSet` after you create it.
7293
+ # The name of the IP set. You cannot change the name of an `IPSet`
7294
+ # after you create it.
6965
7295
  # @return [String]
6966
7296
  #
6967
7297
  # @!attribute [rw] scope
@@ -6972,7 +7302,7 @@ module Aws::WAFV2
6972
7302
  # To work with CloudFront, you must also specify the Region US East
6973
7303
  # (N. Virginia) as follows:
6974
7304
  #
6975
- # * CLI - Specify the region when you use the CloudFront scope:
7305
+ # * CLI - Specify the Region when you use the CloudFront scope:
6976
7306
  # `--scope=CLOUDFRONT --region=us-east-1`.
6977
7307
  #
6978
7308
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -6985,8 +7315,8 @@ module Aws::WAFV2
6985
7315
  # @return [String]
6986
7316
  #
6987
7317
  # @!attribute [rw] description
6988
- # A friendly description of the IP set. You cannot change the
6989
- # description of an IP set after you create it.
7318
+ # A description of the IP set that helps with identification. You
7319
+ # cannot change the description of an IP set after you create it.
6990
7320
  # @return [String]
6991
7321
  #
6992
7322
  # @!attribute [rw] addresses
@@ -7078,8 +7408,8 @@ module Aws::WAFV2
7078
7408
  # }
7079
7409
  #
7080
7410
  # @!attribute [rw] name
7081
- # A friendly name of the set. You cannot change the name after you
7082
- # create the set.
7411
+ # The name of the set. You cannot change the name after you create the
7412
+ # set.
7083
7413
  # @return [String]
7084
7414
  #
7085
7415
  # @!attribute [rw] scope
@@ -7090,7 +7420,7 @@ module Aws::WAFV2
7090
7420
  # To work with CloudFront, you must also specify the Region US East
7091
7421
  # (N. Virginia) as follows:
7092
7422
  #
7093
- # * CLI - Specify the region when you use the CloudFront scope:
7423
+ # * CLI - Specify the Region when you use the CloudFront scope:
7094
7424
  # `--scope=CLOUDFRONT --region=us-east-1`.
7095
7425
  #
7096
7426
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -7103,8 +7433,8 @@ module Aws::WAFV2
7103
7433
  # @return [String]
7104
7434
  #
7105
7435
  # @!attribute [rw] description
7106
- # A friendly description of the set. You cannot change the description
7107
- # of a set after you create it.
7436
+ # A description of the set that helps with identification. You cannot
7437
+ # change the description of a set after you create it.
7108
7438
  # @return [String]
7109
7439
  #
7110
7440
  # @!attribute [rw] regular_expression_list
@@ -7375,8 +7705,8 @@ module Aws::WAFV2
7375
7705
  # }
7376
7706
  #
7377
7707
  # @!attribute [rw] name
7378
- # A friendly name of the rule group. You cannot change the name of a
7379
- # rule group after you create it.
7708
+ # The name of the rule group. You cannot change the name of a rule
7709
+ # group after you create it.
7380
7710
  # @return [String]
7381
7711
  #
7382
7712
  # @!attribute [rw] scope
@@ -7387,7 +7717,7 @@ module Aws::WAFV2
7387
7717
  # To work with CloudFront, you must also specify the Region US East
7388
7718
  # (N. Virginia) as follows:
7389
7719
  #
7390
- # * CLI - Specify the region when you use the CloudFront scope:
7720
+ # * CLI - Specify the Region when you use the CloudFront scope:
7391
7721
  # `--scope=CLOUDFRONT --region=us-east-1`.
7392
7722
  #
7393
7723
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -7400,8 +7730,8 @@ module Aws::WAFV2
7400
7730
  # @return [String]
7401
7731
  #
7402
7732
  # @!attribute [rw] description
7403
- # A friendly description of the rule group. You cannot change the
7404
- # description of a rule group after you create it.
7733
+ # A description of the rule group that helps with identification. You
7734
+ # cannot change the description of a rule group after you create it.
7405
7735
  # @return [String]
7406
7736
  #
7407
7737
  # @!attribute [rw] rules
@@ -7688,8 +8018,8 @@ module Aws::WAFV2
7688
8018
  # }
7689
8019
  #
7690
8020
  # @!attribute [rw] name
7691
- # A friendly name of the Web ACL. You cannot change the name of a Web
7692
- # ACL after you create it.
8021
+ # The name of the Web ACL. You cannot change the name of a Web ACL
8022
+ # after you create it.
7693
8023
  # @return [String]
7694
8024
  #
7695
8025
  # @!attribute [rw] scope
@@ -7700,7 +8030,7 @@ module Aws::WAFV2
7700
8030
  # To work with CloudFront, you must also specify the Region US East
7701
8031
  # (N. Virginia) as follows:
7702
8032
  #
7703
- # * CLI - Specify the region when you use the CloudFront scope:
8033
+ # * CLI - Specify the Region when you use the CloudFront scope:
7704
8034
  # `--scope=CLOUDFRONT --region=us-east-1`.
7705
8035
  #
7706
8036
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -7718,8 +8048,8 @@ module Aws::WAFV2
7718
8048
  # @return [Types::DefaultAction]
7719
8049
  #
7720
8050
  # @!attribute [rw] description
7721
- # A friendly description of the Web ACL. You cannot change the
7722
- # description of a Web ACL after you create it.
8051
+ # A description of the Web ACL that helps with identification. You
8052
+ # cannot change the description of a Web ACL after you create it.
7723
8053
  # @return [String]
7724
8054
  #
7725
8055
  # @!attribute [rw] rules
@@ -7784,6 +8114,9 @@ module Aws::WAFV2
7784
8114
  # web request that identifies a resource, for example,
7785
8115
  # `/images/daily-ad.jpg`.
7786
8116
  #
8117
+ # This is used only to indicate the web request component for AWS WAF to
8118
+ # inspect, in the FieldToMatch specification.
8119
+ #
7787
8120
  #
7788
8121
  #
7789
8122
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
@@ -7834,7 +8167,7 @@ module Aws::WAFV2
7834
8167
  # @return [Boolean]
7835
8168
  #
7836
8169
  # @!attribute [rw] metric_name
7837
- # A friendly name of the CloudWatch metric. The name can contain only
8170
+ # A name of the CloudWatch metric. The name can contain only
7838
8171
  # alphanumeric characters (A-Z, a-z, 0-9), with length from one to 128
7839
8172
  # characters. It can't contain whitespace or metric names reserved
7840
8173
  # for AWS WAF, for example "All" and "Default\_Action." You can't
@@ -7889,6 +8222,18 @@ module Aws::WAFV2
7889
8222
  include Aws::Structure
7890
8223
  end
7891
8224
 
8225
+ # The operation isn't valid.
8226
+ #
8227
+ # @!attribute [rw] message
8228
+ # @return [String]
8229
+ #
8230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFInvalidOperationException AWS API Documentation
8231
+ #
8232
+ class WAFInvalidOperationException < Struct.new(
8233
+ :message)
8234
+ include Aws::Structure
8235
+ end
8236
+
7892
8237
  # The operation failed because AWS WAF didn't recognize a parameter in
7893
8238
  # the request. For example:
7894
8239
  #
@@ -7925,6 +8270,41 @@ module Aws::WAFV2
7925
8270
  include Aws::Structure
7926
8271
  end
7927
8272
 
8273
+ # The operation failed because the specified policy isn't in the proper
8274
+ # format.
8275
+ #
8276
+ # The policy specifications must conform to the following:
8277
+ #
8278
+ # * The policy must be composed using IAM Policy version 2012-10-17 or
8279
+ # version 2015-01-01.
8280
+ #
8281
+ # * The policy must include specifications for `Effect`, `Action`, and
8282
+ # `Principal`.
8283
+ #
8284
+ # * `Effect` must specify `Allow`.
8285
+ #
8286
+ # * `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`,
8287
+ # and `wafv2:PutFirewallManagerRuleGroups`. AWS WAF rejects any extra
8288
+ # actions or wildcard actions in the policy.
8289
+ #
8290
+ # * The policy must not include a `Resource` parameter.
8291
+ #
8292
+ # For more information, see [IAM Policies][1].
8293
+ #
8294
+ #
8295
+ #
8296
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
8297
+ #
8298
+ # @!attribute [rw] message
8299
+ # @return [String]
8300
+ #
8301
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFInvalidPermissionPolicyException AWS API Documentation
8302
+ #
8303
+ class WAFInvalidPermissionPolicyException < Struct.new(
8304
+ :message)
8305
+ include Aws::Structure
8306
+ end
8307
+
7928
8308
  # AWS WAF couldn’t perform the operation because the resource that you
7929
8309
  # requested isn’t valid. Check the resource, and try again.
7930
8310
  #
@@ -8005,6 +8385,16 @@ module Aws::WAFV2
8005
8385
  include Aws::Structure
8006
8386
  end
8007
8387
 
8388
+ # @!attribute [rw] message
8389
+ # @return [String]
8390
+ #
8391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WAFSubscriptionNotFoundException AWS API Documentation
8392
+ #
8393
+ class WAFSubscriptionNotFoundException < Struct.new(
8394
+ :message)
8395
+ include Aws::Structure
8396
+ end
8397
+
8008
8398
  # An error occurred during the tagging operation. Retry your request.
8009
8399
  #
8010
8400
  # @!attribute [rw] message
@@ -8065,8 +8455,8 @@ module Aws::WAFV2
8065
8455
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8066
8456
  #
8067
8457
  # @!attribute [rw] name
8068
- # A friendly name of the Web ACL. You cannot change the name of a Web
8069
- # ACL after you create it.
8458
+ # The name of the Web ACL. You cannot change the name of a Web ACL
8459
+ # after you create it.
8070
8460
  # @return [String]
8071
8461
  #
8072
8462
  # @!attribute [rw] id
@@ -8086,8 +8476,8 @@ module Aws::WAFV2
8086
8476
  # @return [Types::DefaultAction]
8087
8477
  #
8088
8478
  # @!attribute [rw] description
8089
- # A friendly description of the Web ACL. You cannot change the
8090
- # description of a Web ACL after you create it.
8479
+ # A description of the Web ACL that helps with identification. You
8480
+ # cannot change the description of a Web ACL after you create it.
8091
8481
  # @return [String]
8092
8482
  #
8093
8483
  # @!attribute [rw] rules
@@ -8116,6 +8506,38 @@ module Aws::WAFV2
8116
8506
  # for web ACLs is 1,500.
8117
8507
  # @return [Integer]
8118
8508
  #
8509
+ # @!attribute [rw] pre_process_firewall_manager_rule_groups
8510
+ # The first set of rules for AWS WAF to process in the web ACL. This
8511
+ # is defined in an AWS Firewall Manager WAF policy and contains only
8512
+ # rule group references. You can't alter these. Any rules and rule
8513
+ # groups that you define for the web ACL are prioritized after these.
8514
+ #
8515
+ # In the Firewall Manager WAF policy, the Firewall Manager
8516
+ # administrator can define a set of rule groups to run first in the
8517
+ # web ACL and a set of rule groups to run last. Within each set, the
8518
+ # administrator prioritizes the rule groups, to determine their
8519
+ # relative processing order.
8520
+ # @return [Array<Types::FirewallManagerRuleGroup>]
8521
+ #
8522
+ # @!attribute [rw] post_process_firewall_manager_rule_groups
8523
+ # The last set of rules for AWS WAF to process in the web ACL. This is
8524
+ # defined in an AWS Firewall Manager WAF policy and contains only rule
8525
+ # group references. You can't alter these. Any rules and rule groups
8526
+ # that you define for the web ACL are prioritized before these.
8527
+ #
8528
+ # In the Firewall Manager WAF policy, the Firewall Manager
8529
+ # administrator can define a set of rule groups to run first in the
8530
+ # web ACL and a set of rule groups to run last. Within each set, the
8531
+ # administrator prioritizes the rule groups, to determine their
8532
+ # relative processing order.
8533
+ # @return [Array<Types::FirewallManagerRuleGroup>]
8534
+ #
8535
+ # @!attribute [rw] managed_by_firewall_manager
8536
+ # Indicates whether this web ACL is managed by AWS Firewall Manager.
8537
+ # If true, then only AWS Firewall Manager can delete the web ACL or
8538
+ # any Firewall Manager rule groups in the web ACL.
8539
+ # @return [Boolean]
8540
+ #
8119
8541
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WebACL AWS API Documentation
8120
8542
  #
8121
8543
  class WebACL < Struct.new(
@@ -8126,7 +8548,10 @@ module Aws::WAFV2
8126
8548
  :description,
8127
8549
  :rules,
8128
8550
  :visibility_config,
8129
- :capacity)
8551
+ :capacity,
8552
+ :pre_process_firewall_manager_rule_groups,
8553
+ :post_process_firewall_manager_rule_groups,
8554
+ :managed_by_firewall_manager)
8130
8555
  include Aws::Structure
8131
8556
  end
8132
8557
 
@@ -8147,8 +8572,8 @@ module Aws::WAFV2
8147
8572
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
8148
8573
  #
8149
8574
  # @!attribute [rw] name
8150
- # A friendly name of the Web ACL. You cannot change the name of a Web
8151
- # ACL after you create it.
8575
+ # The name of the Web ACL. You cannot change the name of a Web ACL
8576
+ # after you create it.
8152
8577
  # @return [String]
8153
8578
  #
8154
8579
  # @!attribute [rw] id
@@ -8158,8 +8583,8 @@ module Aws::WAFV2
8158
8583
  # @return [String]
8159
8584
  #
8160
8585
  # @!attribute [rw] description
8161
- # A friendly description of the Web ACL. You cannot change the
8162
- # description of a Web ACL after you create it.
8586
+ # A description of the Web ACL that helps with identification. You
8587
+ # cannot change the description of a Web ACL after you create it.
8163
8588
  # @return [String]
8164
8589
  #
8165
8590
  # @!attribute [rw] lock_token
@@ -8248,9 +8673,9 @@ module Aws::WAFV2
8248
8673
  # Text transformations eliminate some of the unusual formatting that
8249
8674
  # attackers use in web requests in an effort to bypass detection. If
8250
8675
  # you specify one or more transformations in a rule statement, AWS WAF
8251
- # performs all transformations on the content identified by
8252
- # `FieldToMatch`, starting from the lowest priority setting, before
8253
- # inspecting the content for a match.
8676
+ # performs all transformations on the content of the request component
8677
+ # identified by `FieldToMatch`, starting from the lowest priority
8678
+ # setting, before inspecting the content for a match.
8254
8679
  # @return [Array<Types::TextTransformation>]
8255
8680
  #
8256
8681
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/XssMatchStatement AWS API Documentation