aws-sdk-wafv2 1.1.0 → 1.6.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ca8f4cd6356b4a82e5a2ae1940075b1257364b7b
4
- data.tar.gz: 345d69380ddf284f3950a92808f0c741c97c5d93
2
+ SHA256:
3
+ metadata.gz: 74e014fca8307c8c91cc8b574384bb8251dc7a4305d7708755d537e6a94a28ab
4
+ data.tar.gz: d185c5eb15490fc40218b3f44a76c6363441e14c2f1ace5bd6393e27c9f76557
5
5
  SHA512:
6
- metadata.gz: 6286f80bb1f3a5ff9336551cbea6ce7117c970a3ea1274474a272bda833ae0efbc5b9f8d9006ee2c5f21db0be774d96e1b9393f5d3ea7e69c43bb198c63df1cd
7
- data.tar.gz: 6988c818e2d346710e7c866a139fc44f5e8432e1bde877843f6d8fb970f2ab908c0605bcdd1717281ba0b2ce23575b7bdabda679f8df3ee42f89596bbf94f8ce
6
+ metadata.gz: 1b4bd6d6721e9097723da9b4e077a50b0a2fa60beb18e3aa4467eda9a5ffc4d3c2b24c3e777bd883ee9c0fefb7519fd6838efb07dd51cc04b54a70465b6dffb4
7
+ data.tar.gz: c2339044da229d3b3599b3ef521a136453cfe38a3e7d99e45d11754fe560dd36e9c0d8e135c66a0da04e1bc9136b353e64b08321a2a896ac0387d172f5c1ef7e
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-wafv2/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # wafv2 = Aws::WAFV2::Client.new
28
+ # resp = wafv2.associate_web_acl(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS WAFV2 all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS WAFV2 are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::WAFV2::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS WAFV2 API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-wafv2/customizations'
42
45
  # @service
43
46
  module Aws::WAFV2
44
47
 
45
- GEM_VERSION = '1.1.0'
48
+ GEM_VERSION = '1.6.1'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:wafv2)
31
32
 
32
33
  module Aws::WAFV2
34
+ # An API client for WAFV2. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::WAFV2::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::WAFV2
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
76
 
@@ -93,7 +107,7 @@ module Aws::WAFV2
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::WAFV2
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::WAFV2
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::WAFV2
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::WAFV2
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::WAFV2
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::WAFV2
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -219,16 +276,15 @@ module Aws::WAFV2
219
276
  # requests through. Formatted like 'http://proxy.com:123'.
220
277
  #
221
278
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
279
+ # seconds to wait when opening a HTTP session before raising a
223
280
  # `Timeout::Error`.
224
281
  #
225
282
  # @option options [Integer] :http_read_timeout (60) The default
226
283
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
284
+ # safely be set per-request on the session.
229
285
  #
230
286
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
287
+ # seconds a connection is allowed to sit idle before it is
232
288
  # considered stale. Stale connections are closed and removed
233
289
  # from the pool before making a request.
234
290
  #
@@ -237,7 +293,7 @@ module Aws::WAFV2
237
293
  # request body. This option has no effect unless the request has
238
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
295
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
296
+ # request on the session.
241
297
  #
242
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
299
  # HTTP debug output will be sent to the `:logger`.
@@ -275,9 +331,11 @@ module Aws::WAFV2
275
331
  # the resource. A regional application can be an Application Load
276
332
  # Balancer (ALB) or an API Gateway stage.
277
333
  #
278
- # For AWS CloudFront, you can associate the Web ACL by providing the
279
- # `ARN` of the WebACL to the CloudFront API call `UpdateDistribution`.
280
- # For information, see [UpdateDistribution][2].
334
+ # For AWS CloudFront, don't use this call. Instead, use your CloudFront
335
+ # distribution configuration. To associate a Web ACL, in the CloudFront
336
+ # call `UpdateDistribution`, set the web ACL ID to the Amazon Resource
337
+ # Name (ARN) of the Web ACL. For information, see
338
+ # [UpdateDistribution][2].
281
339
  #
282
340
  #
283
341
  #
@@ -351,7 +409,7 @@ module Aws::WAFV2
351
409
  # To work with CloudFront, you must also specify the Region US East (N.
352
410
  # Virginia) as follows:
353
411
  #
354
- # * CLI - Specify the region when you use the CloudFront scope:
412
+ # * CLI - Specify the Region when you use the CloudFront scope:
355
413
  # `--scope=CLOUDFRONT --region=us-east-1`.
356
414
  #
357
415
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -612,8 +670,8 @@ module Aws::WAFV2
612
670
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
613
671
  #
614
672
  # @option params [required, String] :name
615
- # A friendly name of the IP set. You cannot change the name of an
616
- # `IPSet` after you create it.
673
+ # The name of the IP set. You cannot change the name of an `IPSet` after
674
+ # you create it.
617
675
  #
618
676
  # @option params [required, String] :scope
619
677
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -623,14 +681,14 @@ module Aws::WAFV2
623
681
  # To work with CloudFront, you must also specify the Region US East (N.
624
682
  # Virginia) as follows:
625
683
  #
626
- # * CLI - Specify the region when you use the CloudFront scope:
684
+ # * CLI - Specify the Region when you use the CloudFront scope:
627
685
  # `--scope=CLOUDFRONT --region=us-east-1`.
628
686
  #
629
687
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
630
688
  #
631
689
  # @option params [String] :description
632
- # A friendly description of the IP set. You cannot change the
633
- # description of an IP set after you create it.
690
+ # A description of the IP set that helps with identification. You cannot
691
+ # change the description of an IP set after you create it.
634
692
  #
635
693
  # @option params [required, String] :ip_address_version
636
694
  # Specify IPV4 or IPV6.
@@ -723,8 +781,8 @@ module Aws::WAFV2
723
781
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
724
782
  #
725
783
  # @option params [required, String] :name
726
- # A friendly name of the set. You cannot change the name after you
727
- # create the set.
784
+ # The name of the set. You cannot change the name after you create the
785
+ # set.
728
786
  #
729
787
  # @option params [required, String] :scope
730
788
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -734,14 +792,14 @@ module Aws::WAFV2
734
792
  # To work with CloudFront, you must also specify the Region US East (N.
735
793
  # Virginia) as follows:
736
794
  #
737
- # * CLI - Specify the region when you use the CloudFront scope:
795
+ # * CLI - Specify the Region when you use the CloudFront scope:
738
796
  # `--scope=CLOUDFRONT --region=us-east-1`.
739
797
  #
740
798
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
741
799
  #
742
800
  # @option params [String] :description
743
- # A friendly description of the set. You cannot change the description
744
- # of a set after you create it.
801
+ # A description of the set that helps with identification. You cannot
802
+ # change the description of a set after you create it.
745
803
  #
746
804
  # @option params [required, Array<Types::Regex>] :regular_expression_list
747
805
  # Array of regular expression strings.
@@ -809,8 +867,8 @@ module Aws::WAFV2
809
867
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
810
868
  #
811
869
  # @option params [required, String] :name
812
- # A friendly name of the rule group. You cannot change the name of a
813
- # rule group after you create it.
870
+ # The name of the rule group. You cannot change the name of a rule group
871
+ # after you create it.
814
872
  #
815
873
  # @option params [required, String] :scope
816
874
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -820,7 +878,7 @@ module Aws::WAFV2
820
878
  # To work with CloudFront, you must also specify the Region US East (N.
821
879
  # Virginia) as follows:
822
880
  #
823
- # * CLI - Specify the region when you use the CloudFront scope:
881
+ # * CLI - Specify the Region when you use the CloudFront scope:
824
882
  # `--scope=CLOUDFRONT --region=us-east-1`.
825
883
  #
826
884
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -843,8 +901,8 @@ module Aws::WAFV2
843
901
  # ACLs is 1,500.
844
902
  #
845
903
  # @option params [String] :description
846
- # A friendly description of the rule group. You cannot change the
847
- # description of a rule group after you create it.
904
+ # A description of the rule group that helps with identification. You
905
+ # cannot change the description of a rule group after you create it.
848
906
  #
849
907
  # @option params [Array<Types::Rule>] :rules
850
908
  # The Rule statements used to identify the web requests that you want to
@@ -1135,8 +1193,8 @@ module Aws::WAFV2
1135
1193
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1136
1194
  #
1137
1195
  # @option params [required, String] :name
1138
- # A friendly name of the Web ACL. You cannot change the name of a Web
1139
- # ACL after you create it.
1196
+ # The name of the Web ACL. You cannot change the name of a Web ACL after
1197
+ # you create it.
1140
1198
  #
1141
1199
  # @option params [required, String] :scope
1142
1200
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1146,7 +1204,7 @@ module Aws::WAFV2
1146
1204
  # To work with CloudFront, you must also specify the Region US East (N.
1147
1205
  # Virginia) as follows:
1148
1206
  #
1149
- # * CLI - Specify the region when you use the CloudFront scope:
1207
+ # * CLI - Specify the Region when you use the CloudFront scope:
1150
1208
  # `--scope=CLOUDFRONT --region=us-east-1`.
1151
1209
  #
1152
1210
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1156,8 +1214,8 @@ module Aws::WAFV2
1156
1214
  # match.
1157
1215
  #
1158
1216
  # @option params [String] :description
1159
- # A friendly description of the Web ACL. You cannot change the
1160
- # description of a Web ACL after you create it.
1217
+ # A description of the Web ACL that helps with identification. You
1218
+ # cannot change the description of a Web ACL after you create it.
1161
1219
  #
1162
1220
  # @option params [Array<Types::Rule>] :rules
1163
1221
  # The Rule statements used to identify the web requests that you want to
@@ -1429,6 +1487,49 @@ module Aws::WAFV2
1429
1487
  req.send_request(options)
1430
1488
  end
1431
1489
 
1490
+ # Deletes all rule groups that are managed by AWS Firewall Manager for
1491
+ # the specified web ACL.
1492
+ #
1493
+ # You can only use this if `ManagedByFirewallManager` is false in the
1494
+ # specified WebACL.
1495
+ #
1496
+ # @option params [required, String] :web_acl_arn
1497
+ # The Amazon Resource Name (ARN) of the web ACL.
1498
+ #
1499
+ # @option params [required, String] :web_acl_lock_token
1500
+ # A token used for optimistic locking. AWS WAF returns a token to your
1501
+ # get and list requests, to mark the state of the entity at the time of
1502
+ # the request. To make changes to the entity associated with the token,
1503
+ # you provide the token to operations like update and delete. AWS WAF
1504
+ # uses the token to ensure that no changes have been made to the entity
1505
+ # since you last retrieved it. If a change has been made, the update
1506
+ # fails with a `WAFOptimisticLockException`. If this happens, perform
1507
+ # another get, and use the new token returned by that operation.
1508
+ #
1509
+ # @return [Types::DeleteFirewallManagerRuleGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1510
+ #
1511
+ # * {Types::DeleteFirewallManagerRuleGroupsResponse#next_web_acl_lock_token #next_web_acl_lock_token} => String
1512
+ #
1513
+ # @example Request syntax with placeholder values
1514
+ #
1515
+ # resp = client.delete_firewall_manager_rule_groups({
1516
+ # web_acl_arn: "ResourceArn", # required
1517
+ # web_acl_lock_token: "LockToken", # required
1518
+ # })
1519
+ #
1520
+ # @example Response structure
1521
+ #
1522
+ # resp.next_web_acl_lock_token #=> String
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups AWS API Documentation
1525
+ #
1526
+ # @overload delete_firewall_manager_rule_groups(params = {})
1527
+ # @param [Hash] params ({})
1528
+ def delete_firewall_manager_rule_groups(params = {}, options = {})
1529
+ req = build_request(:delete_firewall_manager_rule_groups, params)
1530
+ req.send_request(options)
1531
+ end
1532
+
1432
1533
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1433
1534
  # in November, 2019. For information, including how to migrate your AWS
1434
1535
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -1443,8 +1544,8 @@ module Aws::WAFV2
1443
1544
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1444
1545
  #
1445
1546
  # @option params [required, String] :name
1446
- # A friendly name of the IP set. You cannot change the name of an
1447
- # `IPSet` after you create it.
1547
+ # The name of the IP set. You cannot change the name of an `IPSet` after
1548
+ # you create it.
1448
1549
  #
1449
1550
  # @option params [required, String] :scope
1450
1551
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1454,7 +1555,7 @@ module Aws::WAFV2
1454
1555
  # To work with CloudFront, you must also specify the Region US East (N.
1455
1556
  # Virginia) as follows:
1456
1557
  #
1457
- # * CLI - Specify the region when you use the CloudFront scope:
1558
+ # * CLI - Specify the Region when you use the CloudFront scope:
1458
1559
  # `--scope=CLOUDFRONT --region=us-east-1`.
1459
1560
  #
1460
1561
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1528,6 +1629,33 @@ module Aws::WAFV2
1528
1629
  req.send_request(options)
1529
1630
  end
1530
1631
 
1632
+ # Permanently deletes an IAM policy from the specified rule group.
1633
+ #
1634
+ # You must be the owner of the rule group to perform this operation.
1635
+ #
1636
+ # @option params [required, String] :resource_arn
1637
+ # The Amazon Resource Name (ARN) of the rule group from which you want
1638
+ # to delete the policy.
1639
+ #
1640
+ # You must be the owner of the rule group to perform this operation.
1641
+ #
1642
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1643
+ #
1644
+ # @example Request syntax with placeholder values
1645
+ #
1646
+ # resp = client.delete_permission_policy({
1647
+ # resource_arn: "ResourceArn", # required
1648
+ # })
1649
+ #
1650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DeletePermissionPolicy AWS API Documentation
1651
+ #
1652
+ # @overload delete_permission_policy(params = {})
1653
+ # @param [Hash] params ({})
1654
+ def delete_permission_policy(params = {}, options = {})
1655
+ req = build_request(:delete_permission_policy, params)
1656
+ req.send_request(options)
1657
+ end
1658
+
1531
1659
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1532
1660
  # in November, 2019. For information, including how to migrate your AWS
1533
1661
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -1542,8 +1670,8 @@ module Aws::WAFV2
1542
1670
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1543
1671
  #
1544
1672
  # @option params [required, String] :name
1545
- # A friendly name of the set. You cannot change the name after you
1546
- # create the set.
1673
+ # The name of the set. You cannot change the name after you create the
1674
+ # set.
1547
1675
  #
1548
1676
  # @option params [required, String] :scope
1549
1677
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1553,7 +1681,7 @@ module Aws::WAFV2
1553
1681
  # To work with CloudFront, you must also specify the Region US East (N.
1554
1682
  # Virginia) as follows:
1555
1683
  #
1556
- # * CLI - Specify the region when you use the CloudFront scope:
1684
+ # * CLI - Specify the Region when you use the CloudFront scope:
1557
1685
  # `--scope=CLOUDFRONT --region=us-east-1`.
1558
1686
  #
1559
1687
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1607,8 +1735,8 @@ module Aws::WAFV2
1607
1735
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1608
1736
  #
1609
1737
  # @option params [required, String] :name
1610
- # A friendly name of the rule group. You cannot change the name of a
1611
- # rule group after you create it.
1738
+ # The name of the rule group. You cannot change the name of a rule group
1739
+ # after you create it.
1612
1740
  #
1613
1741
  # @option params [required, String] :scope
1614
1742
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1618,7 +1746,7 @@ module Aws::WAFV2
1618
1746
  # To work with CloudFront, you must also specify the Region US East (N.
1619
1747
  # Virginia) as follows:
1620
1748
  #
1621
- # * CLI - Specify the region when you use the CloudFront scope:
1749
+ # * CLI - Specify the Region when you use the CloudFront scope:
1622
1750
  # `--scope=CLOUDFRONT --region=us-east-1`.
1623
1751
  #
1624
1752
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1667,13 +1795,16 @@ module Aws::WAFV2
1667
1795
  #
1668
1796
  # Deletes the specified WebACL.
1669
1797
  #
1798
+ # You can only use this if `ManagedByFirewallManager` is false in the
1799
+ # specified WebACL.
1800
+ #
1670
1801
  #
1671
1802
  #
1672
1803
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1673
1804
  #
1674
1805
  # @option params [required, String] :name
1675
- # A friendly name of the Web ACL. You cannot change the name of a Web
1676
- # ACL after you create it.
1806
+ # The name of the Web ACL. You cannot change the name of a Web ACL after
1807
+ # you create it.
1677
1808
  #
1678
1809
  # @option params [required, String] :scope
1679
1810
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1683,7 +1814,7 @@ module Aws::WAFV2
1683
1814
  # To work with CloudFront, you must also specify the Region US East (N.
1684
1815
  # Virginia) as follows:
1685
1816
  #
1686
- # * CLI - Specify the region when you use the CloudFront scope:
1817
+ # * CLI - Specify the Region when you use the CloudFront scope:
1687
1818
  # `--scope=CLOUDFRONT --region=us-east-1`.
1688
1819
  #
1689
1820
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1753,7 +1884,7 @@ module Aws::WAFV2
1753
1884
  # To work with CloudFront, you must also specify the Region US East (N.
1754
1885
  # Virginia) as follows:
1755
1886
  #
1756
- # * CLI - Specify the region when you use the CloudFront scope:
1887
+ # * CLI - Specify the Region when you use the CloudFront scope:
1757
1888
  # `--scope=CLOUDFRONT --region=us-east-1`.
1758
1889
  #
1759
1890
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1797,8 +1928,9 @@ module Aws::WAFV2
1797
1928
  # regional application can be an Application Load Balancer (ALB) or an
1798
1929
  # API Gateway stage.
1799
1930
  #
1800
- # For AWS CloudFront, you can disassociate the Web ACL by providing an
1801
- # empty web ACL ARN in the CloudFront API call `UpdateDistribution`. For
1931
+ # For AWS CloudFront, don't use this call. Instead, use your CloudFront
1932
+ # distribution configuration. To disassociate a Web ACL, provide an
1933
+ # empty web ACL ID in the CloudFront call `UpdateDistribution`. For
1802
1934
  # information, see [UpdateDistribution][2].
1803
1935
  #
1804
1936
  #
@@ -1850,8 +1982,8 @@ module Aws::WAFV2
1850
1982
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1851
1983
  #
1852
1984
  # @option params [required, String] :name
1853
- # A friendly name of the IP set. You cannot change the name of an
1854
- # `IPSet` after you create it.
1985
+ # The name of the IP set. You cannot change the name of an `IPSet` after
1986
+ # you create it.
1855
1987
  #
1856
1988
  # @option params [required, String] :scope
1857
1989
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -1861,7 +1993,7 @@ module Aws::WAFV2
1861
1993
  # To work with CloudFront, you must also specify the Region US East (N.
1862
1994
  # Virginia) as follows:
1863
1995
  #
1864
- # * CLI - Specify the region when you use the CloudFront scope:
1996
+ # * CLI - Specify the Region when you use the CloudFront scope:
1865
1997
  # `--scope=CLOUDFRONT --region=us-east-1`.
1866
1998
  #
1867
1999
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -1949,6 +2081,37 @@ module Aws::WAFV2
1949
2081
  req.send_request(options)
1950
2082
  end
1951
2083
 
2084
+ # Returns the IAM policy that is attached to the specified rule group.
2085
+ #
2086
+ # You must be the owner of the rule group to perform this operation.
2087
+ #
2088
+ # @option params [required, String] :resource_arn
2089
+ # The Amazon Resource Name (ARN) of the rule group for which you want to
2090
+ # get the policy.
2091
+ #
2092
+ # @return [Types::GetPermissionPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2093
+ #
2094
+ # * {Types::GetPermissionPolicyResponse#policy #policy} => String
2095
+ #
2096
+ # @example Request syntax with placeholder values
2097
+ #
2098
+ # resp = client.get_permission_policy({
2099
+ # resource_arn: "ResourceArn", # required
2100
+ # })
2101
+ #
2102
+ # @example Response structure
2103
+ #
2104
+ # resp.policy #=> String
2105
+ #
2106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetPermissionPolicy AWS API Documentation
2107
+ #
2108
+ # @overload get_permission_policy(params = {})
2109
+ # @param [Hash] params ({})
2110
+ def get_permission_policy(params = {}, options = {})
2111
+ req = build_request(:get_permission_policy, params)
2112
+ req.send_request(options)
2113
+ end
2114
+
1952
2115
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
1953
2116
  # in November, 2019. For information, including how to migrate your AWS
1954
2117
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -1973,14 +2136,14 @@ module Aws::WAFV2
1973
2136
  # To work with CloudFront, you must also specify the Region US East (N.
1974
2137
  # Virginia) as follows:
1975
2138
  #
1976
- # * CLI - Specify the region when you use the CloudFront scope:
2139
+ # * CLI - Specify the Region when you use the CloudFront scope:
1977
2140
  # `--scope=CLOUDFRONT --region=us-east-1`.
1978
2141
  #
1979
2142
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
1980
2143
  #
1981
2144
  # @option params [required, String] :web_acl_name
1982
- # A friendly name of the Web ACL. You cannot change the name of a Web
1983
- # ACL after you create it.
2145
+ # The name of the Web ACL. You cannot change the name of a Web ACL after
2146
+ # you create it.
1984
2147
  #
1985
2148
  # @option params [required, String] :web_acl_id
1986
2149
  # The unique identifier for the Web ACL. This ID is returned in the
@@ -2036,8 +2199,8 @@ module Aws::WAFV2
2036
2199
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2037
2200
  #
2038
2201
  # @option params [required, String] :name
2039
- # A friendly name of the set. You cannot change the name after you
2040
- # create the set.
2202
+ # The name of the set. You cannot change the name after you create the
2203
+ # set.
2041
2204
  #
2042
2205
  # @option params [required, String] :scope
2043
2206
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -2047,7 +2210,7 @@ module Aws::WAFV2
2047
2210
  # To work with CloudFront, you must also specify the Region US East (N.
2048
2211
  # Virginia) as follows:
2049
2212
  #
2050
- # * CLI - Specify the region when you use the CloudFront scope:
2213
+ # * CLI - Specify the Region when you use the CloudFront scope:
2051
2214
  # `--scope=CLOUDFRONT --region=us-east-1`.
2052
2215
  #
2053
2216
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2103,8 +2266,8 @@ module Aws::WAFV2
2103
2266
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2104
2267
  #
2105
2268
  # @option params [required, String] :name
2106
- # A friendly name of the rule group. You cannot change the name of a
2107
- # rule group after you create it.
2269
+ # The name of the rule group. You cannot change the name of a rule group
2270
+ # after you create it.
2108
2271
  #
2109
2272
  # @option params [required, String] :scope
2110
2273
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -2114,7 +2277,7 @@ module Aws::WAFV2
2114
2277
  # To work with CloudFront, you must also specify the Region US East (N.
2115
2278
  # Virginia) as follows:
2116
2279
  #
2117
- # * CLI - Specify the region when you use the CloudFront scope:
2280
+ # * CLI - Specify the Region when you use the CloudFront scope:
2118
2281
  # `--scope=CLOUDFRONT --region=us-east-1`.
2119
2282
  #
2120
2283
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2252,7 +2415,7 @@ module Aws::WAFV2
2252
2415
  # To work with CloudFront, you must also specify the Region US East (N.
2253
2416
  # Virginia) as follows:
2254
2417
  #
2255
- # * CLI - Specify the region when you use the CloudFront scope:
2418
+ # * CLI - Specify the Region when you use the CloudFront scope:
2256
2419
  # `--scope=CLOUDFRONT --region=us-east-1`.
2257
2420
  #
2258
2421
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2332,8 +2495,8 @@ module Aws::WAFV2
2332
2495
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
2333
2496
  #
2334
2497
  # @option params [required, String] :name
2335
- # A friendly name of the Web ACL. You cannot change the name of a Web
2336
- # ACL after you create it.
2498
+ # The name of the Web ACL. You cannot change the name of a Web ACL after
2499
+ # you create it.
2337
2500
  #
2338
2501
  # @option params [required, String] :scope
2339
2502
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -2343,7 +2506,7 @@ module Aws::WAFV2
2343
2506
  # To work with CloudFront, you must also specify the Region US East (N.
2344
2507
  # Virginia) as follows:
2345
2508
  #
2346
- # * CLI - Specify the region when you use the CloudFront scope:
2509
+ # * CLI - Specify the Region when you use the CloudFront scope:
2347
2510
  # `--scope=CLOUDFRONT --region=us-east-1`.
2348
2511
  #
2349
2512
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2430,6 +2593,33 @@ module Aws::WAFV2
2430
2593
  # resp.web_acl.visibility_config.cloud_watch_metrics_enabled #=> Boolean
2431
2594
  # resp.web_acl.visibility_config.metric_name #=> String
2432
2595
  # resp.web_acl.capacity #=> Integer
2596
+ # resp.web_acl.pre_process_firewall_manager_rule_groups #=> Array
2597
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].name #=> String
2598
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].priority #=> Integer
2599
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
2600
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2601
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2602
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2603
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2604
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2605
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2606
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2607
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2608
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2609
+ # resp.web_acl.post_process_firewall_manager_rule_groups #=> Array
2610
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].name #=> String
2611
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].priority #=> Integer
2612
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
2613
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2614
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2615
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2616
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2617
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2618
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2619
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2620
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2621
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2622
+ # resp.web_acl.managed_by_firewall_manager #=> Boolean
2433
2623
  # resp.lock_token #=> String
2434
2624
  #
2435
2625
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL AWS API Documentation
@@ -2531,6 +2721,33 @@ module Aws::WAFV2
2531
2721
  # resp.web_acl.visibility_config.cloud_watch_metrics_enabled #=> Boolean
2532
2722
  # resp.web_acl.visibility_config.metric_name #=> String
2533
2723
  # resp.web_acl.capacity #=> Integer
2724
+ # resp.web_acl.pre_process_firewall_manager_rule_groups #=> Array
2725
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].name #=> String
2726
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].priority #=> Integer
2727
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
2728
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2729
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2730
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2731
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2732
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2733
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2734
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2735
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2736
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2737
+ # resp.web_acl.post_process_firewall_manager_rule_groups #=> Array
2738
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].name #=> String
2739
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].priority #=> Integer
2740
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.vendor_name #=> String
2741
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.name #=> String
2742
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules #=> Array
2743
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2744
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2745
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2746
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2747
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2748
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2749
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2750
+ # resp.web_acl.managed_by_firewall_manager #=> Boolean
2534
2751
  #
2535
2752
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource AWS API Documentation
2536
2753
  #
@@ -2564,7 +2781,7 @@ module Aws::WAFV2
2564
2781
  # To work with CloudFront, you must also specify the Region US East (N.
2565
2782
  # Virginia) as follows:
2566
2783
  #
2567
- # * CLI - Specify the region when you use the CloudFront scope:
2784
+ # * CLI - Specify the Region when you use the CloudFront scope:
2568
2785
  # `--scope=CLOUDFRONT --region=us-east-1`.
2569
2786
  #
2570
2787
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2634,7 +2851,7 @@ module Aws::WAFV2
2634
2851
  # To work with CloudFront, you must also specify the Region US East (N.
2635
2852
  # Virginia) as follows:
2636
2853
  #
2637
- # * CLI - Specify the region when you use the CloudFront scope:
2854
+ # * CLI - Specify the Region when you use the CloudFront scope:
2638
2855
  # `--scope=CLOUDFRONT --region=us-east-1`.
2639
2856
  #
2640
2857
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2705,7 +2922,7 @@ module Aws::WAFV2
2705
2922
  # To work with CloudFront, you must also specify the Region US East (N.
2706
2923
  # Virginia) as follows:
2707
2924
  #
2708
- # * CLI - Specify the region when you use the CloudFront scope:
2925
+ # * CLI - Specify the Region when you use the CloudFront scope:
2709
2926
  # `--scope=CLOUDFRONT --region=us-east-1`.
2710
2927
  #
2711
2928
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2778,7 +2995,7 @@ module Aws::WAFV2
2778
2995
  # To work with CloudFront, you must also specify the Region US East (N.
2779
2996
  # Virginia) as follows:
2780
2997
  #
2781
- # * CLI - Specify the region when you use the CloudFront scope:
2998
+ # * CLI - Specify the Region when you use the CloudFront scope:
2782
2999
  # `--scope=CLOUDFRONT --region=us-east-1`.
2783
3000
  #
2784
3001
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -2899,7 +3116,7 @@ module Aws::WAFV2
2899
3116
  # To work with CloudFront, you must also specify the Region US East (N.
2900
3117
  # Virginia) as follows:
2901
3118
  #
2902
- # * CLI - Specify the region when you use the CloudFront scope:
3119
+ # * CLI - Specify the Region when you use the CloudFront scope:
2903
3120
  # `--scope=CLOUDFRONT --region=us-east-1`.
2904
3121
  #
2905
3122
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3030,7 +3247,7 @@ module Aws::WAFV2
3030
3247
  # To work with CloudFront, you must also specify the Region US East (N.
3031
3248
  # Virginia) as follows:
3032
3249
  #
3033
- # * CLI - Specify the region when you use the CloudFront scope:
3250
+ # * CLI - Specify the Region when you use the CloudFront scope:
3034
3251
  # `--scope=CLOUDFRONT --region=us-east-1`.
3035
3252
  #
3036
3253
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3095,7 +3312,7 @@ module Aws::WAFV2
3095
3312
  #
3096
3313
  # 1. Create an Amazon Kinesis Data Firehose.
3097
3314
  #
3098
- # Create the data firehose with a PUT source and in the region that
3315
+ # Create the data firehose with a PUT source and in the Region that
3099
3316
  # you are operating. If you are capturing logs for Amazon
3100
3317
  # CloudFront, always create the firehose in US East (N. Virginia).
3101
3318
  #
@@ -3171,6 +3388,68 @@ module Aws::WAFV2
3171
3388
  req.send_request(options)
3172
3389
  end
3173
3390
 
3391
+ # Attaches an IAM policy to the specified resource. Use this to share a
3392
+ # rule group across accounts.
3393
+ #
3394
+ # You must be the owner of the rule group to perform this operation.
3395
+ #
3396
+ # This action is subject to the following restrictions:
3397
+ #
3398
+ # * You can attach only one policy with each `PutPermissionPolicy`
3399
+ # request.
3400
+ #
3401
+ # * The ARN in the request must be a valid WAF RuleGroup ARN and the
3402
+ # rule group must exist in the same region.
3403
+ #
3404
+ # * The user making the request must be the owner of the rule group.
3405
+ #
3406
+ # @option params [required, String] :resource_arn
3407
+ # The Amazon Resource Name (ARN) of the RuleGroup to which you want to
3408
+ # attach the policy.
3409
+ #
3410
+ # @option params [required, String] :policy
3411
+ # The policy to attach to the specified rule group.
3412
+ #
3413
+ # The policy specifications must conform to the following:
3414
+ #
3415
+ # * The policy must be composed using IAM Policy version 2012-10-17 or
3416
+ # version 2015-01-01.
3417
+ #
3418
+ # * The policy must include specifications for `Effect`, `Action`, and
3419
+ # `Principal`.
3420
+ #
3421
+ # * `Effect` must specify `Allow`.
3422
+ #
3423
+ # * `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`,
3424
+ # and `wafv2:PutFirewallManagerRuleGroups`. AWS WAF rejects any extra
3425
+ # actions or wildcard actions in the policy.
3426
+ #
3427
+ # * The policy must not include a `Resource` parameter.
3428
+ #
3429
+ # For more information, see [IAM Policies][1].
3430
+ #
3431
+ #
3432
+ #
3433
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
3434
+ #
3435
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3436
+ #
3437
+ # @example Request syntax with placeholder values
3438
+ #
3439
+ # resp = client.put_permission_policy({
3440
+ # resource_arn: "ResourceArn", # required
3441
+ # policy: "PolicyString", # required
3442
+ # })
3443
+ #
3444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/PutPermissionPolicy AWS API Documentation
3445
+ #
3446
+ # @overload put_permission_policy(params = {})
3447
+ # @param [Hash] params ({})
3448
+ def put_permission_policy(params = {}, options = {})
3449
+ req = build_request(:put_permission_policy, params)
3450
+ req.send_request(options)
3451
+ end
3452
+
3174
3453
  # <note markdown="1"> This is the latest version of **AWS WAF**, named AWS WAFV2, released
3175
3454
  # in November, 2019. For information, including how to migrate your AWS
3176
3455
  # WAF resources from the prior release, see the [AWS WAF Developer
@@ -3273,8 +3552,8 @@ module Aws::WAFV2
3273
3552
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3274
3553
  #
3275
3554
  # @option params [required, String] :name
3276
- # A friendly name of the IP set. You cannot change the name of an
3277
- # `IPSet` after you create it.
3555
+ # The name of the IP set. You cannot change the name of an `IPSet` after
3556
+ # you create it.
3278
3557
  #
3279
3558
  # @option params [required, String] :scope
3280
3559
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -3284,7 +3563,7 @@ module Aws::WAFV2
3284
3563
  # To work with CloudFront, you must also specify the Region US East (N.
3285
3564
  # Virginia) as follows:
3286
3565
  #
3287
- # * CLI - Specify the region when you use the CloudFront scope:
3566
+ # * CLI - Specify the Region when you use the CloudFront scope:
3288
3567
  # `--scope=CLOUDFRONT --region=us-east-1`.
3289
3568
  #
3290
3569
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3295,8 +3574,8 @@ module Aws::WAFV2
3295
3574
  # and delete.
3296
3575
  #
3297
3576
  # @option params [String] :description
3298
- # A friendly description of the IP set. You cannot change the
3299
- # description of an IP set after you create it.
3577
+ # A description of the IP set that helps with identification. You cannot
3578
+ # change the description of an IP set after you create it.
3300
3579
  #
3301
3580
  # @option params [required, Array<String>] :addresses
3302
3581
  # Contains an array of strings that specify one or more IP addresses or
@@ -3382,8 +3661,8 @@ module Aws::WAFV2
3382
3661
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3383
3662
  #
3384
3663
  # @option params [required, String] :name
3385
- # A friendly name of the set. You cannot change the name after you
3386
- # create the set.
3664
+ # The name of the set. You cannot change the name after you create the
3665
+ # set.
3387
3666
  #
3388
3667
  # @option params [required, String] :scope
3389
3668
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -3393,7 +3672,7 @@ module Aws::WAFV2
3393
3672
  # To work with CloudFront, you must also specify the Region US East (N.
3394
3673
  # Virginia) as follows:
3395
3674
  #
3396
- # * CLI - Specify the region when you use the CloudFront scope:
3675
+ # * CLI - Specify the Region when you use the CloudFront scope:
3397
3676
  # `--scope=CLOUDFRONT --region=us-east-1`.
3398
3677
  #
3399
3678
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3404,8 +3683,8 @@ module Aws::WAFV2
3404
3683
  # and delete.
3405
3684
  #
3406
3685
  # @option params [String] :description
3407
- # A friendly description of the set. You cannot change the description
3408
- # of a set after you create it.
3686
+ # A description of the set that helps with identification. You cannot
3687
+ # change the description of a set after you create it.
3409
3688
  #
3410
3689
  # @option params [required, Array<Types::Regex>] :regular_expression_list
3411
3690
  #
@@ -3471,8 +3750,8 @@ module Aws::WAFV2
3471
3750
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3472
3751
  #
3473
3752
  # @option params [required, String] :name
3474
- # A friendly name of the rule group. You cannot change the name of a
3475
- # rule group after you create it.
3753
+ # The name of the rule group. You cannot change the name of a rule group
3754
+ # after you create it.
3476
3755
  #
3477
3756
  # @option params [required, String] :scope
3478
3757
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -3482,7 +3761,7 @@ module Aws::WAFV2
3482
3761
  # To work with CloudFront, you must also specify the Region US East (N.
3483
3762
  # Virginia) as follows:
3484
3763
  #
3485
- # * CLI - Specify the region when you use the CloudFront scope:
3764
+ # * CLI - Specify the Region when you use the CloudFront scope:
3486
3765
  # `--scope=CLOUDFRONT --region=us-east-1`.
3487
3766
  #
3488
3767
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3493,8 +3772,8 @@ module Aws::WAFV2
3493
3772
  # like update and delete.
3494
3773
  #
3495
3774
  # @option params [String] :description
3496
- # A friendly description of the rule group. You cannot change the
3497
- # description of a rule group after you create it.
3775
+ # A description of the rule group that helps with identification. You
3776
+ # cannot change the description of a rule group after you create it.
3498
3777
  #
3499
3778
  # @option params [Array<Types::Rule>] :rules
3500
3779
  # The Rule statements used to identify the web requests that you want to
@@ -3783,8 +4062,8 @@ module Aws::WAFV2
3783
4062
  # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
3784
4063
  #
3785
4064
  # @option params [required, String] :name
3786
- # A friendly name of the Web ACL. You cannot change the name of a Web
3787
- # ACL after you create it.
4065
+ # The name of the Web ACL. You cannot change the name of a Web ACL after
4066
+ # you create it.
3788
4067
  #
3789
4068
  # @option params [required, String] :scope
3790
4069
  # Specifies whether this is for an AWS CloudFront distribution or for a
@@ -3794,7 +4073,7 @@ module Aws::WAFV2
3794
4073
  # To work with CloudFront, you must also specify the Region US East (N.
3795
4074
  # Virginia) as follows:
3796
4075
  #
3797
- # * CLI - Specify the region when you use the CloudFront scope:
4076
+ # * CLI - Specify the Region when you use the CloudFront scope:
3798
4077
  # `--scope=CLOUDFRONT --region=us-east-1`.
3799
4078
  #
3800
4079
  # * API and SDKs - For all calls, use the Region endpoint us-east-1.
@@ -3809,8 +4088,8 @@ module Aws::WAFV2
3809
4088
  # match.
3810
4089
  #
3811
4090
  # @option params [String] :description
3812
- # A friendly description of the Web ACL. You cannot change the
3813
- # description of a Web ACL after you create it.
4091
+ # A description of the Web ACL that helps with identification. You
4092
+ # cannot change the description of a Web ACL after you create it.
3814
4093
  #
3815
4094
  # @option params [Array<Types::Rule>] :rules
3816
4095
  # The Rule statements used to identify the web requests that you want to
@@ -4094,7 +4373,7 @@ module Aws::WAFV2
4094
4373
  params: params,
4095
4374
  config: config)
4096
4375
  context[:gem_name] = 'aws-sdk-wafv2'
4097
- context[:gem_version] = '1.1.0'
4376
+ context[:gem_version] = '1.6.1'
4098
4377
  Seahorse::Client::Request.new(handlers, context)
4099
4378
  end
4100
4379