aws-sdk-waf 1.1.0 → 1.2.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: 7fa7b7b594c8409b071f4a2480f434f01f761f2b
4
- data.tar.gz: 39eaeae4bca678bd48946da1891283432496cfea
3
+ metadata.gz: 60e018a96ff958f7856a5ec82bd25ac2d29e2f99
4
+ data.tar.gz: 25b3901ba71e2a169010e4363497a08ad43c60b3
5
5
  SHA512:
6
- metadata.gz: dbfd06ec2a1e8f9341dbfa03ee9570cd6b771de0d83a8099108790fda7a5303c3ff642a03e196eb78998c15f44be1dd9a0fd1f2d204cee5a6f79ef6e26e37124
7
- data.tar.gz: cf5a55953721f11d8bf402c8b29814a882fa1e262414ff1969aeb277933536bf5969f2dac935af239f75735cfad9ef58cb12236e2a78a185d7f0ad86444e99f7
6
+ metadata.gz: 58d153dbde100c894976a4dd79f0bc23b0b88781986bf40dbd8ddf2be532002d27e54ba55f7533832b219c5c94465279ae4b86ab643cb09818eea774583205bf
7
+ data.tar.gz: e9f95fec861e83d7f44dcbb097f30039b4b5c9f2772a07c59585edfcb1e258629ee696008aa44c8adf79bf92b7b8089d47b6d7c9a98acc7992f6cf871410bf19
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-waf/customizations'
42
42
  # @service
43
43
  module Aws::WAF
44
44
 
45
- GEM_VERSION = '1.1.0'
45
+ GEM_VERSION = '1.2.0'
46
46
 
47
47
  end
@@ -223,6 +223,70 @@ module Aws::WAF
223
223
  req.send_request(options)
224
224
  end
225
225
 
226
+ # Creates an GeoMatchSet, which you use to specify which web requests
227
+ # you want to allow or block based on the country that the requests
228
+ # originate from. For example, if you're receiving a lot of requests
229
+ # from one or more countries and you want to block the requests, you can
230
+ # create an `GeoMatchSet` that contains those countries and then
231
+ # configure AWS WAF to block the requests.
232
+ #
233
+ # To create and configure a `GeoMatchSet`, perform the following steps:
234
+ #
235
+ # 1. Use GetChangeToken to get the change token that you provide in the
236
+ # `ChangeToken` parameter of a `CreateGeoMatchSet` request.
237
+ #
238
+ # 2. Submit a `CreateGeoMatchSet` request.
239
+ #
240
+ # 3. Use `GetChangeToken` to get the change token that you provide in
241
+ # the `ChangeToken` parameter of an UpdateGeoMatchSet request.
242
+ #
243
+ # 4. Submit an `UpdateGeoMatchSetSet` request to specify the countries
244
+ # that you want AWS WAF to watch for.
245
+ #
246
+ # For more information about how to use the AWS WAF API to allow or
247
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
248
+ #
249
+ #
250
+ #
251
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
252
+ #
253
+ # @option params [required, String] :name
254
+ # A friendly name or description of the GeoMatchSet. You can't change
255
+ # `Name` after you create the `GeoMatchSet`.
256
+ #
257
+ # @option params [required, String] :change_token
258
+ # The value returned by the most recent call to GetChangeToken.
259
+ #
260
+ # @return [Types::CreateGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
261
+ #
262
+ # * {Types::CreateGeoMatchSetResponse#geo_match_set #geo_match_set} => Types::GeoMatchSet
263
+ # * {Types::CreateGeoMatchSetResponse#change_token #change_token} => String
264
+ #
265
+ # @example Request syntax with placeholder values
266
+ #
267
+ # resp = client.create_geo_match_set({
268
+ # name: "ResourceName", # required
269
+ # change_token: "ChangeToken", # required
270
+ # })
271
+ #
272
+ # @example Response structure
273
+ #
274
+ # resp.geo_match_set.geo_match_set_id #=> String
275
+ # resp.geo_match_set.name #=> String
276
+ # resp.geo_match_set.geo_match_constraints #=> Array
277
+ # resp.geo_match_set.geo_match_constraints[0].type #=> String, one of "Country"
278
+ # resp.geo_match_set.geo_match_constraints[0].value #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
279
+ # resp.change_token #=> String
280
+ #
281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSet AWS API Documentation
282
+ #
283
+ # @overload create_geo_match_set(params = {})
284
+ # @param [Hash] params ({})
285
+ def create_geo_match_set(params = {}, options = {})
286
+ req = build_request(:create_geo_match_set, params)
287
+ req.send_request(options)
288
+ end
289
+
226
290
  # Creates an IPSet, which you use to specify which web requests you want
227
291
  # to allow or block based on the IP addresses that the requests
228
292
  # originate from. For example, if you're receiving a lot of requests
@@ -435,7 +499,7 @@ module Aws::WAF
435
499
  # resp.rule.metric_name #=> String
436
500
  # resp.rule.match_predicates #=> Array
437
501
  # resp.rule.match_predicates[0].negated #=> Boolean
438
- # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
502
+ # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
439
503
  # resp.rule.match_predicates[0].data_id #=> String
440
504
  # resp.rule.rate_key #=> String, one of "IP"
441
505
  # resp.rule.rate_limit #=> Integer
@@ -450,6 +514,138 @@ module Aws::WAF
450
514
  req.send_request(options)
451
515
  end
452
516
 
517
+ # Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify
518
+ # the part of a web request that you want AWS WAF to inspect, such as
519
+ # the values of the `User-Agent` header or the query string. For
520
+ # example, you can create a `RegexMatchSet` that contains a
521
+ # `RegexMatchTuple` that looks for any requests with `User-Agent`
522
+ # headers that match a `RegexPatternSet` with pattern `B[a@]dB[o0]t`.
523
+ # You can then configure AWS WAF to reject those requests.
524
+ #
525
+ # To create and configure a `RegexMatchSet`, perform the following
526
+ # steps:
527
+ #
528
+ # 1. Use GetChangeToken to get the change token that you provide in the
529
+ # `ChangeToken` parameter of a `CreateRegexMatchSet` request.
530
+ #
531
+ # 2. Submit a `CreateRegexMatchSet` request.
532
+ #
533
+ # 3. Use `GetChangeToken` to get the change token that you provide in
534
+ # the `ChangeToken` parameter of an `UpdateRegexMatchSet` request.
535
+ #
536
+ # 4. Submit an UpdateRegexMatchSet request to specify the part of the
537
+ # request that you want AWS WAF to inspect (for example, the header
538
+ # or the URI) and the value, using a `RegexPatternSet`, that you
539
+ # want AWS WAF to watch for.
540
+ #
541
+ # For more information about how to use the AWS WAF API to allow or
542
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
543
+ #
544
+ #
545
+ #
546
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
547
+ #
548
+ # @option params [required, String] :name
549
+ # A friendly name or description of the RegexMatchSet. You can't change
550
+ # `Name` after you create a `RegexMatchSet`.
551
+ #
552
+ # @option params [required, String] :change_token
553
+ # The value returned by the most recent call to GetChangeToken.
554
+ #
555
+ # @return [Types::CreateRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
556
+ #
557
+ # * {Types::CreateRegexMatchSetResponse#regex_match_set #regex_match_set} => Types::RegexMatchSet
558
+ # * {Types::CreateRegexMatchSetResponse#change_token #change_token} => String
559
+ #
560
+ # @example Request syntax with placeholder values
561
+ #
562
+ # resp = client.create_regex_match_set({
563
+ # name: "ResourceName", # required
564
+ # change_token: "ChangeToken", # required
565
+ # })
566
+ #
567
+ # @example Response structure
568
+ #
569
+ # resp.regex_match_set.regex_match_set_id #=> String
570
+ # resp.regex_match_set.name #=> String
571
+ # resp.regex_match_set.regex_match_tuples #=> Array
572
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
573
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
574
+ # 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"
575
+ # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
576
+ # resp.change_token #=> String
577
+ #
578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSet AWS API Documentation
579
+ #
580
+ # @overload create_regex_match_set(params = {})
581
+ # @param [Hash] params ({})
582
+ def create_regex_match_set(params = {}, options = {})
583
+ req = build_request(:create_regex_match_set, params)
584
+ req.send_request(options)
585
+ end
586
+
587
+ # Creates a `RegexPatternSet`. You then use UpdateRegexPatternSet to
588
+ # specify the regular expression (regex) pattern that you want AWS WAF
589
+ # to search for, such as `B[a@]dB[o0]t`. You can then configure AWS WAF
590
+ # to reject those requests.
591
+ #
592
+ # To create and configure a `RegexPatternSet`, perform the following
593
+ # steps:
594
+ #
595
+ # 1. Use GetChangeToken to get the change token that you provide in the
596
+ # `ChangeToken` parameter of a `CreateRegexPatternSet` request.
597
+ #
598
+ # 2. Submit a `CreateRegexPatternSet` request.
599
+ #
600
+ # 3. Use `GetChangeToken` to get the change token that you provide in
601
+ # the `ChangeToken` parameter of an `UpdateRegexPatternSet` request.
602
+ #
603
+ # 4. Submit an UpdateRegexPatternSet request to specify the string that
604
+ # you want AWS WAF to watch for.
605
+ #
606
+ # For more information about how to use the AWS WAF API to allow or
607
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
608
+ #
609
+ #
610
+ #
611
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
612
+ #
613
+ # @option params [required, String] :name
614
+ # A friendly name or description of the RegexPatternSet. You can't
615
+ # change `Name` after you create a `RegexPatternSet`.
616
+ #
617
+ # @option params [required, String] :change_token
618
+ # The value returned by the most recent call to GetChangeToken.
619
+ #
620
+ # @return [Types::CreateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
621
+ #
622
+ # * {Types::CreateRegexPatternSetResponse#regex_pattern_set #regex_pattern_set} => Types::RegexPatternSet
623
+ # * {Types::CreateRegexPatternSetResponse#change_token #change_token} => String
624
+ #
625
+ # @example Request syntax with placeholder values
626
+ #
627
+ # resp = client.create_regex_pattern_set({
628
+ # name: "ResourceName", # required
629
+ # change_token: "ChangeToken", # required
630
+ # })
631
+ #
632
+ # @example Response structure
633
+ #
634
+ # resp.regex_pattern_set.regex_pattern_set_id #=> String
635
+ # resp.regex_pattern_set.name #=> String
636
+ # resp.regex_pattern_set.regex_pattern_strings #=> Array
637
+ # resp.regex_pattern_set.regex_pattern_strings[0] #=> String
638
+ # resp.change_token #=> String
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSet AWS API Documentation
641
+ #
642
+ # @overload create_regex_pattern_set(params = {})
643
+ # @param [Hash] params ({})
644
+ def create_regex_pattern_set(params = {}, options = {})
645
+ req = build_request(:create_regex_pattern_set, params)
646
+ req.send_request(options)
647
+ end
648
+
453
649
  # Creates a `Rule`, which contains the `IPSet` objects, `ByteMatchSet`
454
650
  # objects, and other predicates that identify the requests that you want
455
651
  # to block. If you add more than one predicate to a `Rule`, a request
@@ -553,7 +749,7 @@ module Aws::WAF
553
749
  # resp.rule.metric_name #=> String
554
750
  # resp.rule.predicates #=> Array
555
751
  # resp.rule.predicates[0].negated #=> Boolean
556
- # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
752
+ # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
557
753
  # resp.rule.predicates[0].data_id #=> String
558
754
  # resp.change_token #=> String
559
755
  #
@@ -1045,6 +1241,56 @@ module Aws::WAF
1045
1241
  req.send_request(options)
1046
1242
  end
1047
1243
 
1244
+ # Permanently deletes a GeoMatchSet. You can't delete a `GeoMatchSet`
1245
+ # if it's still used in any `Rules` or if it still includes any
1246
+ # countries.
1247
+ #
1248
+ # If you just want to remove a `GeoMatchSet` from a `Rule`, use
1249
+ # UpdateRule.
1250
+ #
1251
+ # To permanently delete a `GeoMatchSet` from AWS WAF, perform the
1252
+ # following steps:
1253
+ #
1254
+ # 1. Update the `GeoMatchSet` to remove any countries. For more
1255
+ # information, see UpdateGeoMatchSet.
1256
+ #
1257
+ # 2. Use GetChangeToken to get the change token that you provide in the
1258
+ # `ChangeToken` parameter of a `DeleteGeoMatchSet` request.
1259
+ #
1260
+ # 3. Submit a `DeleteGeoMatchSet` request.
1261
+ #
1262
+ # @option params [required, String] :geo_match_set_id
1263
+ # The `GeoMatchSetID` of the GeoMatchSet that you want to delete.
1264
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1265
+ # ListGeoMatchSets.
1266
+ #
1267
+ # @option params [required, String] :change_token
1268
+ # The value returned by the most recent call to GetChangeToken.
1269
+ #
1270
+ # @return [Types::DeleteGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1271
+ #
1272
+ # * {Types::DeleteGeoMatchSetResponse#change_token #change_token} => String
1273
+ #
1274
+ # @example Request syntax with placeholder values
1275
+ #
1276
+ # resp = client.delete_geo_match_set({
1277
+ # geo_match_set_id: "ResourceId", # required
1278
+ # change_token: "ChangeToken", # required
1279
+ # })
1280
+ #
1281
+ # @example Response structure
1282
+ #
1283
+ # resp.change_token #=> String
1284
+ #
1285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteGeoMatchSet AWS API Documentation
1286
+ #
1287
+ # @overload delete_geo_match_set(params = {})
1288
+ # @param [Hash] params ({})
1289
+ def delete_geo_match_set(params = {}, options = {})
1290
+ req = build_request(:delete_geo_match_set, params)
1291
+ req.send_request(options)
1292
+ end
1293
+
1048
1294
  # Permanently deletes an IPSet. You can't delete an `IPSet` if it's
1049
1295
  # still used in any `Rules` or if it still includes any IP addresses.
1050
1296
  #
@@ -1155,6 +1401,91 @@ module Aws::WAF
1155
1401
  req.send_request(options)
1156
1402
  end
1157
1403
 
1404
+ # Permanently deletes a RegexMatchSet. You can't delete a
1405
+ # `RegexMatchSet` if it's still used in any `Rules` or if it still
1406
+ # includes any `RegexMatchTuples` objects (any filters).
1407
+ #
1408
+ # If you just want to remove a `RegexMatchSet` from a `Rule`, use
1409
+ # UpdateRule.
1410
+ #
1411
+ # To permanently delete a `RegexMatchSet`, perform the following steps:
1412
+ #
1413
+ # 1. Update the `RegexMatchSet` to remove filters, if any. For more
1414
+ # information, see UpdateRegexMatchSet.
1415
+ #
1416
+ # 2. Use GetChangeToken to get the change token that you provide in the
1417
+ # `ChangeToken` parameter of a `DeleteRegexMatchSet` request.
1418
+ #
1419
+ # 3. Submit a `DeleteRegexMatchSet` request.
1420
+ #
1421
+ # @option params [required, String] :regex_match_set_id
1422
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to delete.
1423
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1424
+ # ListRegexMatchSets.
1425
+ #
1426
+ # @option params [required, String] :change_token
1427
+ # The value returned by the most recent call to GetChangeToken.
1428
+ #
1429
+ # @return [Types::DeleteRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1430
+ #
1431
+ # * {Types::DeleteRegexMatchSetResponse#change_token #change_token} => String
1432
+ #
1433
+ # @example Request syntax with placeholder values
1434
+ #
1435
+ # resp = client.delete_regex_match_set({
1436
+ # regex_match_set_id: "ResourceId", # required
1437
+ # change_token: "ChangeToken", # required
1438
+ # })
1439
+ #
1440
+ # @example Response structure
1441
+ #
1442
+ # resp.change_token #=> String
1443
+ #
1444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexMatchSet AWS API Documentation
1445
+ #
1446
+ # @overload delete_regex_match_set(params = {})
1447
+ # @param [Hash] params ({})
1448
+ def delete_regex_match_set(params = {}, options = {})
1449
+ req = build_request(:delete_regex_match_set, params)
1450
+ req.send_request(options)
1451
+ end
1452
+
1453
+ # Permanently deletes a RegexPatternSet. You can't delete a
1454
+ # `RegexPatternSet` if it's still used in any `RegexMatchSet` or if the
1455
+ # `RegexPatternSet` is not empty.
1456
+ #
1457
+ # @option params [required, String] :regex_pattern_set_id
1458
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
1459
+ # delete. `RegexPatternSetId` is returned by CreateRegexPatternSet and
1460
+ # by ListRegexPatternSets.
1461
+ #
1462
+ # @option params [required, String] :change_token
1463
+ # The value returned by the most recent call to GetChangeToken.
1464
+ #
1465
+ # @return [Types::DeleteRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1466
+ #
1467
+ # * {Types::DeleteRegexPatternSetResponse#change_token #change_token} => String
1468
+ #
1469
+ # @example Request syntax with placeholder values
1470
+ #
1471
+ # resp = client.delete_regex_pattern_set({
1472
+ # regex_pattern_set_id: "ResourceId", # required
1473
+ # change_token: "ChangeToken", # required
1474
+ # })
1475
+ #
1476
+ # @example Response structure
1477
+ #
1478
+ # resp.change_token #=> String
1479
+ #
1480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexPatternSet AWS API Documentation
1481
+ #
1482
+ # @overload delete_regex_pattern_set(params = {})
1483
+ # @param [Hash] params ({})
1484
+ def delete_regex_pattern_set(params = {}, options = {})
1485
+ req = build_request(:delete_regex_pattern_set, params)
1486
+ req.send_request(options)
1487
+ end
1488
+
1158
1489
  # Permanently deletes a Rule. You can't delete a `Rule` if it's still
1159
1490
  # used in any `WebACL` objects or if it still includes any predicates,
1160
1491
  # such as `ByteMatchSet` objects.
@@ -1636,6 +1967,40 @@ module Aws::WAF
1636
1967
  req.send_request(options)
1637
1968
  end
1638
1969
 
1970
+ # Returns the GeoMatchSet that is specified by `GeoMatchSetId`.
1971
+ #
1972
+ # @option params [required, String] :geo_match_set_id
1973
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to get.
1974
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1975
+ # ListGeoMatchSets.
1976
+ #
1977
+ # @return [Types::GetGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1978
+ #
1979
+ # * {Types::GetGeoMatchSetResponse#geo_match_set #geo_match_set} => Types::GeoMatchSet
1980
+ #
1981
+ # @example Request syntax with placeholder values
1982
+ #
1983
+ # resp = client.get_geo_match_set({
1984
+ # geo_match_set_id: "ResourceId", # required
1985
+ # })
1986
+ #
1987
+ # @example Response structure
1988
+ #
1989
+ # resp.geo_match_set.geo_match_set_id #=> String
1990
+ # resp.geo_match_set.name #=> String
1991
+ # resp.geo_match_set.geo_match_constraints #=> Array
1992
+ # resp.geo_match_set.geo_match_constraints[0].type #=> String, one of "Country"
1993
+ # resp.geo_match_set.geo_match_constraints[0].value #=> String, one of "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
1994
+ #
1995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetGeoMatchSet AWS API Documentation
1996
+ #
1997
+ # @overload get_geo_match_set(params = {})
1998
+ # @param [Hash] params ({})
1999
+ def get_geo_match_set(params = {}, options = {})
2000
+ req = build_request(:get_geo_match_set, params)
2001
+ req.send_request(options)
2002
+ end
2003
+
1639
2004
  # Returns the IPSet that is specified by `IPSetId`.
1640
2005
  #
1641
2006
  # @option params [required, String] :ip_set_id
@@ -1716,7 +2081,7 @@ module Aws::WAF
1716
2081
  # resp.rule.metric_name #=> String
1717
2082
  # resp.rule.match_predicates #=> Array
1718
2083
  # resp.rule.match_predicates[0].negated #=> Boolean
1719
- # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
2084
+ # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
1720
2085
  # resp.rule.match_predicates[0].data_id #=> String
1721
2086
  # resp.rule.rate_key #=> String, one of "IP"
1722
2087
  # resp.rule.rate_limit #=> Integer
@@ -1772,6 +2137,75 @@ module Aws::WAF
1772
2137
  req.send_request(options)
1773
2138
  end
1774
2139
 
2140
+ # Returns the RegexMatchSet specified by `RegexMatchSetId`.
2141
+ #
2142
+ # @option params [required, String] :regex_match_set_id
2143
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to get.
2144
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
2145
+ # ListRegexMatchSets.
2146
+ #
2147
+ # @return [Types::GetRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2148
+ #
2149
+ # * {Types::GetRegexMatchSetResponse#regex_match_set #regex_match_set} => Types::RegexMatchSet
2150
+ #
2151
+ # @example Request syntax with placeholder values
2152
+ #
2153
+ # resp = client.get_regex_match_set({
2154
+ # regex_match_set_id: "ResourceId", # required
2155
+ # })
2156
+ #
2157
+ # @example Response structure
2158
+ #
2159
+ # resp.regex_match_set.regex_match_set_id #=> String
2160
+ # resp.regex_match_set.name #=> String
2161
+ # resp.regex_match_set.regex_match_tuples #=> Array
2162
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2163
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
2164
+ # 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"
2165
+ # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
2166
+ #
2167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexMatchSet AWS API Documentation
2168
+ #
2169
+ # @overload get_regex_match_set(params = {})
2170
+ # @param [Hash] params ({})
2171
+ def get_regex_match_set(params = {}, options = {})
2172
+ req = build_request(:get_regex_match_set, params)
2173
+ req.send_request(options)
2174
+ end
2175
+
2176
+ # Returns the RegexPatternSet specified by `RegexPatternSetId`.
2177
+ #
2178
+ # @option params [required, String] :regex_pattern_set_id
2179
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to get.
2180
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
2181
+ # ListRegexPatternSets.
2182
+ #
2183
+ # @return [Types::GetRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2184
+ #
2185
+ # * {Types::GetRegexPatternSetResponse#regex_pattern_set #regex_pattern_set} => Types::RegexPatternSet
2186
+ #
2187
+ # @example Request syntax with placeholder values
2188
+ #
2189
+ # resp = client.get_regex_pattern_set({
2190
+ # regex_pattern_set_id: "ResourceId", # required
2191
+ # })
2192
+ #
2193
+ # @example Response structure
2194
+ #
2195
+ # resp.regex_pattern_set.regex_pattern_set_id #=> String
2196
+ # resp.regex_pattern_set.name #=> String
2197
+ # resp.regex_pattern_set.regex_pattern_strings #=> Array
2198
+ # resp.regex_pattern_set.regex_pattern_strings[0] #=> String
2199
+ #
2200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexPatternSet AWS API Documentation
2201
+ #
2202
+ # @overload get_regex_pattern_set(params = {})
2203
+ # @param [Hash] params ({})
2204
+ def get_regex_pattern_set(params = {}, options = {})
2205
+ req = build_request(:get_regex_pattern_set, params)
2206
+ req.send_request(options)
2207
+ end
2208
+
1775
2209
  # Returns the Rule that is specified by the `RuleId` that you included
1776
2210
  # in the `GetRule` request.
1777
2211
  #
@@ -1821,7 +2255,7 @@ module Aws::WAF
1821
2255
  # resp.rule.metric_name #=> String
1822
2256
  # resp.rule.predicates #=> Array
1823
2257
  # resp.rule.predicates[0].negated #=> Boolean
1824
- # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
2258
+ # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
1825
2259
  # resp.rule.predicates[0].data_id #=> String
1826
2260
  #
1827
2261
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRule AWS API Documentation
@@ -2263,6 +2697,51 @@ module Aws::WAF
2263
2697
  req.send_request(options)
2264
2698
  end
2265
2699
 
2700
+ # Returns an array of GeoMatchSetSummary objects in the response.
2701
+ #
2702
+ # @option params [String] :next_marker
2703
+ # If you specify a value for `Limit` and you have more `GeoMatchSet`s
2704
+ # than the value of `Limit`, AWS WAF returns a `NextMarker` value in the
2705
+ # response that allows you to list another group of `GeoMatchSet`
2706
+ # objects. For the second and subsequent `ListGeoMatchSets` requests,
2707
+ # specify the value of `NextMarker` from the previous response to get
2708
+ # information about another batch of `GeoMatchSet` objects.
2709
+ #
2710
+ # @option params [Integer] :limit
2711
+ # Specifies the number of `GeoMatchSet` objects that you want AWS WAF to
2712
+ # return for this request. If you have more `GeoMatchSet` objects than
2713
+ # the number you specify for `Limit`, the response includes a
2714
+ # `NextMarker` value that you can use to get another batch of
2715
+ # `GeoMatchSet` objects.
2716
+ #
2717
+ # @return [Types::ListGeoMatchSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2718
+ #
2719
+ # * {Types::ListGeoMatchSetsResponse#next_marker #next_marker} => String
2720
+ # * {Types::ListGeoMatchSetsResponse#geo_match_sets #geo_match_sets} => Array<Types::GeoMatchSetSummary>
2721
+ #
2722
+ # @example Request syntax with placeholder values
2723
+ #
2724
+ # resp = client.list_geo_match_sets({
2725
+ # next_marker: "NextMarker",
2726
+ # limit: 1,
2727
+ # })
2728
+ #
2729
+ # @example Response structure
2730
+ #
2731
+ # resp.next_marker #=> String
2732
+ # resp.geo_match_sets #=> Array
2733
+ # resp.geo_match_sets[0].geo_match_set_id #=> String
2734
+ # resp.geo_match_sets[0].name #=> String
2735
+ #
2736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListGeoMatchSets AWS API Documentation
2737
+ #
2738
+ # @overload list_geo_match_sets(params = {})
2739
+ # @param [Hash] params ({})
2740
+ def list_geo_match_sets(params = {}, options = {})
2741
+ req = build_request(:list_geo_match_sets, params)
2742
+ req.send_request(options)
2743
+ end
2744
+
2266
2745
  # Returns an array of IPSetSummary objects in the response.
2267
2746
  #
2268
2747
  # @option params [String] :next_marker
@@ -2271,7 +2750,7 @@ module Aws::WAF
2271
2750
  # that allows you to list another group of `IPSets`. For the second and
2272
2751
  # subsequent `ListIPSets` requests, specify the value of `NextMarker`
2273
2752
  # from the previous response to get information about another batch of
2274
- # `ByteMatchSets`.
2753
+ # `IPSets`.
2275
2754
  #
2276
2755
  # @option params [Integer] :limit
2277
2756
  # Specifies the number of `IPSet` objects that you want AWS WAF to
@@ -2370,6 +2849,97 @@ module Aws::WAF
2370
2849
  req.send_request(options)
2371
2850
  end
2372
2851
 
2852
+ # Returns an array of RegexMatchSetSummary objects.
2853
+ #
2854
+ # @option params [String] :next_marker
2855
+ # If you specify a value for `Limit` and you have more `RegexMatchSet`
2856
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2857
+ # value in the response that allows you to list another group of
2858
+ # `ByteMatchSets`. For the second and subsequent `ListRegexMatchSets`
2859
+ # requests, specify the value of `NextMarker` from the previous response
2860
+ # to get information about another batch of `RegexMatchSet` objects.
2861
+ #
2862
+ # @option params [Integer] :limit
2863
+ # Specifies the number of `RegexMatchSet` objects that you want AWS WAF
2864
+ # to return for this request. If you have more `RegexMatchSet` objects
2865
+ # than the number you specify for `Limit`, the response includes a
2866
+ # `NextMarker` value that you can use to get another batch of
2867
+ # `RegexMatchSet` objects.
2868
+ #
2869
+ # @return [Types::ListRegexMatchSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2870
+ #
2871
+ # * {Types::ListRegexMatchSetsResponse#next_marker #next_marker} => String
2872
+ # * {Types::ListRegexMatchSetsResponse#regex_match_sets #regex_match_sets} => Array<Types::RegexMatchSetSummary>
2873
+ #
2874
+ # @example Request syntax with placeholder values
2875
+ #
2876
+ # resp = client.list_regex_match_sets({
2877
+ # next_marker: "NextMarker",
2878
+ # limit: 1,
2879
+ # })
2880
+ #
2881
+ # @example Response structure
2882
+ #
2883
+ # resp.next_marker #=> String
2884
+ # resp.regex_match_sets #=> Array
2885
+ # resp.regex_match_sets[0].regex_match_set_id #=> String
2886
+ # resp.regex_match_sets[0].name #=> String
2887
+ #
2888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexMatchSets AWS API Documentation
2889
+ #
2890
+ # @overload list_regex_match_sets(params = {})
2891
+ # @param [Hash] params ({})
2892
+ def list_regex_match_sets(params = {}, options = {})
2893
+ req = build_request(:list_regex_match_sets, params)
2894
+ req.send_request(options)
2895
+ end
2896
+
2897
+ # Returns an array of RegexPatternSetSummary objects.
2898
+ #
2899
+ # @option params [String] :next_marker
2900
+ # If you specify a value for `Limit` and you have more `RegexPatternSet`
2901
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2902
+ # value in the response that allows you to list another group of
2903
+ # `RegexPatternSet` objects. For the second and subsequent
2904
+ # `ListRegexPatternSets` requests, specify the value of `NextMarker`
2905
+ # from the previous response to get information about another batch of
2906
+ # `RegexPatternSet` objects.
2907
+ #
2908
+ # @option params [Integer] :limit
2909
+ # Specifies the number of `RegexPatternSet` objects that you want AWS
2910
+ # WAF to return for this request. If you have more `RegexPatternSet`
2911
+ # objects than the number you specify for `Limit`, the response includes
2912
+ # a `NextMarker` value that you can use to get another batch of
2913
+ # `RegexPatternSet` objects.
2914
+ #
2915
+ # @return [Types::ListRegexPatternSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2916
+ #
2917
+ # * {Types::ListRegexPatternSetsResponse#next_marker #next_marker} => String
2918
+ # * {Types::ListRegexPatternSetsResponse#regex_pattern_sets #regex_pattern_sets} => Array<Types::RegexPatternSetSummary>
2919
+ #
2920
+ # @example Request syntax with placeholder values
2921
+ #
2922
+ # resp = client.list_regex_pattern_sets({
2923
+ # next_marker: "NextMarker",
2924
+ # limit: 1,
2925
+ # })
2926
+ #
2927
+ # @example Response structure
2928
+ #
2929
+ # resp.next_marker #=> String
2930
+ # resp.regex_pattern_sets #=> Array
2931
+ # resp.regex_pattern_sets[0].regex_pattern_set_id #=> String
2932
+ # resp.regex_pattern_sets[0].name #=> String
2933
+ #
2934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexPatternSets AWS API Documentation
2935
+ #
2936
+ # @overload list_regex_pattern_sets(params = {})
2937
+ # @param [Hash] params ({})
2938
+ def list_regex_pattern_sets(params = {}, options = {})
2939
+ req = build_request(:list_regex_pattern_sets, params)
2940
+ req.send_request(options)
2941
+ end
2942
+
2373
2943
  # Returns an array of RuleSummary objects.
2374
2944
  #
2375
2945
  # @option params [String] :next_marker
@@ -2823,6 +3393,94 @@ module Aws::WAF
2823
3393
  req.send_request(options)
2824
3394
  end
2825
3395
 
3396
+ # Inserts or deletes GeoMatchConstraint objects in an `GeoMatchSet`. For
3397
+ # each `GeoMatchConstraint` object, you specify the following values:
3398
+ #
3399
+ # * Whether to insert or delete the object from the array. If you want
3400
+ # to change an `GeoMatchConstraint` object, you delete the existing
3401
+ # object and add a new one.
3402
+ #
3403
+ # * The `Type`. The only valid value for `Type` is `Country`.
3404
+ #
3405
+ # * The `Value`, which is a two character code for the country to add to
3406
+ # the `GeoMatchConstraint` object. Valid codes are listed in
3407
+ # GeoMatchConstraint$Value.
3408
+ #
3409
+ # To create and configure an `GeoMatchSet`, perform the following steps:
3410
+ #
3411
+ # 1. Submit a CreateGeoMatchSet request.
3412
+ #
3413
+ # 2. Use GetChangeToken to get the change token that you provide in the
3414
+ # `ChangeToken` parameter of an UpdateGeoMatchSet request.
3415
+ #
3416
+ # 3. Submit an `UpdateGeoMatchSet` request to specify the country that
3417
+ # you want AWS WAF to watch for.
3418
+ #
3419
+ # When you update an `GeoMatchSet`, you specify the country that you
3420
+ # want to add and/or the country that you want to delete. If you want to
3421
+ # change a country, you delete the existing country and add the new one.
3422
+ #
3423
+ # For more information about how to use the AWS WAF API to allow or
3424
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3425
+ #
3426
+ #
3427
+ #
3428
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3429
+ #
3430
+ # @option params [required, String] :geo_match_set_id
3431
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to update.
3432
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
3433
+ # ListGeoMatchSets.
3434
+ #
3435
+ # @option params [required, String] :change_token
3436
+ # The value returned by the most recent call to GetChangeToken.
3437
+ #
3438
+ # @option params [required, Array<Types::GeoMatchSetUpdate>] :updates
3439
+ # An array of `GeoMatchSetUpdate` objects that you want to insert into
3440
+ # or delete from an GeoMatchSet. For more information, see the
3441
+ # applicable data types:
3442
+ #
3443
+ # * GeoMatchSetUpdate: Contains `Action` and `GeoMatchConstraint`
3444
+ #
3445
+ # * GeoMatchConstraint: Contains `Type` and `Value`
3446
+ #
3447
+ # You can have only one `Type` and `Value` per `GeoMatchConstraint`.
3448
+ # To add multiple countries, include multiple `GeoMatchSetUpdate`
3449
+ # objects in your request.
3450
+ #
3451
+ # @return [Types::UpdateGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3452
+ #
3453
+ # * {Types::UpdateGeoMatchSetResponse#change_token #change_token} => String
3454
+ #
3455
+ # @example Request syntax with placeholder values
3456
+ #
3457
+ # resp = client.update_geo_match_set({
3458
+ # geo_match_set_id: "ResourceId", # required
3459
+ # change_token: "ChangeToken", # required
3460
+ # updates: [ # required
3461
+ # {
3462
+ # action: "INSERT", # required, accepts INSERT, DELETE
3463
+ # geo_match_constraint: { # required
3464
+ # type: "Country", # required, accepts Country
3465
+ # value: "AF", # required, accepts AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW
3466
+ # },
3467
+ # },
3468
+ # ],
3469
+ # })
3470
+ #
3471
+ # @example Response structure
3472
+ #
3473
+ # resp.change_token #=> String
3474
+ #
3475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSet AWS API Documentation
3476
+ #
3477
+ # @overload update_geo_match_set(params = {})
3478
+ # @param [Hash] params ({})
3479
+ def update_geo_match_set(params = {}, options = {})
3480
+ req = build_request(:update_geo_match_set, params)
3481
+ req.send_request(options)
3482
+ end
3483
+
2826
3484
  # Inserts or deletes IPSetDescriptor objects in an `IPSet`. For each
2827
3485
  # `IPSetDescriptor` object, you specify the following values:
2828
3486
  #
@@ -3029,7 +3687,7 @@ module Aws::WAF
3029
3687
  # action: "INSERT", # required, accepts INSERT, DELETE
3030
3688
  # predicate: { # required
3031
3689
  # negated: false, # required
3032
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3690
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3033
3691
  # data_id: "ResourceId", # required
3034
3692
  # },
3035
3693
  # },
@@ -3050,6 +3708,184 @@ module Aws::WAF
3050
3708
  req.send_request(options)
3051
3709
  end
3052
3710
 
3711
+ # Inserts or deletes RegexMatchSetUpdate objects (filters) in a
3712
+ # RegexMatchSet. For each `RegexMatchSetUpdate` object, you specify the
3713
+ # following values:
3714
+ #
3715
+ # * Whether to insert or delete the object from the array. If you want
3716
+ # to change a `RegexMatchSetUpdate` object, you delete the existing
3717
+ # object and add a new one.
3718
+ #
3719
+ # * The part of a web request that you want AWS WAF to inspect, such as
3720
+ # a query string or the value of the `User-Agent` header.
3721
+ #
3722
+ # * The identifier of the pattern (a regular expression) that you want
3723
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3724
+ #
3725
+ # * Whether to perform any conversions on the request, such as
3726
+ # converting it to lowercase, before inspecting it for the specified
3727
+ # string.
3728
+ #
3729
+ # For example, you can create a `RegexPatternSet` that matches any
3730
+ # requests with `User-Agent` headers that contain the string
3731
+ # `B[a@]dB[o0]t`. You can then configure AWS WAF to reject those
3732
+ # requests.
3733
+ #
3734
+ # To create and configure a `RegexMatchSet`, perform the following
3735
+ # steps:
3736
+ #
3737
+ # 1. Create a `RegexMatchSet.` For more information, see
3738
+ # CreateRegexMatchSet.
3739
+ #
3740
+ # 2. Use GetChangeToken to get the change token that you provide in the
3741
+ # `ChangeToken` parameter of an `UpdateRegexMatchSet` request.
3742
+ #
3743
+ # 3. Submit an `UpdateRegexMatchSet` request to specify the part of the
3744
+ # request that you want AWS WAF to inspect (for example, the header
3745
+ # or the URI) and the identifier of the `RegexPatternSet` that
3746
+ # contain the regular expression patters you want AWS WAF to watch
3747
+ # for.
3748
+ #
3749
+ # For more information about how to use the AWS WAF API to allow or
3750
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3751
+ #
3752
+ #
3753
+ #
3754
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3755
+ #
3756
+ # @option params [required, String] :regex_match_set_id
3757
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to update.
3758
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3759
+ # ListRegexMatchSets.
3760
+ #
3761
+ # @option params [required, Array<Types::RegexMatchSetUpdate>] :updates
3762
+ # An array of `RegexMatchSetUpdate` objects that you want to insert into
3763
+ # or delete from a RegexMatchSet. For more information, see
3764
+ # RegexMatchTuple.
3765
+ #
3766
+ # @option params [required, String] :change_token
3767
+ # The value returned by the most recent call to GetChangeToken.
3768
+ #
3769
+ # @return [Types::UpdateRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3770
+ #
3771
+ # * {Types::UpdateRegexMatchSetResponse#change_token #change_token} => String
3772
+ #
3773
+ # @example Request syntax with placeholder values
3774
+ #
3775
+ # resp = client.update_regex_match_set({
3776
+ # regex_match_set_id: "ResourceId", # required
3777
+ # updates: [ # required
3778
+ # {
3779
+ # action: "INSERT", # required, accepts INSERT, DELETE
3780
+ # regex_match_tuple: { # required
3781
+ # field_to_match: { # required
3782
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3783
+ # data: "MatchFieldData",
3784
+ # },
3785
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3786
+ # regex_pattern_set_id: "ResourceId", # required
3787
+ # },
3788
+ # },
3789
+ # ],
3790
+ # change_token: "ChangeToken", # required
3791
+ # })
3792
+ #
3793
+ # @example Response structure
3794
+ #
3795
+ # resp.change_token #=> String
3796
+ #
3797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexMatchSet AWS API Documentation
3798
+ #
3799
+ # @overload update_regex_match_set(params = {})
3800
+ # @param [Hash] params ({})
3801
+ def update_regex_match_set(params = {}, options = {})
3802
+ req = build_request(:update_regex_match_set, params)
3803
+ req.send_request(options)
3804
+ end
3805
+
3806
+ # Inserts or deletes RegexMatchSetUpdate objects (filters) in a
3807
+ # RegexPatternSet. For each `RegexPatternSet` object, you specify the
3808
+ # following values:
3809
+ #
3810
+ # * Whether to insert or delete the object from the array. If you want
3811
+ # to change a `RegexPatternSet` object, you delete the existing object
3812
+ # and add a new one.
3813
+ #
3814
+ # * The regular expression pattern that you want AWS WAF to look for.
3815
+ # For more information, see RegexPatternSet.
3816
+ #
3817
+ # For example, you can create a `RegexPatternString` such as
3818
+ # `B[a@]dB[o0]t`. AWS WAF will match this `RegexPatternString` to:
3819
+ #
3820
+ # * BadBot
3821
+ #
3822
+ # * BadB0t
3823
+ #
3824
+ # * B@dBot
3825
+ #
3826
+ # * B@dB0t
3827
+ #
3828
+ # To create and configure a `RegexPatternSet`, perform the following
3829
+ # steps:
3830
+ #
3831
+ # 1. Create a `RegexPatternSet.` For more information, see
3832
+ # CreateRegexPatternSet.
3833
+ #
3834
+ # 2. Use GetChangeToken to get the change token that you provide in the
3835
+ # `ChangeToken` parameter of an `UpdateRegexPatternSet` request.
3836
+ #
3837
+ # 3. Submit an `UpdateRegexPatternSet` request to specify the regular
3838
+ # expression pattern that you want AWS WAF to watch for.
3839
+ #
3840
+ # For more information about how to use the AWS WAF API to allow or
3841
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3842
+ #
3843
+ #
3844
+ #
3845
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3846
+ #
3847
+ # @option params [required, String] :regex_pattern_set_id
3848
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
3849
+ # update. `RegexPatternSetId` is returned by CreateRegexPatternSet and
3850
+ # by ListRegexPatternSets.
3851
+ #
3852
+ # @option params [required, Array<Types::RegexPatternSetUpdate>] :updates
3853
+ # An array of `RegexPatternSetUpdate` objects that you want to insert
3854
+ # into or delete from a RegexPatternSet.
3855
+ #
3856
+ # @option params [required, String] :change_token
3857
+ # The value returned by the most recent call to GetChangeToken.
3858
+ #
3859
+ # @return [Types::UpdateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3860
+ #
3861
+ # * {Types::UpdateRegexPatternSetResponse#change_token #change_token} => String
3862
+ #
3863
+ # @example Request syntax with placeholder values
3864
+ #
3865
+ # resp = client.update_regex_pattern_set({
3866
+ # regex_pattern_set_id: "ResourceId", # required
3867
+ # updates: [ # required
3868
+ # {
3869
+ # action: "INSERT", # required, accepts INSERT, DELETE
3870
+ # regex_pattern_string: "RegexPatternString", # required
3871
+ # },
3872
+ # ],
3873
+ # change_token: "ChangeToken", # required
3874
+ # })
3875
+ #
3876
+ # @example Response structure
3877
+ #
3878
+ # resp.change_token #=> String
3879
+ #
3880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexPatternSet AWS API Documentation
3881
+ #
3882
+ # @overload update_regex_pattern_set(params = {})
3883
+ # @param [Hash] params ({})
3884
+ def update_regex_pattern_set(params = {}, options = {})
3885
+ req = build_request(:update_regex_pattern_set, params)
3886
+ req.send_request(options)
3887
+ end
3888
+
3053
3889
  # Inserts or deletes Predicate objects in a `Rule`. Each `Predicate`
3054
3890
  # object identifies a predicate, such as a ByteMatchSet or an IPSet,
3055
3891
  # that specifies the web requests that you want to allow, block, or
@@ -3149,7 +3985,7 @@ module Aws::WAF
3149
3985
  # action: "INSERT", # required, accepts INSERT, DELETE
3150
3986
  # predicate: { # required
3151
3987
  # negated: false, # required
3152
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3988
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3153
3989
  # data_id: "ResourceId", # required
3154
3990
  # },
3155
3991
  # },
@@ -3721,7 +4557,7 @@ module Aws::WAF
3721
4557
  params: params,
3722
4558
  config: config)
3723
4559
  context[:gem_name] = 'aws-sdk-waf'
3724
- context[:gem_version] = '1.1.0'
4560
+ context[:gem_version] = '1.2.0'
3725
4561
  Seahorse::Client::Request.new(handlers, context)
3726
4562
  end
3727
4563