aws-sdk-waf 1.11.0 → 1.12.0

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