aws-sdk-waf 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8dc3f5225c9299ec17dc55ca088ea382161d4fce
4
- data.tar.gz: c6cc70c2c27483bc1dce3159bc4b58cb34b9115c
3
+ metadata.gz: b0f22eb70dd62b0bd3e68c33cf3ff62b08cad107
4
+ data.tar.gz: bdd65e9eb372bab500bb3e91aa54cac2d1bacad8
5
5
  SHA512:
6
- metadata.gz: 3bd373ff9a4f27f41b29d41a510c4f8165fad9f3420ec68221d21868a78faf13bd1f281f8abd6fc3e0e82b9e69344a57fe48c91bcee6269940966470546d6c0a
7
- data.tar.gz: 4d71ebb023523a07927d55bf477c4022f9432037c551e6adfc7caaad21d3e9873e23ea9e998e60d3a1263f2c0559edd3bca554bd0cd021ba33a93d4df28017dc
6
+ metadata.gz: ba274ad9db9880beca8058f880d3e19f8f8933e6afdfa66e3399fa7875d0e920979676a5501e072d2d3fea74448f92f3ddfb7bf52ccc4f5ee984ec0a07aeb425
7
+ data.tar.gz: e1120e45498af124d7a361cbdc472b2f7200cceb5928a5c22695eb12bfd594b39fbc2374334017fd960000991f94e61511d8d0889b4d4161f9a062d438a31417
data/lib/aws-sdk-waf.rb CHANGED
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-waf/customizations'
42
42
  # @service
43
43
  module Aws::WAF
44
44
 
45
- GEM_VERSION = '1.11.0'
45
+ GEM_VERSION = '1.12.0'
46
46
 
47
47
  end
@@ -347,8 +347,8 @@ module Aws::WAF
347
347
  req.send_request(options)
348
348
  end
349
349
 
350
- # Creates an IPSet, which you use to specify which web requests you want
351
- # to allow or block based on the IP addresses that the requests
350
+ # Creates an IPSet, which you use to specify which web requests that you
351
+ # want to allow or block based on the IP addresses that the requests
352
352
  # originate from. For example, if you're receiving a lot of requests
353
353
  # from one or more individual IP addresses or one or more ranges of IP
354
354
  # addresses and you want to block the requests, you can create an
@@ -710,7 +710,7 @@ module Aws::WAF
710
710
  # objects, and other predicates that identify the requests that you want
711
711
  # to block. If you add more than one predicate to a `Rule`, a request
712
712
  # must match all of the specifications to be allowed or blocked. For
713
- # example, suppose you add the following to a `Rule`\:
713
+ # example, suppose that you add the following to a `Rule`\:
714
714
  #
715
715
  # * An `IPSet` that matches the IP address `192.0.2.44/32`
716
716
  #
@@ -755,7 +755,7 @@ module Aws::WAF
755
755
  # @option params [required, String] :metric_name
756
756
  # A friendly name or description for the metrics for this `Rule`. The
757
757
  # name can contain only alphanumeric characters (A-Z, a-z, 0-9); the
758
- # name can't contain whitespace. You can't change the name of the
758
+ # name can't contain white space. You can't change the name of the
759
759
  # metric after you create the `Rule`.
760
760
  #
761
761
  # @option params [required, String] :change_token
@@ -1123,7 +1123,7 @@ module Aws::WAF
1123
1123
  # @option params [required, String] :metric_name
1124
1124
  # A friendly name or description for the metrics for this `WebACL`. The
1125
1125
  # name can contain only alphanumeric characters (A-Z, a-z, 0-9); the
1126
- # name can't contain whitespace. You can't change `MetricName` after
1126
+ # name can't contain white space. You can't change `MetricName` after
1127
1127
  # you create the `WebACL`.
1128
1128
  #
1129
1129
  # @option params [required, Types::WafAction] :default_action
@@ -1198,6 +1198,9 @@ module Aws::WAF
1198
1198
  # resp.web_acl.rules[0].action.type #=> String, one of "BLOCK", "ALLOW", "COUNT"
1199
1199
  # resp.web_acl.rules[0].override_action.type #=> String, one of "NONE", "COUNT"
1200
1200
  # resp.web_acl.rules[0].type #=> String, one of "REGULAR", "RATE_BASED", "GROUP"
1201
+ # resp.web_acl.rules[0].excluded_rules #=> Array
1202
+ # resp.web_acl.rules[0].excluded_rules[0].rule_id #=> String
1203
+ # resp.web_acl.web_acl_arn #=> String
1201
1204
  # resp.change_token #=> String
1202
1205
  #
1203
1206
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateWebACL AWS API Documentation
@@ -2905,6 +2908,9 @@ module Aws::WAF
2905
2908
  # resp.web_acl.rules[0].action.type #=> String, one of "BLOCK", "ALLOW", "COUNT"
2906
2909
  # resp.web_acl.rules[0].override_action.type #=> String, one of "NONE", "COUNT"
2907
2910
  # resp.web_acl.rules[0].type #=> String, one of "REGULAR", "RATE_BASED", "GROUP"
2911
+ # resp.web_acl.rules[0].excluded_rules #=> Array
2912
+ # resp.web_acl.rules[0].excluded_rules[0].rule_id #=> String
2913
+ # resp.web_acl.web_acl_arn #=> String
2908
2914
  #
2909
2915
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetWebACL AWS API Documentation
2910
2916
  #
@@ -3018,6 +3024,8 @@ module Aws::WAF
3018
3024
  # resp.activated_rules[0].action.type #=> String, one of "BLOCK", "ALLOW", "COUNT"
3019
3025
  # resp.activated_rules[0].override_action.type #=> String, one of "NONE", "COUNT"
3020
3026
  # resp.activated_rules[0].type #=> String, one of "REGULAR", "RATE_BASED", "GROUP"
3027
+ # resp.activated_rules[0].excluded_rules #=> Array
3028
+ # resp.activated_rules[0].excluded_rules[0].rule_id #=> String
3021
3029
  #
3022
3030
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListActivatedRulesInRuleGroup AWS API Documentation
3023
3031
  #
@@ -3781,28 +3789,25 @@ module Aws::WAF
3781
3789
  # You can access information about all traffic that AWS WAF inspects
3782
3790
  # using the following steps:
3783
3791
  #
3784
- # 1. Create an Amazon Kinesis Data Firehose delivery stream. For more
3785
- # information, see [Creating an Amazon Kinesis Data Firehose
3786
- # Delivery Stream][1].
3792
+ # 1. Create an Amazon Kinesis Data Firehose .
3787
3793
  #
3788
- # 2. Associate that delivery stream to your web ACL using a
3794
+ # 2. Associate that firehose to your web ACL using a
3789
3795
  # `PutLoggingConfiguration` request.
3790
3796
  #
3791
3797
  # When you successfully enable logging using a `PutLoggingConfiguration`
3792
3798
  # request, AWS WAF will create a service linked role with the necessary
3793
- # permissions to write logs to the Amazon Kinesis Data Firehose delivery
3794
- # stream. For more information, see [Logging Web ACL Traffic
3795
- # Information][2] in the *AWS WAF Developer Guide*.
3799
+ # permissions to write logs to the Amazon Kinesis Data Firehose. For
3800
+ # more information, see [Logging Web ACL Traffic Information][1] in the
3801
+ # *AWS WAF Developer Guide*.
3796
3802
  #
3797
3803
  #
3798
3804
  #
3799
- # [1]: https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html
3800
- # [2]: http://docs.aws.amazon.com/waf/latest/developerguide/logging.html
3805
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/logging.html
3801
3806
  #
3802
3807
  # @option params [required, Types::LoggingConfiguration] :logging_configuration
3803
- # The Amazon Kinesis Data Firehose delivery streams that contains the
3804
- # inspected traffic information, the redacted fields details, and the
3805
- # Amazon Resource Name (ARN) of the web ACL to monitor.
3808
+ # The Amazon Kinesis Data Firehose that contains the inspected traffic
3809
+ # information, the redacted fields details, and the Amazon Resource Name
3810
+ # (ARN) of the web ACL to monitor.
3806
3811
  #
3807
3812
  # @return [Types::PutLoggingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3808
3813
  #
@@ -4534,7 +4539,7 @@ module Aws::WAF
4534
4539
  # that specifies the web requests that you want to allow, block, or
4535
4540
  # count. If you add more than one predicate to a `Rule`, a request must
4536
4541
  # match all of the specifications to be allowed, blocked, or counted.
4537
- # For example, suppose you add the following to a `Rule`\:
4542
+ # For example, suppose that you add the following to a `Rule`\:
4538
4543
  #
4539
4544
  # * A `ByteMatchSet` that matches the value `BadBot` in the `User-Agent`
4540
4545
  # header
@@ -4718,6 +4723,11 @@ module Aws::WAF
4718
4723
  # type: "NONE", # required, accepts NONE, COUNT
4719
4724
  # },
4720
4725
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
4726
+ # excluded_rules: [
4727
+ # {
4728
+ # rule_id: "ResourceId", # required
4729
+ # },
4730
+ # ],
4721
4731
  # },
4722
4732
  # },
4723
4733
  # ],
@@ -4897,9 +4907,9 @@ module Aws::WAF
4897
4907
  # You can only specify a single type of TextTransformation.
4898
4908
  #
4899
4909
  # You use `SqlInjectionMatchSet` objects to specify which CloudFront
4900
- # requests you want to allow, block, or count. For example, if you're
4901
- # receiving requests that contain snippets of SQL code in the query
4902
- # string and you want to block the requests, you can create a
4910
+ # requests that you want to allow, block, or count. For example, if
4911
+ # you're receiving requests that contain snippets of SQL code in the
4912
+ # query string and you want to block the requests, you can create a
4903
4913
  # `SqlInjectionMatchSet` with the applicable settings, and then
4904
4914
  # configure AWS WAF to block the requests.
4905
4915
  #
@@ -5014,9 +5024,9 @@ module Aws::WAF
5014
5024
  # WAF performs the default action if a request doesn't match the
5015
5025
  # criteria in any of the `Rules` in a `WebACL`.
5016
5026
  #
5017
- # * The `Rules` that you want to add and/or delete. If you want to
5018
- # replace one `Rule` with another, you delete the existing `Rule` and
5019
- # add the new one.
5027
+ # * The `Rules` that you want to add or delete. If you want to replace
5028
+ # one `Rule` with another, you delete the existing `Rule` and add the
5029
+ # new one.
5020
5030
  #
5021
5031
  # * For each `Rule`, whether you want AWS WAF to allow requests, block
5022
5032
  # requests, or count requests that match the conditions in the `Rule`.
@@ -5025,11 +5035,11 @@ module Aws::WAF
5025
5035
  # `WebACL`. If you add more than one `Rule` to a `WebACL`, AWS WAF
5026
5036
  # evaluates each request against the `Rules` in order based on the
5027
5037
  # value of `Priority`. (The `Rule` that has the lowest value for
5028
- # `Priority` is evaluated first.) When a web request matches all of
5029
- # the predicates (such as `ByteMatchSets` and `IPSets`) in a `Rule`,
5030
- # AWS WAF immediately takes the corresponding action, allow or block,
5031
- # and doesn't evaluate the request against the remaining `Rules` in
5032
- # the `WebACL`, if any.
5038
+ # `Priority` is evaluated first.) When a web request matches all the
5039
+ # predicates (such as `ByteMatchSets` and `IPSets`) in a `Rule`, AWS
5040
+ # WAF immediately takes the corresponding action, allow or block, and
5041
+ # doesn't evaluate the request against the remaining `Rules` in the
5042
+ # `WebACL`, if any.
5033
5043
  #
5034
5044
  # To create and configure a `WebACL`, perform the following steps:
5035
5045
  #
@@ -5050,6 +5060,16 @@ module Aws::WAF
5050
5060
  # want to include in the `WebACL`, to specify the default action,
5051
5061
  # and to associate the `WebACL` with a CloudFront distribution.
5052
5062
  #
5063
+ # The `ActivatedRule` can be a rule group. If you specify a rule
5064
+ # group as your `ActivatedRule`, you can exclude specific rules from
5065
+ # that rule group.
5066
+ #
5067
+ # If you already have a rule group associated with a web ACL and
5068
+ # want to submit an `UpdateWebACL` request to exclude certain rules
5069
+ # from that rule group, you must first remove the rule group from
5070
+ # the web ACL, the re-insert it again, specifying the excluded
5071
+ # rules. For details, see ActivatedRule$ExcludedRules.
5072
+ #
5053
5073
  # Be aware that if you try to add a RATE\_BASED rule to a web ACL
5054
5074
  # without setting the rule type when first creating the rule, the
5055
5075
  # UpdateWebACL request will fail because the request tries to add a
@@ -5081,7 +5101,7 @@ module Aws::WAF
5081
5101
  #
5082
5102
  # * ActivatedRule: Contains `Action`, `OverrideAction`, `Priority`,
5083
5103
  # `RuleId`, and `Type`. `ActivatedRule|OverrideAction` applies only
5084
- # when updating or adding a `RuleGroup` to a `WebACL`. In this case
5104
+ # when updating or adding a `RuleGroup` to a `WebACL`. In this case,
5085
5105
  # you do not use `ActivatedRule|Action`. For all other update
5086
5106
  # requests, `ActivatedRule|Action` is used instead of
5087
5107
  # `ActivatedRule|OverrideAction`.
@@ -5145,6 +5165,11 @@ module Aws::WAF
5145
5165
  # type: "NONE", # required, accepts NONE, COUNT
5146
5166
  # },
5147
5167
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5168
+ # excluded_rules: [
5169
+ # {
5170
+ # rule_id: "ResourceId", # required
5171
+ # },
5172
+ # ],
5148
5173
  # },
5149
5174
  # },
5150
5175
  # ],
@@ -5170,8 +5195,8 @@ module Aws::WAF
5170
5195
  # For each `XssMatchTuple` object, you specify the following values:
5171
5196
  #
5172
5197
  # * `Action`\: Whether to insert the object into or delete the object
5173
- # from the array. To change a `XssMatchTuple`, you delete the existing
5174
- # object and add a new one.
5198
+ # from the array. To change an `XssMatchTuple`, you delete the
5199
+ # existing object and add a new one.
5175
5200
  #
5176
5201
  # * `FieldToMatch`\: The part of web requests that you want AWS WAF to
5177
5202
  # inspect and, if you want AWS WAF to inspect a header or custom query
@@ -5183,12 +5208,12 @@ module Aws::WAF
5183
5208
  #
5184
5209
  # You can only specify a single type of TextTransformation.
5185
5210
  #
5186
- # You use `XssMatchSet` objects to specify which CloudFront requests you
5187
- # want to allow, block, or count. For example, if you're receiving
5188
- # requests that contain cross-site scripting attacks in the request body
5189
- # and you want to block the requests, you can create an `XssMatchSet`
5190
- # with the applicable settings, and then configure AWS WAF to block the
5191
- # requests.
5211
+ # You use `XssMatchSet` objects to specify which CloudFront requests
5212
+ # that you want to allow, block, or count. For example, if you're
5213
+ # receiving requests that contain cross-site scripting attacks in the
5214
+ # request body and you want to block the requests, you can create an
5215
+ # `XssMatchSet` with the applicable settings, and then configure AWS WAF
5216
+ # to block the requests.
5192
5217
  #
5193
5218
  # To create and configure an `XssMatchSet`, perform the following steps:
5194
5219
  #
@@ -5218,8 +5243,8 @@ module Aws::WAF
5218
5243
  #
5219
5244
  # @option params [required, Array<Types::XssMatchSetUpdate>] :updates
5220
5245
  # An array of `XssMatchSetUpdate` objects that you want to insert into
5221
- # or delete from a XssMatchSet. For more information, see the applicable
5222
- # data types:
5246
+ # or delete from an XssMatchSet. For more information, see the
5247
+ # applicable data types:
5223
5248
  #
5224
5249
  # * XssMatchSetUpdate: Contains `Action` and `XssMatchTuple`
5225
5250
  #
@@ -5303,7 +5328,7 @@ module Aws::WAF
5303
5328
  params: params,
5304
5329
  config: config)
5305
5330
  context[:gem_name] = 'aws-sdk-waf'
5306
- context[:gem_version] = '1.11.0'
5331
+ context[:gem_version] = '1.12.0'
5307
5332
  Seahorse::Client::Request.new(handlers, context)
5308
5333
  end
5309
5334
 
@@ -79,6 +79,8 @@ module Aws::WAF
79
79
  DeleteWebACLResponse = Shapes::StructureShape.new(name: 'DeleteWebACLResponse')
80
80
  DeleteXssMatchSetRequest = Shapes::StructureShape.new(name: 'DeleteXssMatchSetRequest')
81
81
  DeleteXssMatchSetResponse = Shapes::StructureShape.new(name: 'DeleteXssMatchSetResponse')
82
+ ExcludedRule = Shapes::StructureShape.new(name: 'ExcludedRule')
83
+ ExcludedRules = Shapes::ListShape.new(name: 'ExcludedRules')
82
84
  FieldToMatch = Shapes::StructureShape.new(name: 'FieldToMatch')
83
85
  GeoMatchConstraint = Shapes::StructureShape.new(name: 'GeoMatchConstraint')
84
86
  GeoMatchConstraintType = Shapes::StringShape.new(name: 'GeoMatchConstraintType')
@@ -289,6 +291,7 @@ module Aws::WAF
289
291
  WAFNonexistentContainerException = Shapes::StructureShape.new(name: 'WAFNonexistentContainerException')
290
292
  WAFNonexistentItemException = Shapes::StructureShape.new(name: 'WAFNonexistentItemException')
291
293
  WAFReferencedItemException = Shapes::StructureShape.new(name: 'WAFReferencedItemException')
294
+ WAFServiceLinkedRoleErrorException = Shapes::StructureShape.new(name: 'WAFServiceLinkedRoleErrorException')
292
295
  WAFStaleDataException = Shapes::StructureShape.new(name: 'WAFStaleDataException')
293
296
  WAFSubscriptionNotFoundException = Shapes::StructureShape.new(name: 'WAFSubscriptionNotFoundException')
294
297
  WafAction = Shapes::StructureShape.new(name: 'WafAction')
@@ -315,6 +318,7 @@ module Aws::WAF
315
318
  ActivatedRule.add_member(:action, Shapes::ShapeRef.new(shape: WafAction, location_name: "Action"))
316
319
  ActivatedRule.add_member(:override_action, Shapes::ShapeRef.new(shape: WafOverrideAction, location_name: "OverrideAction"))
317
320
  ActivatedRule.add_member(:type, Shapes::ShapeRef.new(shape: WafRuleType, location_name: "Type"))
321
+ ActivatedRule.add_member(:excluded_rules, Shapes::ShapeRef.new(shape: ExcludedRules, location_name: "ExcludedRules"))
318
322
  ActivatedRule.struct_class = Types::ActivatedRule
319
323
 
320
324
  ActivatedRules.member = Shapes::ShapeRef.new(shape: ActivatedRule)
@@ -541,6 +545,11 @@ module Aws::WAF
541
545
  DeleteXssMatchSetResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
542
546
  DeleteXssMatchSetResponse.struct_class = Types::DeleteXssMatchSetResponse
543
547
 
548
+ ExcludedRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
549
+ ExcludedRule.struct_class = Types::ExcludedRule
550
+
551
+ ExcludedRules.member = Shapes::ShapeRef.new(shape: ExcludedRule)
552
+
544
553
  FieldToMatch.add_member(:type, Shapes::ShapeRef.new(shape: MatchFieldType, required: true, location_name: "Type"))
545
554
  FieldToMatch.add_member(:data, Shapes::ShapeRef.new(shape: MatchFieldData, location_name: "Data"))
546
555
  FieldToMatch.struct_class = Types::FieldToMatch
@@ -1135,6 +1144,7 @@ module Aws::WAF
1135
1144
  WebACL.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "MetricName"))
1136
1145
  WebACL.add_member(:default_action, Shapes::ShapeRef.new(shape: WafAction, required: true, location_name: "DefaultAction"))
1137
1146
  WebACL.add_member(:rules, Shapes::ShapeRef.new(shape: ActivatedRules, required: true, location_name: "Rules"))
1147
+ WebACL.add_member(:web_acl_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "WebACLArn"))
1138
1148
  WebACL.struct_class = Types::WebACL
1139
1149
 
1140
1150
  WebACLSummaries.member = Shapes::ShapeRef.new(shape: WebACLSummary)
@@ -1893,6 +1903,7 @@ module Aws::WAF
1893
1903
  o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1894
1904
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1895
1905
  o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1906
+ o.errors << Shapes::ShapeRef.new(shape: WAFServiceLinkedRoleErrorException)
1896
1907
  end)
1897
1908
 
1898
1909
  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|
@@ -29,6 +29,11 @@ module Aws::WAF
29
29
  # type: "NONE", # required, accepts NONE, COUNT
30
30
  # },
31
31
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
32
+ # excluded_rules: [
33
+ # {
34
+ # rule_id: "ResourceId", # required
35
+ # },
36
+ # ],
32
37
  # }
33
38
  #
34
39
  # @!attribute [rw] priority
@@ -63,7 +68,7 @@ module Aws::WAF
63
68
  # request based on the remaining rules in the web ACL.
64
69
  #
65
70
  # `ActivatedRule|OverrideAction` applies only when updating or adding
66
- # a `RuleGroup` to a `WebACL`. In this case you do not use
71
+ # a `RuleGroup` to a `WebACL`. In this case, you do not use
67
72
  # `ActivatedRule|Action`. For all other update requests,
68
73
  # `ActivatedRule|Action` is used instead of
69
74
  # `ActivatedRule|OverrideAction`.
@@ -99,6 +104,51 @@ module Aws::WAF
99
104
  # does not exist.
100
105
  # @return [String]
101
106
  #
107
+ # @!attribute [rw] excluded_rules
108
+ # An array of rules to exclude from a rule group. This is applicable
109
+ # only when the `ActivatedRule` refers to a `RuleGroup`.
110
+ #
111
+ # Sometimes it is necessary to troubleshoot rule groups that are
112
+ # blocking traffic unexpectedly (false positives). One troubleshooting
113
+ # technique is to identify the specific rule within the rule group
114
+ # that is blocking the legitimate traffic and then disable (exclude)
115
+ # that particular rule. You can exclude rules from both your own rule
116
+ # groups and AWS Marketplace rule groups that have been associated
117
+ # with a web ACL.
118
+ #
119
+ # Specifying `ExcludedRules` does not remove those rules from the rule
120
+ # group. Rather, it changes the action for the rules to `COUNT`.
121
+ # Therefore, requests that match an `ExcludedRule` are counted but not
122
+ # blocked. The `RuleGroup` owner will receive COUNT metrics for each
123
+ # `ExcludedRule`.
124
+ #
125
+ # If you want to exclude rules from a rule group that is already
126
+ # associated with a web ACL, perform the following steps:
127
+ #
128
+ # 1. Use the AWS WAF logs to identify the IDs of the rules that you
129
+ # want to exclude. For more information about the logs, see
130
+ # [Logging Web ACL Traffic Information][1].
131
+ #
132
+ # 2. Submit an UpdateWebACL request that has two actions:
133
+ #
134
+ # * The first action deletes the existing rule group from the web
135
+ # ACL. That is, in the UpdateWebACL request, the first
136
+ # `Updates:Action` should be `DELETE` and
137
+ # `Updates:ActivatedRule:RuleId` should be the rule group that
138
+ # contains the rules that you want to exclude.
139
+ #
140
+ # * The second action inserts the same rule group back in, but
141
+ # specifying the rules to exclude. That is, the second
142
+ # `Updates:Action` should be `INSERT`,
143
+ # `Updates:ActivatedRule:RuleId` should be the rule group that
144
+ # you just removed, and `ExcludedRules` should contain the rules
145
+ # that you want to exclude.
146
+ #
147
+ #
148
+ #
149
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/logging.html
150
+ # @return [Array<Types::ExcludedRule>]
151
+ #
102
152
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ActivatedRule AWS API Documentation
103
153
  #
104
154
  class ActivatedRule < Struct.new(
@@ -106,7 +156,8 @@ module Aws::WAF
106
156
  :rule_id,
107
157
  :action,
108
158
  :override_action,
109
- :type)
159
+ :type,
160
+ :excluded_rules)
110
161
  include Aws::Structure
111
162
  end
112
163
 
@@ -297,7 +348,7 @@ module Aws::WAF
297
348
  # For example, suppose the value of `Type` is `HEADER` and the value
298
349
  # of `Data` is `User-Agent`. If you want to search the `User-Agent`
299
350
  # header for the value `BadBot`, you base64-encode `BadBot` using MIME
300
- # base64 encoding and include the resulting value, `QmFkQm90`, in the
351
+ # base64-encoding and include the resulting value, `QmFkQm90`, in the
301
352
  # value of `TargetString`.
302
353
  #
303
354
  # **If you're using the AWS CLI or one of the AWS SDKs**
@@ -804,7 +855,7 @@ module Aws::WAF
804
855
  # @!attribute [rw] metric_name
805
856
  # A friendly name or description for the metrics for this `Rule`. The
806
857
  # name can contain only alphanumeric characters (A-Z, a-z, 0-9); the
807
- # name can't contain whitespace. You can't change the name of the
858
+ # name can't contain white space. You can't change the name of the
808
859
  # metric after you create the `Rule`.
809
860
  # @return [String]
810
861
  #
@@ -952,7 +1003,7 @@ module Aws::WAF
952
1003
  # @!attribute [rw] metric_name
953
1004
  # A friendly name or description for the metrics for this `WebACL`.
954
1005
  # The name can contain only alphanumeric characters (A-Z, a-z, 0-9);
955
- # the name can't contain whitespace. You can't change `MetricName`
1006
+ # the name can't contain white space. You can't change `MetricName`
956
1007
  # after you create the `WebACL`.
957
1008
  # @return [String]
958
1009
  #
@@ -1565,6 +1616,28 @@ module Aws::WAF
1565
1616
  include Aws::Structure
1566
1617
  end
1567
1618
 
1619
+ # The rule to exclude from a rule group. This is applicable only when
1620
+ # the `ActivatedRule` refers to a `RuleGroup`. The rule must belong to
1621
+ # the `RuleGroup` that is specified by the `ActivatedRule`.
1622
+ #
1623
+ # @note When making an API call, you may pass ExcludedRule
1624
+ # data as a hash:
1625
+ #
1626
+ # {
1627
+ # rule_id: "ResourceId", # required
1628
+ # }
1629
+ #
1630
+ # @!attribute [rw] rule_id
1631
+ # The unique identifier for the rule to exclude from the rule group.
1632
+ # @return [String]
1633
+ #
1634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ExcludedRule AWS API Documentation
1635
+ #
1636
+ class ExcludedRule < Struct.new(
1637
+ :rule_id)
1638
+ include Aws::Structure
1639
+ end
1640
+
1568
1641
  # Specifies where in a web request to look for `TargetString`.
1569
1642
  #
1570
1643
  # @note When making an API call, you may pass FieldToMatch
@@ -3497,8 +3570,8 @@ module Aws::WAF
3497
3570
  include Aws::Structure
3498
3571
  end
3499
3572
 
3500
- # The Amazon Kinesis Data Firehose delivery streams, `RedactedFields`
3501
- # information, and the web ACL Amazon Resource Name (ARN).
3573
+ # The Amazon Kinesis Data Firehose, `RedactedFields` information, and
3574
+ # the web ACL Amazon Resource Name (ARN).
3502
3575
  #
3503
3576
  # @note When making an API call, you may pass LoggingConfiguration
3504
3577
  # data as a hash:
@@ -3520,13 +3593,13 @@ module Aws::WAF
3520
3593
  # @return [String]
3521
3594
  #
3522
3595
  # @!attribute [rw] log_destination_configs
3523
- # An array of Amazon Kinesis Data Firehose delivery stream ARNs.
3596
+ # An array of Amazon Kinesis Data Firehose ARNs.
3524
3597
  # @return [Array<String>]
3525
3598
  #
3526
3599
  # @!attribute [rw] redacted_fields
3527
3600
  # The parts of the request that you want redacted from the logs. For
3528
3601
  # example, if you redact the cookie field, the cookie field in the
3529
- # delivery stream will be `xxx`.
3602
+ # firehose will be `xxx`.
3530
3603
  # @return [Array<Types::FieldToMatch>]
3531
3604
  #
3532
3605
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/LoggingConfiguration AWS API Documentation
@@ -3605,9 +3678,9 @@ module Aws::WAF
3605
3678
  # }
3606
3679
  #
3607
3680
  # @!attribute [rw] logging_configuration
3608
- # The Amazon Kinesis Data Firehose delivery streams that contains the
3609
- # inspected traffic information, the redacted fields details, and the
3610
- # Amazon Resource Name (ARN) of the web ACL to monitor.
3681
+ # The Amazon Kinesis Data Firehose that contains the inspected traffic
3682
+ # information, the redacted fields details, and the Amazon Resource
3683
+ # Name (ARN) of the web ACL to monitor.
3611
3684
  # @return [Types::LoggingConfiguration]
3612
3685
  #
3613
3686
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfigurationRequest AWS API Documentation
@@ -4203,6 +4276,11 @@ module Aws::WAF
4203
4276
  # type: "NONE", # required, accepts NONE, COUNT
4204
4277
  # },
4205
4278
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
4279
+ # excluded_rules: [
4280
+ # {
4281
+ # rule_id: "ResourceId", # required
4282
+ # },
4283
+ # ],
4206
4284
  # },
4207
4285
  # }
4208
4286
  #
@@ -5257,6 +5335,11 @@ module Aws::WAF
5257
5335
  # type: "NONE", # required, accepts NONE, COUNT
5258
5336
  # },
5259
5337
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5338
+ # excluded_rules: [
5339
+ # {
5340
+ # rule_id: "ResourceId", # required
5341
+ # },
5342
+ # ],
5260
5343
  # },
5261
5344
  # },
5262
5345
  # ],
@@ -5526,6 +5609,11 @@ module Aws::WAF
5526
5609
  # type: "NONE", # required, accepts NONE, COUNT
5527
5610
  # },
5528
5611
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5612
+ # excluded_rules: [
5613
+ # {
5614
+ # rule_id: "ResourceId", # required
5615
+ # },
5616
+ # ],
5529
5617
  # },
5530
5618
  # },
5531
5619
  # ],
@@ -5554,7 +5642,7 @@ module Aws::WAF
5554
5642
  #
5555
5643
  # * ActivatedRule: Contains `Action`, `OverrideAction`, `Priority`,
5556
5644
  # `RuleId`, and `Type`. `ActivatedRule|OverrideAction` applies only
5557
- # when updating or adding a `RuleGroup` to a `WebACL`. In this case
5645
+ # when updating or adding a `RuleGroup` to a `WebACL`. In this case,
5558
5646
  # you do not use `ActivatedRule|Action`. For all other update
5559
5647
  # requests, `ActivatedRule|Action` is used instead of
5560
5648
  # `ActivatedRule|OverrideAction`.
@@ -5625,7 +5713,7 @@ module Aws::WAF
5625
5713
  #
5626
5714
  # @!attribute [rw] updates
5627
5715
  # An array of `XssMatchSetUpdate` objects that you want to insert into
5628
- # or delete from a XssMatchSet. For more information, see the
5716
+ # or delete from an XssMatchSet. For more information, see the
5629
5717
  # applicable data types:
5630
5718
  #
5631
5719
  # * XssMatchSetUpdate: Contains `Action` and `XssMatchTuple`
@@ -5760,6 +5848,10 @@ module Aws::WAF
5760
5848
  # priority of the `Rule`, and the ID of the `Rule`.
5761
5849
  # @return [Array<Types::ActivatedRule>]
5762
5850
  #
5851
+ # @!attribute [rw] web_acl_arn
5852
+ # Tha Amazon Resource Name (ARN) of the web ACL.
5853
+ # @return [String]
5854
+ #
5763
5855
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/WebACL AWS API Documentation
5764
5856
  #
5765
5857
  class WebACL < Struct.new(
@@ -5767,7 +5859,8 @@ module Aws::WAF
5767
5859
  :name,
5768
5860
  :metric_name,
5769
5861
  :default_action,
5770
- :rules)
5862
+ :rules,
5863
+ :web_acl_arn)
5771
5864
  include Aws::Structure
5772
5865
  end
5773
5866
 
@@ -5813,6 +5906,11 @@ module Aws::WAF
5813
5906
  # type: "NONE", # required, accepts NONE, COUNT
5814
5907
  # },
5815
5908
  # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5909
+ # excluded_rules: [
5910
+ # {
5911
+ # rule_id: "ResourceId", # required
5912
+ # },
5913
+ # ],
5816
5914
  # },
5817
5915
  # }
5818
5916
  #
@@ -5917,8 +6015,8 @@ module Aws::WAF
5917
6015
  # }
5918
6016
  #
5919
6017
  # @!attribute [rw] action
5920
- # Specify `INSERT` to add a XssMatchSetUpdate to an XssMatchSet. Use
5921
- # `DELETE` to remove a `XssMatchSetUpdate` from an `XssMatchSet`.
6018
+ # Specify `INSERT` to add an XssMatchSetUpdate to an XssMatchSet. Use
6019
+ # `DELETE` to remove an `XssMatchSetUpdate` from an `XssMatchSet`.
5922
6020
  # @return [String]
5923
6021
  #
5924
6022
  # @!attribute [rw] xss_match_tuple
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-waf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-20 00:00:00.000000000 Z
11
+ date: 2018-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core