aws-sdk-waf 1.5.0 → 1.6.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: e843d55c0efd39ca17cd051c6cca7325e698e6a5
4
- data.tar.gz: e365adf4e76d8b34c70b67b555fb5659c3e251f0
3
+ metadata.gz: 0e4500b76f21c7e2eb0fc18f9093d0c532fec3cf
4
+ data.tar.gz: 85a39a68a09f98148f03563b45a7d9f20fd078b4
5
5
  SHA512:
6
- metadata.gz: 8d9620c0f588e2934011f7848ff5303d69a7675bb61ed13d785c7c59998bb3a7da35581ff7b642a86ca74221b66d28ca03a3e2cf271113601751b30aa03f06fa
7
- data.tar.gz: 871887bdba3e737098d70875350a463f807c8113f09a4f3f45045744125fdd781a2b39ec1ce8b8adfb99c29129a666f0b8a4c754fbd267bda78d6603b3dea47e
6
+ metadata.gz: 6b688c9ba241af2287ddb3ca1becf1ea723abd993162b3c0f58bb8793d47f4c2225c3cc46bca0b8b5547d1aa54c5381c72b11ce5781be0f69534d9159fe51060
7
+ data.tar.gz: a10c716deef78d9bb9f482eb4bcc3f573fa6cc067119899f5df79f363d9e98b05207c7fcad15d16285b974b43d8c3b5039183acaca45f9d475bdeb5d296c6117
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.5.0'
45
+ GEM_VERSION = '1.6.0'
46
46
 
47
47
  end
@@ -218,7 +218,7 @@ module Aws::WAF
218
218
  # resp.byte_match_set.byte_match_set_id #=> String
219
219
  # resp.byte_match_set.name #=> String
220
220
  # resp.byte_match_set.byte_match_tuples #=> Array
221
- # resp.byte_match_set.byte_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
221
+ # resp.byte_match_set.byte_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
222
222
  # resp.byte_match_set.byte_match_tuples[0].field_to_match.data #=> String
223
223
  # resp.byte_match_set.byte_match_tuples[0].target_string #=> String
224
224
  # resp.byte_match_set.byte_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
@@ -580,7 +580,7 @@ module Aws::WAF
580
580
  # resp.regex_match_set.regex_match_set_id #=> String
581
581
  # resp.regex_match_set.name #=> String
582
582
  # resp.regex_match_set.regex_match_tuples #=> Array
583
- # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
583
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
584
584
  # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
585
585
  # resp.regex_match_set.regex_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
586
586
  # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
@@ -919,7 +919,7 @@ module Aws::WAF
919
919
  # resp.size_constraint_set.size_constraint_set_id #=> String
920
920
  # resp.size_constraint_set.name #=> String
921
921
  # resp.size_constraint_set.size_constraints #=> Array
922
- # resp.size_constraint_set.size_constraints[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
922
+ # resp.size_constraint_set.size_constraints[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
923
923
  # resp.size_constraint_set.size_constraints[0].field_to_match.data #=> String
924
924
  # resp.size_constraint_set.size_constraints[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
925
925
  # resp.size_constraint_set.size_constraints[0].comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
@@ -1015,7 +1015,7 @@ module Aws::WAF
1015
1015
  # resp.sql_injection_match_set.sql_injection_match_set_id #=> String
1016
1016
  # resp.sql_injection_match_set.name #=> String
1017
1017
  # resp.sql_injection_match_set.sql_injection_match_tuples #=> Array
1018
- # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
1018
+ # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
1019
1019
  # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.data #=> String
1020
1020
  # resp.sql_injection_match_set.sql_injection_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
1021
1021
  # resp.change_token #=> String
@@ -1237,7 +1237,7 @@ module Aws::WAF
1237
1237
  # resp.xss_match_set.xss_match_set_id #=> String
1238
1238
  # resp.xss_match_set.name #=> String
1239
1239
  # resp.xss_match_set.xss_match_tuples #=> Array
1240
- # resp.xss_match_set.xss_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
1240
+ # resp.xss_match_set.xss_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
1241
1241
  # resp.xss_match_set.xss_match_tuples[0].field_to_match.data #=> String
1242
1242
  # resp.xss_match_set.xss_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
1243
1243
  # resp.change_token #=> String
@@ -1427,6 +1427,30 @@ module Aws::WAF
1427
1427
  req.send_request(options)
1428
1428
  end
1429
1429
 
1430
+ # Permanently deletes the LoggingConfiguration from the specified web
1431
+ # ACL.
1432
+ #
1433
+ # @option params [required, String] :resource_arn
1434
+ # The Amazon Resource Name (ARN) of the web ACL from which you want to
1435
+ # delete the LoggingConfiguration.
1436
+ #
1437
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1438
+ #
1439
+ # @example Request syntax with placeholder values
1440
+ #
1441
+ # resp = client.delete_logging_configuration({
1442
+ # resource_arn: "ResourceArn", # required
1443
+ # })
1444
+ #
1445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteLoggingConfiguration AWS API Documentation
1446
+ #
1447
+ # @overload delete_logging_configuration(params = {})
1448
+ # @param [Hash] params ({})
1449
+ def delete_logging_configuration(params = {}, options = {})
1450
+ req = build_request(:delete_logging_configuration, params)
1451
+ req.send_request(options)
1452
+ end
1453
+
1430
1454
  # Permanently deletes an IAM policy from the specified RuleGroup.
1431
1455
  #
1432
1456
  # The user making the request must be the owner of the RuleGroup.
@@ -2003,7 +2027,7 @@ module Aws::WAF
2003
2027
  # resp.byte_match_set.byte_match_set_id #=> String
2004
2028
  # resp.byte_match_set.name #=> String
2005
2029
  # resp.byte_match_set.byte_match_tuples #=> Array
2006
- # resp.byte_match_set.byte_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2030
+ # resp.byte_match_set.byte_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2007
2031
  # resp.byte_match_set.byte_match_tuples[0].field_to_match.data #=> String
2008
2032
  # resp.byte_match_set.byte_match_tuples[0].target_string #=> String
2009
2033
  # resp.byte_match_set.byte_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
@@ -2207,6 +2231,40 @@ module Aws::WAF
2207
2231
  req.send_request(options)
2208
2232
  end
2209
2233
 
2234
+ # Returns the LoggingConfiguration for the specified web ACL.
2235
+ #
2236
+ # @option params [required, String] :resource_arn
2237
+ # The Amazon Resource Name (ARN) of the web ACL for which you want to
2238
+ # get the LoggingConfiguration.
2239
+ #
2240
+ # @return [Types::GetLoggingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2241
+ #
2242
+ # * {Types::GetLoggingConfigurationResponse#logging_configuration #logging_configuration} => Types::LoggingConfiguration
2243
+ #
2244
+ # @example Request syntax with placeholder values
2245
+ #
2246
+ # resp = client.get_logging_configuration({
2247
+ # resource_arn: "ResourceArn", # required
2248
+ # })
2249
+ #
2250
+ # @example Response structure
2251
+ #
2252
+ # resp.logging_configuration.resource_arn #=> String
2253
+ # resp.logging_configuration.log_destination_configs #=> Array
2254
+ # resp.logging_configuration.log_destination_configs[0] #=> String
2255
+ # resp.logging_configuration.redacted_fields #=> Array
2256
+ # resp.logging_configuration.redacted_fields[0].type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2257
+ # resp.logging_configuration.redacted_fields[0].data #=> String
2258
+ #
2259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetLoggingConfiguration AWS API Documentation
2260
+ #
2261
+ # @overload get_logging_configuration(params = {})
2262
+ # @param [Hash] params ({})
2263
+ def get_logging_configuration(params = {}, options = {})
2264
+ req = build_request(:get_logging_configuration, params)
2265
+ req.send_request(options)
2266
+ end
2267
+
2210
2268
  # Returns the IAM policy attached to the RuleGroup.
2211
2269
  #
2212
2270
  # @option params [required, String] :resource_arn
@@ -2338,7 +2396,7 @@ module Aws::WAF
2338
2396
  # resp.regex_match_set.regex_match_set_id #=> String
2339
2397
  # resp.regex_match_set.name #=> String
2340
2398
  # resp.regex_match_set.regex_match_tuples #=> Array
2341
- # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2399
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2342
2400
  # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
2343
2401
  # resp.regex_match_set.regex_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2344
2402
  # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
@@ -2663,7 +2721,7 @@ module Aws::WAF
2663
2721
  # resp.size_constraint_set.size_constraint_set_id #=> String
2664
2722
  # resp.size_constraint_set.name #=> String
2665
2723
  # resp.size_constraint_set.size_constraints #=> Array
2666
- # resp.size_constraint_set.size_constraints[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2724
+ # resp.size_constraint_set.size_constraints[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2667
2725
  # resp.size_constraint_set.size_constraints[0].field_to_match.data #=> String
2668
2726
  # resp.size_constraint_set.size_constraints[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2669
2727
  # resp.size_constraint_set.size_constraints[0].comparison_operator #=> String, one of "EQ", "NE", "LE", "LT", "GE", "GT"
@@ -2727,7 +2785,7 @@ module Aws::WAF
2727
2785
  # resp.sql_injection_match_set.sql_injection_match_set_id #=> String
2728
2786
  # resp.sql_injection_match_set.name #=> String
2729
2787
  # resp.sql_injection_match_set.sql_injection_match_tuples #=> Array
2730
- # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2788
+ # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2731
2789
  # resp.sql_injection_match_set.sql_injection_match_tuples[0].field_to_match.data #=> String
2732
2790
  # resp.sql_injection_match_set.sql_injection_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2733
2791
  #
@@ -2855,7 +2913,7 @@ module Aws::WAF
2855
2913
  # resp.xss_match_set.xss_match_set_id #=> String
2856
2914
  # resp.xss_match_set.name #=> String
2857
2915
  # resp.xss_match_set.xss_match_tuples #=> Array
2858
- # resp.xss_match_set.xss_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2916
+ # resp.xss_match_set.xss_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
2859
2917
  # resp.xss_match_set.xss_match_tuples[0].field_to_match.data #=> String
2860
2918
  # resp.xss_match_set.xss_match_tuples[0].text_transformation #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE"
2861
2919
  #
@@ -3074,6 +3132,56 @@ module Aws::WAF
3074
3132
  req.send_request(options)
3075
3133
  end
3076
3134
 
3135
+ # Returns an array of LoggingConfiguration objects.
3136
+ #
3137
+ # @option params [String] :next_marker
3138
+ # If you specify a value for `Limit` and you have more
3139
+ # `LoggingConfigurations` than the value of `Limit`, AWS WAF returns a
3140
+ # `NextMarker` value in the response that allows you to list another
3141
+ # group of `LoggingConfigurations`. For the second and subsequent
3142
+ # `ListLoggingConfigurations` requests, specify the value of
3143
+ # `NextMarker` from the previous response to get information about
3144
+ # another batch of `ListLoggingConfigurations`.
3145
+ #
3146
+ # @option params [Integer] :limit
3147
+ # Specifies the number of `LoggingConfigurations` that you want AWS WAF
3148
+ # to return for this request. If you have more `LoggingConfigurations`
3149
+ # than the number that you specify for `Limit`, the response includes a
3150
+ # `NextMarker` value that you can use to get another batch of
3151
+ # `LoggingConfigurations`.
3152
+ #
3153
+ # @return [Types::ListLoggingConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3154
+ #
3155
+ # * {Types::ListLoggingConfigurationsResponse#logging_configurations #logging_configurations} => Array<Types::LoggingConfiguration>
3156
+ # * {Types::ListLoggingConfigurationsResponse#next_marker #next_marker} => String
3157
+ #
3158
+ # @example Request syntax with placeholder values
3159
+ #
3160
+ # resp = client.list_logging_configurations({
3161
+ # next_marker: "NextMarker",
3162
+ # limit: 1,
3163
+ # })
3164
+ #
3165
+ # @example Response structure
3166
+ #
3167
+ # resp.logging_configurations #=> Array
3168
+ # resp.logging_configurations[0].resource_arn #=> String
3169
+ # resp.logging_configurations[0].log_destination_configs #=> Array
3170
+ # resp.logging_configurations[0].log_destination_configs[0] #=> String
3171
+ # resp.logging_configurations[0].redacted_fields #=> Array
3172
+ # resp.logging_configurations[0].redacted_fields[0].type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
3173
+ # resp.logging_configurations[0].redacted_fields[0].data #=> String
3174
+ # resp.next_marker #=> String
3175
+ #
3176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListLoggingConfigurations AWS API Documentation
3177
+ #
3178
+ # @overload list_logging_configurations(params = {})
3179
+ # @param [Hash] params ({})
3180
+ def list_logging_configurations(params = {}, options = {})
3181
+ req = build_request(:list_logging_configurations, params)
3182
+ req.send_request(options)
3183
+ end
3184
+
3077
3185
  # Returns an array of RuleSummary objects.
3078
3186
  #
3079
3187
  # @option params [String] :next_marker
@@ -3619,6 +3727,71 @@ module Aws::WAF
3619
3727
  req.send_request(options)
3620
3728
  end
3621
3729
 
3730
+ # Associates a LoggingConfiguration with a specified web ACL.
3731
+ #
3732
+ # You can access information about all traffic that AWS WAF inspects
3733
+ # using the following steps:
3734
+ #
3735
+ # 1. Create an Amazon Kinesis Data Firehose delivery stream. For more
3736
+ # information, see [Creating an Amazon Kinesis Data Firehose
3737
+ # Delivery Stream][1].
3738
+ #
3739
+ # 2. Associate that delivery stream to your web ACL using a
3740
+ # `PutLoggingConfiguration` request.
3741
+ #
3742
+ # When you successfully enable logging using a `PutLoggingConfiguration`
3743
+ # request, AWS WAF will create a service linked role with the necessary
3744
+ # permissions to write logs to the Amazon Kinesis Data Firehose delivery
3745
+ # stream. For more information, see [Logging Web ACL Traffic
3746
+ # Information][2] in the *AWS WAF Developer Guide*.
3747
+ #
3748
+ #
3749
+ #
3750
+ # [1]: https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html
3751
+ # [2]: http://docs.aws.amazon.com/waf/latest/developerguide/logging.html
3752
+ #
3753
+ # @option params [required, Types::LoggingConfiguration] :logging_configuration
3754
+ # The Amazon Kinesis Data Firehose delivery streams that contains the
3755
+ # inspected traffic information, the redacted fields details, and the
3756
+ # Amazon Resource Name (ARN) of the web ACL to monitor.
3757
+ #
3758
+ # @return [Types::PutLoggingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3759
+ #
3760
+ # * {Types::PutLoggingConfigurationResponse#logging_configuration #logging_configuration} => Types::LoggingConfiguration
3761
+ #
3762
+ # @example Request syntax with placeholder values
3763
+ #
3764
+ # resp = client.put_logging_configuration({
3765
+ # logging_configuration: { # required
3766
+ # resource_arn: "ResourceArn", # required
3767
+ # log_destination_configs: ["ResourceArn"], # required
3768
+ # redacted_fields: [
3769
+ # {
3770
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3771
+ # data: "MatchFieldData",
3772
+ # },
3773
+ # ],
3774
+ # },
3775
+ # })
3776
+ #
3777
+ # @example Response structure
3778
+ #
3779
+ # resp.logging_configuration.resource_arn #=> String
3780
+ # resp.logging_configuration.log_destination_configs #=> Array
3781
+ # resp.logging_configuration.log_destination_configs[0] #=> String
3782
+ # resp.logging_configuration.redacted_fields #=> Array
3783
+ # resp.logging_configuration.redacted_fields[0].type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY", "SINGLE_QUERY_ARG", "ALL_QUERY_ARGS"
3784
+ # resp.logging_configuration.redacted_fields[0].data #=> String
3785
+ #
3786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfiguration AWS API Documentation
3787
+ #
3788
+ # @overload put_logging_configuration(params = {})
3789
+ # @param [Hash] params ({})
3790
+ def put_logging_configuration(params = {}, options = {})
3791
+ req = build_request(:put_logging_configuration, params)
3792
+ req.send_request(options)
3793
+ end
3794
+
3622
3795
  # Attaches a IAM policy to the specified resource. The only supported
3623
3796
  # use for this action is to share a RuleGroup across accounts.
3624
3797
  #
@@ -3631,8 +3804,9 @@ module Aws::WAF
3631
3804
  #
3632
3805
  # * `Effect` must specify `Allow`.
3633
3806
  #
3634
- # * The `Action` in the policy must be `waf:UpdateWebACL` and
3635
- # `waf-regional:UpdateWebACL`. Any extra or wildcard actions in the
3807
+ # * The `Action` in the policy must be `waf:UpdateWebACL`,
3808
+ # `waf-regional:UpdateWebACL`, `waf:GetRuleGroup` and
3809
+ # `waf-regional:GetRuleGroup` . Any extra or wildcard actions in the
3636
3810
  # policy will be rejected.
3637
3811
  #
3638
3812
  # * The policy cannot include a `Resource` parameter.
@@ -3787,7 +3961,7 @@ module Aws::WAF
3787
3961
  # action: "INSERT", # required, accepts INSERT, DELETE
3788
3962
  # byte_match_tuple: { # required
3789
3963
  # field_to_match: { # required
3790
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3964
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3791
3965
  # data: "MatchFieldData",
3792
3966
  # },
3793
3967
  # target_string: "data", # required
@@ -3912,10 +4086,10 @@ module Aws::WAF
3912
4086
  # the range of IP addresses from `192.0.2.0` to `192.0.2.255`) or
3913
4087
  # `192.0.2.44/32` (for the individual IP address `192.0.2.44`).
3914
4088
  #
3915
- # AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and
3916
- # /24, /32, /48, /56, /64 and /128 for IPv6. For more information about
3917
- # CIDR notation, see the Wikipedia entry [Classless Inter-Domain
3918
- # Routing][1].
4089
+ # AWS WAF supports IPv4 address ranges: /8 and any range between /16
4090
+ # through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48,
4091
+ # /56, /64, and /128. For more information about CIDR notation, see the
4092
+ # Wikipedia entry [Classless Inter-Domain Routing][1].
3919
4093
  #
3920
4094
  # IPv6 addresses can be represented using any of the following formats:
3921
4095
  #
@@ -3949,6 +4123,8 @@ module Aws::WAF
3949
4123
  # change an IP address, you delete the existing IP address and add the
3950
4124
  # new one.
3951
4125
  #
4126
+ # You can insert a maximum of 1000 addresses in a single request.
4127
+ #
3952
4128
  # For more information about how to use the AWS WAF API to allow or
3953
4129
  # block HTTP requests, see the [AWS WAF Developer Guide][2].
3954
4130
  #
@@ -3973,6 +4149,8 @@ module Aws::WAF
3973
4149
  #
3974
4150
  # * IPSetDescriptor: Contains `Type` and `Value`
3975
4151
  #
4152
+ # You can insert a maximum of 1000 addresses in a single request.
4153
+ #
3976
4154
  # @return [Types::UpdateIPSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3977
4155
  #
3978
4156
  # * {Types::UpdateIPSetResponse#change_token #change_token} => String
@@ -4197,7 +4375,7 @@ module Aws::WAF
4197
4375
  # action: "INSERT", # required, accepts INSERT, DELETE
4198
4376
  # regex_match_tuple: { # required
4199
4377
  # field_to_match: { # required
4200
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4378
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4201
4379
  # data: "MatchFieldData",
4202
4380
  # },
4203
4381
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4528,6 +4706,8 @@ module Aws::WAF
4528
4706
  # AWS resource forwards only the first `8192` bytes of your request to
4529
4707
  # AWS WAF.
4530
4708
  #
4709
+ # You can only specify a single type of TextTransformation.
4710
+ #
4531
4711
  # * A `ComparisonOperator` used for evaluating the selected part of the
4532
4712
  # request against the specified `Size`, such as equals, greater than,
4533
4713
  # less than, and so on.
@@ -4625,7 +4805,7 @@ module Aws::WAF
4625
4805
  # action: "INSERT", # required, accepts INSERT, DELETE
4626
4806
  # size_constraint: { # required
4627
4807
  # field_to_match: { # required
4628
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4808
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4629
4809
  # data: "MatchFieldData",
4630
4810
  # },
4631
4811
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4658,13 +4838,15 @@ module Aws::WAF
4658
4838
  # existing object and add a new one.
4659
4839
  #
4660
4840
  # * `FieldToMatch`\: The part of web requests that you want AWS WAF to
4661
- # inspect and, if you want AWS WAF to inspect a header, the name of
4662
- # the header.
4841
+ # inspect and, if you want AWS WAF to inspect a header or custom query
4842
+ # parameter, the name of the header or parameter.
4663
4843
  #
4664
4844
  # * `TextTransformation`\: Which text transformation, if any, to perform
4665
4845
  # on the web request before inspecting the request for snippets of
4666
4846
  # malicious SQL code.
4667
4847
  #
4848
+ # You can only specify a single type of TextTransformation.
4849
+ #
4668
4850
  # You use `SqlInjectionMatchSet` objects to specify which CloudFront
4669
4851
  # requests you want to allow, block, or count. For example, if you're
4670
4852
  # receiving requests that contain snippets of SQL code in the query
@@ -4753,7 +4935,7 @@ module Aws::WAF
4753
4935
  # action: "INSERT", # required, accepts INSERT, DELETE
4754
4936
  # sql_injection_match_tuple: { # required
4755
4937
  # field_to_match: { # required
4756
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4938
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4757
4939
  # data: "MatchFieldData",
4758
4940
  # },
4759
4941
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4943,13 +5125,15 @@ module Aws::WAF
4943
5125
  # object and add a new one.
4944
5126
  #
4945
5127
  # * `FieldToMatch`\: The part of web requests that you want AWS WAF to
4946
- # inspect and, if you want AWS WAF to inspect a header, the name of
4947
- # the header.
5128
+ # inspect and, if you want AWS WAF to inspect a header or custom query
5129
+ # parameter, the name of the header or parameter.
4948
5130
  #
4949
5131
  # * `TextTransformation`\: Which text transformation, if any, to perform
4950
5132
  # on the web request before inspecting the request for cross-site
4951
5133
  # scripting attacks.
4952
5134
  #
5135
+ # You can only specify a single type of TextTransformation.
5136
+ #
4953
5137
  # You use `XssMatchSet` objects to specify which CloudFront requests you
4954
5138
  # want to allow, block, or count. For example, if you're receiving
4955
5139
  # requests that contain cross-site scripting attacks in the request body
@@ -5035,7 +5219,7 @@ module Aws::WAF
5035
5219
  # action: "INSERT", # required, accepts INSERT, DELETE
5036
5220
  # xss_match_tuple: { # required
5037
5221
  # field_to_match: { # required
5038
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5222
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5039
5223
  # data: "MatchFieldData",
5040
5224
  # },
5041
5225
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5070,7 +5254,7 @@ module Aws::WAF
5070
5254
  params: params,
5071
5255
  config: config)
5072
5256
  context[:gem_name] = 'aws-sdk-waf'
5073
- context[:gem_version] = '1.5.0'
5257
+ context[:gem_version] = '1.6.0'
5074
5258
  Seahorse::Client::Request.new(handlers, context)
5075
5259
  end
5076
5260
 
@@ -57,6 +57,8 @@ module Aws::WAF
57
57
  DeleteGeoMatchSetResponse = Shapes::StructureShape.new(name: 'DeleteGeoMatchSetResponse')
58
58
  DeleteIPSetRequest = Shapes::StructureShape.new(name: 'DeleteIPSetRequest')
59
59
  DeleteIPSetResponse = Shapes::StructureShape.new(name: 'DeleteIPSetResponse')
60
+ DeleteLoggingConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteLoggingConfigurationRequest')
61
+ DeleteLoggingConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteLoggingConfigurationResponse')
60
62
  DeletePermissionPolicyRequest = Shapes::StructureShape.new(name: 'DeletePermissionPolicyRequest')
61
63
  DeletePermissionPolicyResponse = Shapes::StructureShape.new(name: 'DeletePermissionPolicyResponse')
62
64
  DeleteRateBasedRuleRequest = Shapes::StructureShape.new(name: 'DeleteRateBasedRuleRequest')
@@ -97,6 +99,8 @@ module Aws::WAF
97
99
  GetGeoMatchSetResponse = Shapes::StructureShape.new(name: 'GetGeoMatchSetResponse')
98
100
  GetIPSetRequest = Shapes::StructureShape.new(name: 'GetIPSetRequest')
99
101
  GetIPSetResponse = Shapes::StructureShape.new(name: 'GetIPSetResponse')
102
+ GetLoggingConfigurationRequest = Shapes::StructureShape.new(name: 'GetLoggingConfigurationRequest')
103
+ GetLoggingConfigurationResponse = Shapes::StructureShape.new(name: 'GetLoggingConfigurationResponse')
100
104
  GetPermissionPolicyRequest = Shapes::StructureShape.new(name: 'GetPermissionPolicyRequest')
101
105
  GetPermissionPolicyResponse = Shapes::StructureShape.new(name: 'GetPermissionPolicyResponse')
102
106
  GetRateBasedRuleManagedKeysRequest = Shapes::StructureShape.new(name: 'GetRateBasedRuleManagedKeysRequest')
@@ -147,6 +151,8 @@ module Aws::WAF
147
151
  ListGeoMatchSetsResponse = Shapes::StructureShape.new(name: 'ListGeoMatchSetsResponse')
148
152
  ListIPSetsRequest = Shapes::StructureShape.new(name: 'ListIPSetsRequest')
149
153
  ListIPSetsResponse = Shapes::StructureShape.new(name: 'ListIPSetsResponse')
154
+ ListLoggingConfigurationsRequest = Shapes::StructureShape.new(name: 'ListLoggingConfigurationsRequest')
155
+ ListLoggingConfigurationsResponse = Shapes::StructureShape.new(name: 'ListLoggingConfigurationsResponse')
150
156
  ListRateBasedRulesRequest = Shapes::StructureShape.new(name: 'ListRateBasedRulesRequest')
151
157
  ListRateBasedRulesResponse = Shapes::StructureShape.new(name: 'ListRateBasedRulesResponse')
152
158
  ListRegexMatchSetsRequest = Shapes::StructureShape.new(name: 'ListRegexMatchSetsRequest')
@@ -167,6 +173,9 @@ module Aws::WAF
167
173
  ListWebACLsResponse = Shapes::StructureShape.new(name: 'ListWebACLsResponse')
168
174
  ListXssMatchSetsRequest = Shapes::StructureShape.new(name: 'ListXssMatchSetsRequest')
169
175
  ListXssMatchSetsResponse = Shapes::StructureShape.new(name: 'ListXssMatchSetsResponse')
176
+ LogDestinationConfigs = Shapes::ListShape.new(name: 'LogDestinationConfigs')
177
+ LoggingConfiguration = Shapes::StructureShape.new(name: 'LoggingConfiguration')
178
+ LoggingConfigurations = Shapes::ListShape.new(name: 'LoggingConfigurations')
170
179
  ManagedKey = Shapes::StringShape.new(name: 'ManagedKey')
171
180
  ManagedKeys = Shapes::ListShape.new(name: 'ManagedKeys')
172
181
  MatchFieldData = Shapes::StringShape.new(name: 'MatchFieldData')
@@ -184,11 +193,14 @@ module Aws::WAF
184
193
  Predicate = Shapes::StructureShape.new(name: 'Predicate')
185
194
  PredicateType = Shapes::StringShape.new(name: 'PredicateType')
186
195
  Predicates = Shapes::ListShape.new(name: 'Predicates')
196
+ PutLoggingConfigurationRequest = Shapes::StructureShape.new(name: 'PutLoggingConfigurationRequest')
197
+ PutLoggingConfigurationResponse = Shapes::StructureShape.new(name: 'PutLoggingConfigurationResponse')
187
198
  PutPermissionPolicyRequest = Shapes::StructureShape.new(name: 'PutPermissionPolicyRequest')
188
199
  PutPermissionPolicyResponse = Shapes::StructureShape.new(name: 'PutPermissionPolicyResponse')
189
200
  RateBasedRule = Shapes::StructureShape.new(name: 'RateBasedRule')
190
201
  RateKey = Shapes::StringShape.new(name: 'RateKey')
191
202
  RateLimit = Shapes::IntegerShape.new(name: 'RateLimit')
203
+ RedactedFields = Shapes::ListShape.new(name: 'RedactedFields')
192
204
  RegexMatchSet = Shapes::StructureShape.new(name: 'RegexMatchSet')
193
205
  RegexMatchSetSummaries = Shapes::ListShape.new(name: 'RegexMatchSetSummaries')
194
206
  RegexMatchSetSummary = Shapes::StructureShape.new(name: 'RegexMatchSetSummary')
@@ -456,6 +468,11 @@ module Aws::WAF
456
468
  DeleteIPSetResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
457
469
  DeleteIPSetResponse.struct_class = Types::DeleteIPSetResponse
458
470
 
471
+ DeleteLoggingConfigurationRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
472
+ DeleteLoggingConfigurationRequest.struct_class = Types::DeleteLoggingConfigurationRequest
473
+
474
+ DeleteLoggingConfigurationResponse.struct_class = Types::DeleteLoggingConfigurationResponse
475
+
459
476
  DeletePermissionPolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
460
477
  DeletePermissionPolicyRequest.struct_class = Types::DeletePermissionPolicyRequest
461
478
 
@@ -580,6 +597,12 @@ module Aws::WAF
580
597
  GetIPSetResponse.add_member(:ip_set, Shapes::ShapeRef.new(shape: IPSet, location_name: "IPSet"))
581
598
  GetIPSetResponse.struct_class = Types::GetIPSetResponse
582
599
 
600
+ GetLoggingConfigurationRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
601
+ GetLoggingConfigurationRequest.struct_class = Types::GetLoggingConfigurationRequest
602
+
603
+ GetLoggingConfigurationResponse.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, location_name: "LoggingConfiguration"))
604
+ GetLoggingConfigurationResponse.struct_class = Types::GetLoggingConfigurationResponse
605
+
583
606
  GetPermissionPolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
584
607
  GetPermissionPolicyRequest.struct_class = Types::GetPermissionPolicyRequest
585
608
 
@@ -729,6 +752,14 @@ module Aws::WAF
729
752
  ListIPSetsResponse.add_member(:ip_sets, Shapes::ShapeRef.new(shape: IPSetSummaries, location_name: "IPSets"))
730
753
  ListIPSetsResponse.struct_class = Types::ListIPSetsResponse
731
754
 
755
+ ListLoggingConfigurationsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
756
+ ListLoggingConfigurationsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
757
+ ListLoggingConfigurationsRequest.struct_class = Types::ListLoggingConfigurationsRequest
758
+
759
+ ListLoggingConfigurationsResponse.add_member(:logging_configurations, Shapes::ShapeRef.new(shape: LoggingConfigurations, location_name: "LoggingConfigurations"))
760
+ ListLoggingConfigurationsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
761
+ ListLoggingConfigurationsResponse.struct_class = Types::ListLoggingConfigurationsResponse
762
+
732
763
  ListRateBasedRulesRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
733
764
  ListRateBasedRulesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
734
765
  ListRateBasedRulesRequest.struct_class = Types::ListRateBasedRulesRequest
@@ -809,6 +840,15 @@ module Aws::WAF
809
840
  ListXssMatchSetsResponse.add_member(:xss_match_sets, Shapes::ShapeRef.new(shape: XssMatchSetSummaries, location_name: "XssMatchSets"))
810
841
  ListXssMatchSetsResponse.struct_class = Types::ListXssMatchSetsResponse
811
842
 
843
+ LogDestinationConfigs.member = Shapes::ShapeRef.new(shape: ResourceArn)
844
+
845
+ LoggingConfiguration.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
846
+ LoggingConfiguration.add_member(:log_destination_configs, Shapes::ShapeRef.new(shape: LogDestinationConfigs, required: true, location_name: "LogDestinationConfigs"))
847
+ LoggingConfiguration.add_member(:redacted_fields, Shapes::ShapeRef.new(shape: RedactedFields, location_name: "RedactedFields"))
848
+ LoggingConfiguration.struct_class = Types::LoggingConfiguration
849
+
850
+ LoggingConfigurations.member = Shapes::ShapeRef.new(shape: LoggingConfiguration)
851
+
812
852
  ManagedKeys.member = Shapes::ShapeRef.new(shape: ManagedKey)
813
853
 
814
854
  Predicate.add_member(:negated, Shapes::ShapeRef.new(shape: Negated, required: true, location_name: "Negated"))
@@ -818,6 +858,12 @@ module Aws::WAF
818
858
 
819
859
  Predicates.member = Shapes::ShapeRef.new(shape: Predicate)
820
860
 
861
+ PutLoggingConfigurationRequest.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, required: true, location_name: "LoggingConfiguration"))
862
+ PutLoggingConfigurationRequest.struct_class = Types::PutLoggingConfigurationRequest
863
+
864
+ PutLoggingConfigurationResponse.add_member(:logging_configuration, Shapes::ShapeRef.new(shape: LoggingConfiguration, location_name: "LoggingConfiguration"))
865
+ PutLoggingConfigurationResponse.struct_class = Types::PutLoggingConfigurationResponse
866
+
821
867
  PutPermissionPolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
822
868
  PutPermissionPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyString, required: true, location_name: "Policy"))
823
869
  PutPermissionPolicyRequest.struct_class = Types::PutPermissionPolicyRequest
@@ -832,6 +878,8 @@ module Aws::WAF
832
878
  RateBasedRule.add_member(:rate_limit, Shapes::ShapeRef.new(shape: RateLimit, required: true, location_name: "RateLimit"))
833
879
  RateBasedRule.struct_class = Types::RateBasedRule
834
880
 
881
+ RedactedFields.member = Shapes::ShapeRef.new(shape: FieldToMatch)
882
+
835
883
  RegexMatchSet.add_member(:regex_match_set_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "RegexMatchSetId"))
836
884
  RegexMatchSet.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "Name"))
837
885
  RegexMatchSet.add_member(:regex_match_tuples, Shapes::ShapeRef.new(shape: RegexMatchTuples, location_name: "RegexMatchTuples"))
@@ -1341,6 +1389,17 @@ module Aws::WAF
1341
1389
  o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
1342
1390
  end)
1343
1391
 
1392
+ api.add_operation(:delete_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
1393
+ o.name = "DeleteLoggingConfiguration"
1394
+ o.http_method = "POST"
1395
+ o.http_request_uri = "/"
1396
+ o.input = Shapes::ShapeRef.new(shape: DeleteLoggingConfigurationRequest)
1397
+ o.output = Shapes::ShapeRef.new(shape: DeleteLoggingConfigurationResponse)
1398
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1399
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1400
+ o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1401
+ end)
1402
+
1344
1403
  api.add_operation(:delete_permission_policy, Seahorse::Model::Operation.new.tap do |o|
1345
1404
  o.name = "DeletePermissionPolicy"
1346
1405
  o.http_method = "POST"
@@ -1419,6 +1478,7 @@ module Aws::WAF
1419
1478
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1420
1479
  o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
1421
1480
  o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
1481
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1422
1482
  end)
1423
1483
 
1424
1484
  api.add_operation(:delete_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
@@ -1529,6 +1589,16 @@ module Aws::WAF
1529
1589
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1530
1590
  end)
1531
1591
 
1592
+ api.add_operation(:get_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
1593
+ o.name = "GetLoggingConfiguration"
1594
+ o.http_method = "POST"
1595
+ o.http_request_uri = "/"
1596
+ o.input = Shapes::ShapeRef.new(shape: GetLoggingConfigurationRequest)
1597
+ o.output = Shapes::ShapeRef.new(shape: GetLoggingConfigurationResponse)
1598
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1599
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1600
+ end)
1601
+
1532
1602
  api.add_operation(:get_permission_policy, Seahorse::Model::Operation.new.tap do |o|
1533
1603
  o.name = "GetPermissionPolicy"
1534
1604
  o.http_method = "POST"
@@ -1700,6 +1770,17 @@ module Aws::WAF
1700
1770
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
1701
1771
  end)
1702
1772
 
1773
+ api.add_operation(:list_logging_configurations, Seahorse::Model::Operation.new.tap do |o|
1774
+ o.name = "ListLoggingConfigurations"
1775
+ o.http_method = "POST"
1776
+ o.http_request_uri = "/"
1777
+ o.input = Shapes::ShapeRef.new(shape: ListLoggingConfigurationsRequest)
1778
+ o.output = Shapes::ShapeRef.new(shape: ListLoggingConfigurationsResponse)
1779
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1780
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1781
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1782
+ end)
1783
+
1703
1784
  api.add_operation(:list_rate_based_rules, Seahorse::Model::Operation.new.tap do |o|
1704
1785
  o.name = "ListRateBasedRules"
1705
1786
  o.http_method = "POST"
@@ -1799,6 +1880,17 @@ module Aws::WAF
1799
1880
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
1800
1881
  end)
1801
1882
 
1883
+ api.add_operation(:put_logging_configuration, Seahorse::Model::Operation.new.tap do |o|
1884
+ o.name = "PutLoggingConfiguration"
1885
+ o.http_method = "POST"
1886
+ o.http_request_uri = "/"
1887
+ o.input = Shapes::ShapeRef.new(shape: PutLoggingConfigurationRequest)
1888
+ o.output = Shapes::ShapeRef.new(shape: PutLoggingConfigurationResponse)
1889
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1890
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1891
+ o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1892
+ end)
1893
+
1802
1894
  api.add_operation(:put_permission_policy, Seahorse::Model::Operation.new.tap do |o|
1803
1895
  o.name = "PutPermissionPolicy"
1804
1896
  o.http_method = "POST"
@@ -191,7 +191,7 @@ module Aws::WAF
191
191
  # action: "INSERT", # required, accepts INSERT, DELETE
192
192
  # byte_match_tuple: { # required
193
193
  # field_to_match: { # required
194
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
194
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
195
195
  # data: "MatchFieldData",
196
196
  # },
197
197
  # target_string: "data", # required
@@ -229,7 +229,7 @@ module Aws::WAF
229
229
  #
230
230
  # {
231
231
  # field_to_match: { # required
232
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
232
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
233
233
  # data: "MatchFieldData",
234
234
  # },
235
235
  # target_string: "data", # required
@@ -277,6 +277,15 @@ module Aws::WAF
277
277
  # size constraint set. For more information, see
278
278
  # CreateSizeConstraintSet.
279
279
  #
280
+ # * `SINGLE_QUERY_ARG`\: The parameter in the query string that you
281
+ # will inspect, such as *UserName* or *SalesRegion*. The maximum
282
+ # length for `SINGLE_QUERY_ARG` is 30 characters.
283
+ #
284
+ # * `ALL_QUERY_ARGS`\: Similar to `SINGLE_QUERY_ARG`, but instead of
285
+ # inspecting a single parameter, AWS WAF inspects all parameters
286
+ # within the query string for the value or regex pattern that you
287
+ # specify in `TargetString`.
288
+ #
280
289
  # If `TargetString` includes alphabetic characters A-Z and a-z, note
281
290
  # that the value is case sensitive.
282
291
  #
@@ -303,10 +312,12 @@ module Aws::WAF
303
312
  # specify a transformation, AWS WAF performs the transformation on
304
313
  # `TargetString` before inspecting a request for a match.
305
314
  #
315
+ # You can only specify a single type of TextTransformation.
316
+ #
306
317
  # **CMD\_LINE**
307
318
  #
308
319
  # When you're concerned that attackers are injecting an operating
309
- # system commandline command and using unusual formatting to disguise
320
+ # system command line command and using unusual formatting to disguise
310
321
  # some or all of the command, use this option to perform the following
311
322
  # transformations:
312
323
  #
@@ -1147,6 +1158,29 @@ module Aws::WAF
1147
1158
  include Aws::Structure
1148
1159
  end
1149
1160
 
1161
+ # @note When making an API call, you may pass DeleteLoggingConfigurationRequest
1162
+ # data as a hash:
1163
+ #
1164
+ # {
1165
+ # resource_arn: "ResourceArn", # required
1166
+ # }
1167
+ #
1168
+ # @!attribute [rw] resource_arn
1169
+ # The Amazon Resource Name (ARN) of the web ACL from which you want to
1170
+ # delete the LoggingConfiguration.
1171
+ # @return [String]
1172
+ #
1173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteLoggingConfigurationRequest AWS API Documentation
1174
+ #
1175
+ class DeleteLoggingConfigurationRequest < Struct.new(
1176
+ :resource_arn)
1177
+ include Aws::Structure
1178
+ end
1179
+
1180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteLoggingConfigurationResponse AWS API Documentation
1181
+ #
1182
+ class DeleteLoggingConfigurationResponse < Aws::EmptyStructure; end
1183
+
1150
1184
  # @note When making an API call, you may pass DeletePermissionPolicyRequest
1151
1185
  # data as a hash:
1152
1186
  #
@@ -1537,7 +1571,7 @@ module Aws::WAF
1537
1571
  # data as a hash:
1538
1572
  #
1539
1573
  # {
1540
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
1574
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
1541
1575
  # data: "MatchFieldData",
1542
1576
  # }
1543
1577
  #
@@ -1569,14 +1603,28 @@ module Aws::WAF
1569
1603
  # block requests based on the length of the body, you can create a
1570
1604
  # size constraint set. For more information, see
1571
1605
  # CreateSizeConstraintSet.
1606
+ #
1607
+ # * `SINGLE_QUERY_ARG`\: The parameter in the query string that you
1608
+ # will inspect, such as *UserName* or *SalesRegion*. The maximum
1609
+ # length for `SINGLE_QUERY_ARG` is 30 characters.
1610
+ #
1611
+ # * `ALL_QUERY_ARGS`\: Similar to `SINGLE_QUERY_ARG`, but rather than
1612
+ # inspecting a single parameter, AWS WAF will inspect all parameters
1613
+ # within the query for the value or regex pattern that you specify
1614
+ # in `TargetString`.
1572
1615
  # @return [String]
1573
1616
  #
1574
1617
  # @!attribute [rw] data
1575
1618
  # When the value of `Type` is `HEADER`, enter the name of the header
1576
1619
  # that you want AWS WAF to search, for example, `User-Agent` or
1577
- # `Referer`. If the value of `Type` is any other value, omit `Data`.
1620
+ # `Referer`. The name of the header is not case sensitive.
1621
+ #
1622
+ # When the value of `Type` is `SINGLE_QUERY_ARG`, enter the name of
1623
+ # the parameter that you want AWS WAF to search, for example,
1624
+ # `UserName` or `SalesRegion`. The parameter name is not case
1625
+ # sensitive.
1578
1626
  #
1579
- # The name of the header is not case sensitive.
1627
+ # If the value of `Type` is any other value, omit `Data`.
1580
1628
  # @return [String]
1581
1629
  #
1582
1630
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/FieldToMatch AWS API Documentation
@@ -1861,6 +1909,36 @@ module Aws::WAF
1861
1909
  include Aws::Structure
1862
1910
  end
1863
1911
 
1912
+ # @note When making an API call, you may pass GetLoggingConfigurationRequest
1913
+ # data as a hash:
1914
+ #
1915
+ # {
1916
+ # resource_arn: "ResourceArn", # required
1917
+ # }
1918
+ #
1919
+ # @!attribute [rw] resource_arn
1920
+ # The Amazon Resource Name (ARN) of the web ACL for which you want to
1921
+ # get the LoggingConfiguration.
1922
+ # @return [String]
1923
+ #
1924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetLoggingConfigurationRequest AWS API Documentation
1925
+ #
1926
+ class GetLoggingConfigurationRequest < Struct.new(
1927
+ :resource_arn)
1928
+ include Aws::Structure
1929
+ end
1930
+
1931
+ # @!attribute [rw] logging_configuration
1932
+ # The LoggingConfiguration for the specified web ACL.
1933
+ # @return [Types::LoggingConfiguration]
1934
+ #
1935
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetLoggingConfigurationResponse AWS API Documentation
1936
+ #
1937
+ class GetLoggingConfigurationResponse < Struct.new(
1938
+ :logging_configuration)
1939
+ include Aws::Structure
1940
+ end
1941
+
1864
1942
  # @note When making an API call, you may pass GetPermissionPolicyRequest
1865
1943
  # data as a hash:
1866
1944
  #
@@ -2444,14 +2522,15 @@ module Aws::WAF
2444
2522
 
2445
2523
  # Contains one or more IP addresses or blocks of IP addresses specified
2446
2524
  # in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports
2447
- # /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48,
2448
- # /56, /64 and /128 for IPv6.
2525
+ # IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF
2526
+ # supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128.
2449
2527
  #
2450
2528
  # To specify an individual IP address, you specify the four-part IP
2451
2529
  # address followed by a `/32`, for example, 192.0.2.0/31. To block a
2452
- # range of IP addresses, you can specify a `/128`, `/64`, `/56`, `/48`,
2453
- # `/32`, `/24`, `/16`, or `/8` CIDR. For more information about CIDR
2454
- # notation, see the Wikipedia entry [Classless Inter-Domain Routing][1].
2530
+ # range of IP addresses, you can specify /8 or any range between /16
2531
+ # through /32 (for IPv4) or /16, /24, /32, /48, /56, /64, or /128 (for
2532
+ # IPv6). For more information about CIDR notation, see the Wikipedia
2533
+ # entry [Classless Inter-Domain Routing][1].
2455
2534
  #
2456
2535
  #
2457
2536
  #
@@ -2817,6 +2896,61 @@ module Aws::WAF
2817
2896
  include Aws::Structure
2818
2897
  end
2819
2898
 
2899
+ # @note When making an API call, you may pass ListLoggingConfigurationsRequest
2900
+ # data as a hash:
2901
+ #
2902
+ # {
2903
+ # next_marker: "NextMarker",
2904
+ # limit: 1,
2905
+ # }
2906
+ #
2907
+ # @!attribute [rw] next_marker
2908
+ # If you specify a value for `Limit` and you have more
2909
+ # `LoggingConfigurations` than the value of `Limit`, AWS WAF returns a
2910
+ # `NextMarker` value in the response that allows you to list another
2911
+ # group of `LoggingConfigurations`. For the second and subsequent
2912
+ # `ListLoggingConfigurations` requests, specify the value of
2913
+ # `NextMarker` from the previous response to get information about
2914
+ # another batch of `ListLoggingConfigurations`.
2915
+ # @return [String]
2916
+ #
2917
+ # @!attribute [rw] limit
2918
+ # Specifies the number of `LoggingConfigurations` that you want AWS
2919
+ # WAF to return for this request. If you have more
2920
+ # `LoggingConfigurations` than the number that you specify for
2921
+ # `Limit`, the response includes a `NextMarker` value that you can use
2922
+ # to get another batch of `LoggingConfigurations`.
2923
+ # @return [Integer]
2924
+ #
2925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListLoggingConfigurationsRequest AWS API Documentation
2926
+ #
2927
+ class ListLoggingConfigurationsRequest < Struct.new(
2928
+ :next_marker,
2929
+ :limit)
2930
+ include Aws::Structure
2931
+ end
2932
+
2933
+ # @!attribute [rw] logging_configurations
2934
+ # An array of LoggingConfiguration objects.
2935
+ # @return [Array<Types::LoggingConfiguration>]
2936
+ #
2937
+ # @!attribute [rw] next_marker
2938
+ # If you have more `LoggingConfigurations` than the number that you
2939
+ # specified for `Limit` in the request, the response includes a
2940
+ # `NextMarker` value. To list more `LoggingConfigurations`, submit
2941
+ # another `ListLoggingConfigurations` request, and specify the
2942
+ # `NextMarker` value from the response in the `NextMarker` value in
2943
+ # the next request.
2944
+ # @return [String]
2945
+ #
2946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListLoggingConfigurationsResponse AWS API Documentation
2947
+ #
2948
+ class ListLoggingConfigurationsResponse < Struct.new(
2949
+ :logging_configurations,
2950
+ :next_marker)
2951
+ include Aws::Structure
2952
+ end
2953
+
2820
2954
  # @note When making an API call, you may pass ListRateBasedRulesRequest
2821
2955
  # data as a hash:
2822
2956
  #
@@ -3363,6 +3497,47 @@ module Aws::WAF
3363
3497
  include Aws::Structure
3364
3498
  end
3365
3499
 
3500
+ # The Amazon Kinesis Data Firehose delivery streams, `RedactedFields`
3501
+ # information, and the web ACL Amazon Resource Name (ARN).
3502
+ #
3503
+ # @note When making an API call, you may pass LoggingConfiguration
3504
+ # data as a hash:
3505
+ #
3506
+ # {
3507
+ # resource_arn: "ResourceArn", # required
3508
+ # log_destination_configs: ["ResourceArn"], # required
3509
+ # redacted_fields: [
3510
+ # {
3511
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3512
+ # data: "MatchFieldData",
3513
+ # },
3514
+ # ],
3515
+ # }
3516
+ #
3517
+ # @!attribute [rw] resource_arn
3518
+ # The Amazon Resource Name (ARN) of the web ACL that you want to
3519
+ # associate with `LogDestinationConfigs`.
3520
+ # @return [String]
3521
+ #
3522
+ # @!attribute [rw] log_destination_configs
3523
+ # An array of Amazon Kinesis Data Firehose delivery stream ARNs.
3524
+ # @return [Array<String>]
3525
+ #
3526
+ # @!attribute [rw] redacted_fields
3527
+ # The parts of the request that you want redacted from the logs. For
3528
+ # example, if you redact the cookie field, the cookie field in the
3529
+ # delivery stream will be `xxx`.
3530
+ # @return [Array<Types::FieldToMatch>]
3531
+ #
3532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/LoggingConfiguration AWS API Documentation
3533
+ #
3534
+ class LoggingConfiguration < Struct.new(
3535
+ :resource_arn,
3536
+ :log_destination_configs,
3537
+ :redacted_fields)
3538
+ include Aws::Structure
3539
+ end
3540
+
3366
3541
  # Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet,
3367
3542
  # RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you
3368
3543
  # want to add to a `Rule` and, for each object, indicates whether you
@@ -3395,8 +3570,7 @@ module Aws::WAF
3395
3570
  # @return [Boolean]
3396
3571
  #
3397
3572
  # @!attribute [rw] type
3398
- # The type of predicate in a `Rule`, such as `ByteMatchSet` or
3399
- # `IPSet`.
3573
+ # The type of predicate in a `Rule`, such as `ByteMatch` or `IPSet`.
3400
3574
  # @return [String]
3401
3575
  #
3402
3576
  # @!attribute [rw] data_id
@@ -3414,6 +3588,46 @@ module Aws::WAF
3414
3588
  include Aws::Structure
3415
3589
  end
3416
3590
 
3591
+ # @note When making an API call, you may pass PutLoggingConfigurationRequest
3592
+ # data as a hash:
3593
+ #
3594
+ # {
3595
+ # logging_configuration: { # required
3596
+ # resource_arn: "ResourceArn", # required
3597
+ # log_destination_configs: ["ResourceArn"], # required
3598
+ # redacted_fields: [
3599
+ # {
3600
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3601
+ # data: "MatchFieldData",
3602
+ # },
3603
+ # ],
3604
+ # },
3605
+ # }
3606
+ #
3607
+ # @!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.
3611
+ # @return [Types::LoggingConfiguration]
3612
+ #
3613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfigurationRequest AWS API Documentation
3614
+ #
3615
+ class PutLoggingConfigurationRequest < Struct.new(
3616
+ :logging_configuration)
3617
+ include Aws::Structure
3618
+ end
3619
+
3620
+ # @!attribute [rw] logging_configuration
3621
+ # The LoggingConfiguration that you submitted in the request.
3622
+ # @return [Types::LoggingConfiguration]
3623
+ #
3624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/PutLoggingConfigurationResponse AWS API Documentation
3625
+ #
3626
+ class PutLoggingConfigurationResponse < Struct.new(
3627
+ :logging_configuration)
3628
+ include Aws::Structure
3629
+ end
3630
+
3417
3631
  # @note When making an API call, you may pass PutPermissionPolicyRequest
3418
3632
  # data as a hash:
3419
3633
  #
@@ -3603,7 +3817,7 @@ module Aws::WAF
3603
3817
  # action: "INSERT", # required, accepts INSERT, DELETE
3604
3818
  # regex_match_tuple: { # required
3605
3819
  # field_to_match: { # required
3606
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3820
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3607
3821
  # data: "MatchFieldData",
3608
3822
  # },
3609
3823
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -3651,7 +3865,7 @@ module Aws::WAF
3651
3865
  #
3652
3866
  # {
3653
3867
  # field_to_match: { # required
3654
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3868
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
3655
3869
  # data: "MatchFieldData",
3656
3870
  # },
3657
3871
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -3668,6 +3882,8 @@ module Aws::WAF
3668
3882
  # specify a transformation, AWS WAF performs the transformation on
3669
3883
  # `RegexPatternSet` before inspecting a request for a match.
3670
3884
  #
3885
+ # You can only specify a single type of TextTransformation.
3886
+ #
3671
3887
  # **CMD\_LINE**
3672
3888
  #
3673
3889
  # When you're concerned that attackers are injecting an operating
@@ -4125,7 +4341,7 @@ module Aws::WAF
4125
4341
  #
4126
4342
  # {
4127
4343
  # field_to_match: { # required
4128
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4344
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4129
4345
  # data: "MatchFieldData",
4130
4346
  # },
4131
4347
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4143,6 +4359,8 @@ module Aws::WAF
4143
4359
  # specify a transformation, AWS WAF performs the transformation on
4144
4360
  # `FieldToMatch` before inspecting a request for a match.
4145
4361
  #
4362
+ # You can only specify a single type of TextTransformation.
4363
+ #
4146
4364
  # Note that if you choose `BODY` for the value of `Type`, you must
4147
4365
  # choose `NONE` for `TextTransformation` because CloudFront forwards
4148
4366
  # only the first 8192 bytes for inspection.
@@ -4341,7 +4559,7 @@ module Aws::WAF
4341
4559
  # action: "INSERT", # required, accepts INSERT, DELETE
4342
4560
  # size_constraint: { # required
4343
4561
  # field_to_match: { # required
4344
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4562
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4345
4563
  # data: "MatchFieldData",
4346
4564
  # },
4347
4565
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4450,7 +4668,7 @@ module Aws::WAF
4450
4668
  # action: "INSERT", # required, accepts INSERT, DELETE
4451
4669
  # sql_injection_match_tuple: { # required
4452
4670
  # field_to_match: { # required
4453
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4671
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4454
4672
  # data: "MatchFieldData",
4455
4673
  # },
4456
4674
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4486,7 +4704,7 @@ module Aws::WAF
4486
4704
  #
4487
4705
  # {
4488
4706
  # field_to_match: { # required
4489
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4707
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4490
4708
  # data: "MatchFieldData",
4491
4709
  # },
4492
4710
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -4503,10 +4721,12 @@ module Aws::WAF
4503
4721
  # specify a transformation, AWS WAF performs the transformation on
4504
4722
  # `FieldToMatch` before inspecting a request for a match.
4505
4723
  #
4724
+ # You can only specify a single type of TextTransformation.
4725
+ #
4506
4726
  # **CMD\_LINE**
4507
4727
  #
4508
4728
  # When you're concerned that attackers are injecting an operating
4509
- # system commandline command and using unusual formatting to disguise
4729
+ # system command line command and using unusual formatting to disguise
4510
4730
  # some or all of the command, use this option to perform the following
4511
4731
  # transformations:
4512
4732
  #
@@ -4664,7 +4884,7 @@ module Aws::WAF
4664
4884
  # action: "INSERT", # required, accepts INSERT, DELETE
4665
4885
  # byte_match_tuple: { # required
4666
4886
  # field_to_match: { # required
4667
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4887
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4668
4888
  # data: "MatchFieldData",
4669
4889
  # },
4670
4890
  # target_string: "data", # required
@@ -4817,6 +5037,8 @@ module Aws::WAF
4817
5037
  # * IPSetUpdate: Contains `Action` and `IPSetDescriptor`
4818
5038
  #
4819
5039
  # * IPSetDescriptor: Contains `Type` and `Value`
5040
+ #
5041
+ # You can insert a maximum of 1000 addresses in a single request.
4820
5042
  # @return [Array<Types::IPSetUpdate>]
4821
5043
  #
4822
5044
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateIPSetRequest AWS API Documentation
@@ -4916,7 +5138,7 @@ module Aws::WAF
4916
5138
  # action: "INSERT", # required, accepts INSERT, DELETE
4917
5139
  # regex_match_tuple: { # required
4918
5140
  # field_to_match: { # required
4919
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5141
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
4920
5142
  # data: "MatchFieldData",
4921
5143
  # },
4922
5144
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5157,7 +5379,7 @@ module Aws::WAF
5157
5379
  # action: "INSERT", # required, accepts INSERT, DELETE
5158
5380
  # size_constraint: { # required
5159
5381
  # field_to_match: { # required
5160
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5382
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5161
5383
  # data: "MatchFieldData",
5162
5384
  # },
5163
5385
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5227,7 +5449,7 @@ module Aws::WAF
5227
5449
  # action: "INSERT", # required, accepts INSERT, DELETE
5228
5450
  # sql_injection_match_tuple: { # required
5229
5451
  # field_to_match: { # required
5230
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5452
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5231
5453
  # data: "MatchFieldData",
5232
5454
  # },
5233
5455
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5382,7 +5604,7 @@ module Aws::WAF
5382
5604
  # action: "INSERT", # required, accepts INSERT, DELETE
5383
5605
  # xss_match_tuple: { # required
5384
5606
  # field_to_match: { # required
5385
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5607
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5386
5608
  # data: "MatchFieldData",
5387
5609
  # },
5388
5610
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5687,7 +5909,7 @@ module Aws::WAF
5687
5909
  # action: "INSERT", # required, accepts INSERT, DELETE
5688
5910
  # xss_match_tuple: { # required
5689
5911
  # field_to_match: { # required
5690
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5912
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5691
5913
  # data: "MatchFieldData",
5692
5914
  # },
5693
5915
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5722,7 +5944,7 @@ module Aws::WAF
5722
5944
  #
5723
5945
  # {
5724
5946
  # field_to_match: { # required
5725
- # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
5947
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY, SINGLE_QUERY_ARG, ALL_QUERY_ARGS
5726
5948
  # data: "MatchFieldData",
5727
5949
  # },
5728
5950
  # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
@@ -5739,10 +5961,12 @@ module Aws::WAF
5739
5961
  # specify a transformation, AWS WAF performs the transformation on
5740
5962
  # `FieldToMatch` before inspecting a request for a match.
5741
5963
  #
5964
+ # You can only specify a single type of TextTransformation.
5965
+ #
5742
5966
  # **CMD\_LINE**
5743
5967
  #
5744
5968
  # When you're concerned that attackers are injecting an operating
5745
- # system commandline command and using unusual formatting to disguise
5969
+ # system command line command and using unusual formatting to disguise
5746
5970
  # some or all of the command, use this option to perform the following
5747
5971
  # transformations:
5748
5972
  #
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.5.0
4
+ version: 1.6.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-06-26 00:00:00.000000000 Z
11
+ date: 2018-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core