aws-sdk-wafv2 1.1.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- 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