aws-sdk-wafregional 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: c2a8c9933eccb3cd1c6da2258ee6d0ac015123a0
4
- data.tar.gz: 7dc2c40c7bbf41304cd615515951d35b86c85f88
3
+ metadata.gz: 701154563b3825e7fb63ff58ff958679e4a19f08
4
+ data.tar.gz: e5f41739bd6030b02ad67b5f1719151b24ad844a
5
5
  SHA512:
6
- metadata.gz: def8b588abc72f2740884bead5b4672c3a54e9ccbb8df2985de3c359d4ee41812ecea46f8283d0e169a116d1bb7444fab74466891880e29fef90a26e2c20048d
7
- data.tar.gz: e507062dcde3cb4b66ed9b736c77b1a19269e4c8ba30b830d2eacfd054d811339a8e302fddace072e4385e91eed3c102dbaacc941f03897af3c61a9f995050b9
6
+ metadata.gz: 306bd36b3f07173d7c154f7b62da2c6636169062c0b66b6ac07821b257557c0de929dba749d145d3c8ad7917b9bdbfde18bb92419e9ad5fdbcbd0ac54eaac333
7
+ data.tar.gz: 9247f219de28246cab7f4c44bfaa0fe1ca6859a6144871ec1e1f0c29e6045af43861a51fa8d3a62c22bbc08fbd266676b35b90a8c51b690457a8522c3075febc
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-wafregional/customizations'
42
42
  # @service
43
43
  module Aws::WAFRegional
44
44
 
45
- GEM_VERSION = '1.1.0'
45
+ GEM_VERSION = '1.2.0'
46
46
 
47
47
  end
@@ -249,6 +249,70 @@ module Aws::WAFRegional
249
249
  req.send_request(options)
250
250
  end
251
251
 
252
+ # Creates an GeoMatchSet, which you use to specify which web requests
253
+ # you want to allow or block based on the country that the requests
254
+ # originate from. For example, if you're receiving a lot of requests
255
+ # from one or more countries and you want to block the requests, you can
256
+ # create an `GeoMatchSet` that contains those countries and then
257
+ # configure AWS WAF to block the requests.
258
+ #
259
+ # To create and configure a `GeoMatchSet`, perform the following steps:
260
+ #
261
+ # 1. Use GetChangeToken to get the change token that you provide in the
262
+ # `ChangeToken` parameter of a `CreateGeoMatchSet` request.
263
+ #
264
+ # 2. Submit a `CreateGeoMatchSet` request.
265
+ #
266
+ # 3. Use `GetChangeToken` to get the change token that you provide in
267
+ # the `ChangeToken` parameter of an UpdateGeoMatchSet request.
268
+ #
269
+ # 4. Submit an `UpdateGeoMatchSetSet` request to specify the countries
270
+ # that you want AWS WAF to watch for.
271
+ #
272
+ # For more information about how to use the AWS WAF API to allow or
273
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
274
+ #
275
+ #
276
+ #
277
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
278
+ #
279
+ # @option params [required, String] :name
280
+ # A friendly name or description of the GeoMatchSet. You can't change
281
+ # `Name` after you create the `GeoMatchSet`.
282
+ #
283
+ # @option params [required, String] :change_token
284
+ # The value returned by the most recent call to GetChangeToken.
285
+ #
286
+ # @return [Types::CreateGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
287
+ #
288
+ # * {Types::CreateGeoMatchSetResponse#geo_match_set #geo_match_set} => Types::GeoMatchSet
289
+ # * {Types::CreateGeoMatchSetResponse#change_token #change_token} => String
290
+ #
291
+ # @example Request syntax with placeholder values
292
+ #
293
+ # resp = client.create_geo_match_set({
294
+ # name: "ResourceName", # required
295
+ # change_token: "ChangeToken", # required
296
+ # })
297
+ #
298
+ # @example Response structure
299
+ #
300
+ # resp.geo_match_set.geo_match_set_id #=> String
301
+ # resp.geo_match_set.name #=> String
302
+ # resp.geo_match_set.geo_match_constraints #=> Array
303
+ # resp.geo_match_set.geo_match_constraints[0].type #=> String, one of "Country"
304
+ # 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"
305
+ # resp.change_token #=> String
306
+ #
307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSet AWS API Documentation
308
+ #
309
+ # @overload create_geo_match_set(params = {})
310
+ # @param [Hash] params ({})
311
+ def create_geo_match_set(params = {}, options = {})
312
+ req = build_request(:create_geo_match_set, params)
313
+ req.send_request(options)
314
+ end
315
+
252
316
  # Creates an IPSet, which you use to specify which web requests you want
253
317
  # to allow or block based on the IP addresses that the requests
254
318
  # originate from. For example, if you're receiving a lot of requests
@@ -461,7 +525,7 @@ module Aws::WAFRegional
461
525
  # resp.rule.metric_name #=> String
462
526
  # resp.rule.match_predicates #=> Array
463
527
  # resp.rule.match_predicates[0].negated #=> Boolean
464
- # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
528
+ # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
465
529
  # resp.rule.match_predicates[0].data_id #=> String
466
530
  # resp.rule.rate_key #=> String, one of "IP"
467
531
  # resp.rule.rate_limit #=> Integer
@@ -476,6 +540,138 @@ module Aws::WAFRegional
476
540
  req.send_request(options)
477
541
  end
478
542
 
543
+ # Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify
544
+ # the part of a web request that you want AWS WAF to inspect, such as
545
+ # the values of the `User-Agent` header or the query string. For
546
+ # example, you can create a `RegexMatchSet` that contains a
547
+ # `RegexMatchTuple` that looks for any requests with `User-Agent`
548
+ # headers that match a `RegexPatternSet` with pattern `B[a@]dB[o0]t`.
549
+ # You can then configure AWS WAF to reject those requests.
550
+ #
551
+ # To create and configure a `RegexMatchSet`, perform the following
552
+ # steps:
553
+ #
554
+ # 1. Use GetChangeToken to get the change token that you provide in the
555
+ # `ChangeToken` parameter of a `CreateRegexMatchSet` request.
556
+ #
557
+ # 2. Submit a `CreateRegexMatchSet` request.
558
+ #
559
+ # 3. Use `GetChangeToken` to get the change token that you provide in
560
+ # the `ChangeToken` parameter of an `UpdateRegexMatchSet` request.
561
+ #
562
+ # 4. Submit an UpdateRegexMatchSet request to specify the part of the
563
+ # request that you want AWS WAF to inspect (for example, the header
564
+ # or the URI) and the value, using a `RegexPatternSet`, that you
565
+ # want AWS WAF to watch for.
566
+ #
567
+ # For more information about how to use the AWS WAF API to allow or
568
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
569
+ #
570
+ #
571
+ #
572
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
573
+ #
574
+ # @option params [required, String] :name
575
+ # A friendly name or description of the RegexMatchSet. You can't change
576
+ # `Name` after you create a `RegexMatchSet`.
577
+ #
578
+ # @option params [required, String] :change_token
579
+ # The value returned by the most recent call to GetChangeToken.
580
+ #
581
+ # @return [Types::CreateRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
582
+ #
583
+ # * {Types::CreateRegexMatchSetResponse#regex_match_set #regex_match_set} => Types::RegexMatchSet
584
+ # * {Types::CreateRegexMatchSetResponse#change_token #change_token} => String
585
+ #
586
+ # @example Request syntax with placeholder values
587
+ #
588
+ # resp = client.create_regex_match_set({
589
+ # name: "ResourceName", # required
590
+ # change_token: "ChangeToken", # required
591
+ # })
592
+ #
593
+ # @example Response structure
594
+ #
595
+ # resp.regex_match_set.regex_match_set_id #=> String
596
+ # resp.regex_match_set.name #=> String
597
+ # resp.regex_match_set.regex_match_tuples #=> Array
598
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
599
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
600
+ # 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"
601
+ # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
602
+ # resp.change_token #=> String
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSet AWS API Documentation
605
+ #
606
+ # @overload create_regex_match_set(params = {})
607
+ # @param [Hash] params ({})
608
+ def create_regex_match_set(params = {}, options = {})
609
+ req = build_request(:create_regex_match_set, params)
610
+ req.send_request(options)
611
+ end
612
+
613
+ # Creates a `RegexPatternSet`. You then use UpdateRegexPatternSet to
614
+ # specify the regular expression (regex) pattern that you want AWS WAF
615
+ # to search for, such as `B[a@]dB[o0]t`. You can then configure AWS WAF
616
+ # to reject those requests.
617
+ #
618
+ # To create and configure a `RegexPatternSet`, perform the following
619
+ # steps:
620
+ #
621
+ # 1. Use GetChangeToken to get the change token that you provide in the
622
+ # `ChangeToken` parameter of a `CreateRegexPatternSet` request.
623
+ #
624
+ # 2. Submit a `CreateRegexPatternSet` request.
625
+ #
626
+ # 3. Use `GetChangeToken` to get the change token that you provide in
627
+ # the `ChangeToken` parameter of an `UpdateRegexPatternSet` request.
628
+ #
629
+ # 4. Submit an UpdateRegexPatternSet request to specify the string that
630
+ # you want AWS WAF to watch for.
631
+ #
632
+ # For more information about how to use the AWS WAF API to allow or
633
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
634
+ #
635
+ #
636
+ #
637
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
638
+ #
639
+ # @option params [required, String] :name
640
+ # A friendly name or description of the RegexPatternSet. You can't
641
+ # change `Name` after you create a `RegexPatternSet`.
642
+ #
643
+ # @option params [required, String] :change_token
644
+ # The value returned by the most recent call to GetChangeToken.
645
+ #
646
+ # @return [Types::CreateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
647
+ #
648
+ # * {Types::CreateRegexPatternSetResponse#regex_pattern_set #regex_pattern_set} => Types::RegexPatternSet
649
+ # * {Types::CreateRegexPatternSetResponse#change_token #change_token} => String
650
+ #
651
+ # @example Request syntax with placeholder values
652
+ #
653
+ # resp = client.create_regex_pattern_set({
654
+ # name: "ResourceName", # required
655
+ # change_token: "ChangeToken", # required
656
+ # })
657
+ #
658
+ # @example Response structure
659
+ #
660
+ # resp.regex_pattern_set.regex_pattern_set_id #=> String
661
+ # resp.regex_pattern_set.name #=> String
662
+ # resp.regex_pattern_set.regex_pattern_strings #=> Array
663
+ # resp.regex_pattern_set.regex_pattern_strings[0] #=> String
664
+ # resp.change_token #=> String
665
+ #
666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSet AWS API Documentation
667
+ #
668
+ # @overload create_regex_pattern_set(params = {})
669
+ # @param [Hash] params ({})
670
+ def create_regex_pattern_set(params = {}, options = {})
671
+ req = build_request(:create_regex_pattern_set, params)
672
+ req.send_request(options)
673
+ end
674
+
479
675
  # Creates a `Rule`, which contains the `IPSet` objects, `ByteMatchSet`
480
676
  # objects, and other predicates that identify the requests that you want
481
677
  # to block. If you add more than one predicate to a `Rule`, a request
@@ -579,7 +775,7 @@ module Aws::WAFRegional
579
775
  # resp.rule.metric_name #=> String
580
776
  # resp.rule.predicates #=> Array
581
777
  # resp.rule.predicates[0].negated #=> Boolean
582
- # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
778
+ # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
583
779
  # resp.rule.predicates[0].data_id #=> String
584
780
  # resp.change_token #=> String
585
781
  #
@@ -1071,6 +1267,56 @@ module Aws::WAFRegional
1071
1267
  req.send_request(options)
1072
1268
  end
1073
1269
 
1270
+ # Permanently deletes a GeoMatchSet. You can't delete a `GeoMatchSet`
1271
+ # if it's still used in any `Rules` or if it still includes any
1272
+ # countries.
1273
+ #
1274
+ # If you just want to remove a `GeoMatchSet` from a `Rule`, use
1275
+ # UpdateRule.
1276
+ #
1277
+ # To permanently delete a `GeoMatchSet` from AWS WAF, perform the
1278
+ # following steps:
1279
+ #
1280
+ # 1. Update the `GeoMatchSet` to remove any countries. For more
1281
+ # information, see UpdateGeoMatchSet.
1282
+ #
1283
+ # 2. Use GetChangeToken to get the change token that you provide in the
1284
+ # `ChangeToken` parameter of a `DeleteGeoMatchSet` request.
1285
+ #
1286
+ # 3. Submit a `DeleteGeoMatchSet` request.
1287
+ #
1288
+ # @option params [required, String] :geo_match_set_id
1289
+ # The `GeoMatchSetID` of the GeoMatchSet that you want to delete.
1290
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1291
+ # ListGeoMatchSets.
1292
+ #
1293
+ # @option params [required, String] :change_token
1294
+ # The value returned by the most recent call to GetChangeToken.
1295
+ #
1296
+ # @return [Types::DeleteGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1297
+ #
1298
+ # * {Types::DeleteGeoMatchSetResponse#change_token #change_token} => String
1299
+ #
1300
+ # @example Request syntax with placeholder values
1301
+ #
1302
+ # resp = client.delete_geo_match_set({
1303
+ # geo_match_set_id: "ResourceId", # required
1304
+ # change_token: "ChangeToken", # required
1305
+ # })
1306
+ #
1307
+ # @example Response structure
1308
+ #
1309
+ # resp.change_token #=> String
1310
+ #
1311
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSet AWS API Documentation
1312
+ #
1313
+ # @overload delete_geo_match_set(params = {})
1314
+ # @param [Hash] params ({})
1315
+ def delete_geo_match_set(params = {}, options = {})
1316
+ req = build_request(:delete_geo_match_set, params)
1317
+ req.send_request(options)
1318
+ end
1319
+
1074
1320
  # Permanently deletes an IPSet. You can't delete an `IPSet` if it's
1075
1321
  # still used in any `Rules` or if it still includes any IP addresses.
1076
1322
  #
@@ -1181,6 +1427,91 @@ module Aws::WAFRegional
1181
1427
  req.send_request(options)
1182
1428
  end
1183
1429
 
1430
+ # Permanently deletes a RegexMatchSet. You can't delete a
1431
+ # `RegexMatchSet` if it's still used in any `Rules` or if it still
1432
+ # includes any `RegexMatchTuples` objects (any filters).
1433
+ #
1434
+ # If you just want to remove a `RegexMatchSet` from a `Rule`, use
1435
+ # UpdateRule.
1436
+ #
1437
+ # To permanently delete a `RegexMatchSet`, perform the following steps:
1438
+ #
1439
+ # 1. Update the `RegexMatchSet` to remove filters, if any. For more
1440
+ # information, see UpdateRegexMatchSet.
1441
+ #
1442
+ # 2. Use GetChangeToken to get the change token that you provide in the
1443
+ # `ChangeToken` parameter of a `DeleteRegexMatchSet` request.
1444
+ #
1445
+ # 3. Submit a `DeleteRegexMatchSet` request.
1446
+ #
1447
+ # @option params [required, String] :regex_match_set_id
1448
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to delete.
1449
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1450
+ # ListRegexMatchSets.
1451
+ #
1452
+ # @option params [required, String] :change_token
1453
+ # The value returned by the most recent call to GetChangeToken.
1454
+ #
1455
+ # @return [Types::DeleteRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1456
+ #
1457
+ # * {Types::DeleteRegexMatchSetResponse#change_token #change_token} => String
1458
+ #
1459
+ # @example Request syntax with placeholder values
1460
+ #
1461
+ # resp = client.delete_regex_match_set({
1462
+ # regex_match_set_id: "ResourceId", # required
1463
+ # change_token: "ChangeToken", # required
1464
+ # })
1465
+ #
1466
+ # @example Response structure
1467
+ #
1468
+ # resp.change_token #=> String
1469
+ #
1470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSet AWS API Documentation
1471
+ #
1472
+ # @overload delete_regex_match_set(params = {})
1473
+ # @param [Hash] params ({})
1474
+ def delete_regex_match_set(params = {}, options = {})
1475
+ req = build_request(:delete_regex_match_set, params)
1476
+ req.send_request(options)
1477
+ end
1478
+
1479
+ # Permanently deletes a RegexPatternSet. You can't delete a
1480
+ # `RegexPatternSet` if it's still used in any `RegexMatchSet` or if the
1481
+ # `RegexPatternSet` is not empty.
1482
+ #
1483
+ # @option params [required, String] :regex_pattern_set_id
1484
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
1485
+ # delete. `RegexPatternSetId` is returned by CreateRegexPatternSet and
1486
+ # by ListRegexPatternSets.
1487
+ #
1488
+ # @option params [required, String] :change_token
1489
+ # The value returned by the most recent call to GetChangeToken.
1490
+ #
1491
+ # @return [Types::DeleteRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1492
+ #
1493
+ # * {Types::DeleteRegexPatternSetResponse#change_token #change_token} => String
1494
+ #
1495
+ # @example Request syntax with placeholder values
1496
+ #
1497
+ # resp = client.delete_regex_pattern_set({
1498
+ # regex_pattern_set_id: "ResourceId", # required
1499
+ # change_token: "ChangeToken", # required
1500
+ # })
1501
+ #
1502
+ # @example Response structure
1503
+ #
1504
+ # resp.change_token #=> String
1505
+ #
1506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSet AWS API Documentation
1507
+ #
1508
+ # @overload delete_regex_pattern_set(params = {})
1509
+ # @param [Hash] params ({})
1510
+ def delete_regex_pattern_set(params = {}, options = {})
1511
+ req = build_request(:delete_regex_pattern_set, params)
1512
+ req.send_request(options)
1513
+ end
1514
+
1184
1515
  # Permanently deletes a Rule. You can't delete a `Rule` if it's still
1185
1516
  # used in any `WebACL` objects or if it still includes any predicates,
1186
1517
  # such as `ByteMatchSet` objects.
@@ -1685,6 +2016,40 @@ module Aws::WAFRegional
1685
2016
  req.send_request(options)
1686
2017
  end
1687
2018
 
2019
+ # Returns the GeoMatchSet that is specified by `GeoMatchSetId`.
2020
+ #
2021
+ # @option params [required, String] :geo_match_set_id
2022
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to get.
2023
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
2024
+ # ListGeoMatchSets.
2025
+ #
2026
+ # @return [Types::GetGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2027
+ #
2028
+ # * {Types::GetGeoMatchSetResponse#geo_match_set #geo_match_set} => Types::GeoMatchSet
2029
+ #
2030
+ # @example Request syntax with placeholder values
2031
+ #
2032
+ # resp = client.get_geo_match_set({
2033
+ # geo_match_set_id: "ResourceId", # required
2034
+ # })
2035
+ #
2036
+ # @example Response structure
2037
+ #
2038
+ # resp.geo_match_set.geo_match_set_id #=> String
2039
+ # resp.geo_match_set.name #=> String
2040
+ # resp.geo_match_set.geo_match_constraints #=> Array
2041
+ # resp.geo_match_set.geo_match_constraints[0].type #=> String, one of "Country"
2042
+ # 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"
2043
+ #
2044
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSet AWS API Documentation
2045
+ #
2046
+ # @overload get_geo_match_set(params = {})
2047
+ # @param [Hash] params ({})
2048
+ def get_geo_match_set(params = {}, options = {})
2049
+ req = build_request(:get_geo_match_set, params)
2050
+ req.send_request(options)
2051
+ end
2052
+
1688
2053
  # Returns the IPSet that is specified by `IPSetId`.
1689
2054
  #
1690
2055
  # @option params [required, String] :ip_set_id
@@ -1765,7 +2130,7 @@ module Aws::WAFRegional
1765
2130
  # resp.rule.metric_name #=> String
1766
2131
  # resp.rule.match_predicates #=> Array
1767
2132
  # resp.rule.match_predicates[0].negated #=> Boolean
1768
- # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
2133
+ # resp.rule.match_predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
1769
2134
  # resp.rule.match_predicates[0].data_id #=> String
1770
2135
  # resp.rule.rate_key #=> String, one of "IP"
1771
2136
  # resp.rule.rate_limit #=> Integer
@@ -1821,6 +2186,75 @@ module Aws::WAFRegional
1821
2186
  req.send_request(options)
1822
2187
  end
1823
2188
 
2189
+ # Returns the RegexMatchSet specified by `RegexMatchSetId`.
2190
+ #
2191
+ # @option params [required, String] :regex_match_set_id
2192
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to get.
2193
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
2194
+ # ListRegexMatchSets.
2195
+ #
2196
+ # @return [Types::GetRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2197
+ #
2198
+ # * {Types::GetRegexMatchSetResponse#regex_match_set #regex_match_set} => Types::RegexMatchSet
2199
+ #
2200
+ # @example Request syntax with placeholder values
2201
+ #
2202
+ # resp = client.get_regex_match_set({
2203
+ # regex_match_set_id: "ResourceId", # required
2204
+ # })
2205
+ #
2206
+ # @example Response structure
2207
+ #
2208
+ # resp.regex_match_set.regex_match_set_id #=> String
2209
+ # resp.regex_match_set.name #=> String
2210
+ # resp.regex_match_set.regex_match_tuples #=> Array
2211
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.type #=> String, one of "URI", "QUERY_STRING", "HEADER", "METHOD", "BODY"
2212
+ # resp.regex_match_set.regex_match_tuples[0].field_to_match.data #=> String
2213
+ # 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"
2214
+ # resp.regex_match_set.regex_match_tuples[0].regex_pattern_set_id #=> String
2215
+ #
2216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSet AWS API Documentation
2217
+ #
2218
+ # @overload get_regex_match_set(params = {})
2219
+ # @param [Hash] params ({})
2220
+ def get_regex_match_set(params = {}, options = {})
2221
+ req = build_request(:get_regex_match_set, params)
2222
+ req.send_request(options)
2223
+ end
2224
+
2225
+ # Returns the RegexPatternSet specified by `RegexPatternSetId`.
2226
+ #
2227
+ # @option params [required, String] :regex_pattern_set_id
2228
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to get.
2229
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
2230
+ # ListRegexPatternSets.
2231
+ #
2232
+ # @return [Types::GetRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2233
+ #
2234
+ # * {Types::GetRegexPatternSetResponse#regex_pattern_set #regex_pattern_set} => Types::RegexPatternSet
2235
+ #
2236
+ # @example Request syntax with placeholder values
2237
+ #
2238
+ # resp = client.get_regex_pattern_set({
2239
+ # regex_pattern_set_id: "ResourceId", # required
2240
+ # })
2241
+ #
2242
+ # @example Response structure
2243
+ #
2244
+ # resp.regex_pattern_set.regex_pattern_set_id #=> String
2245
+ # resp.regex_pattern_set.name #=> String
2246
+ # resp.regex_pattern_set.regex_pattern_strings #=> Array
2247
+ # resp.regex_pattern_set.regex_pattern_strings[0] #=> String
2248
+ #
2249
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSet AWS API Documentation
2250
+ #
2251
+ # @overload get_regex_pattern_set(params = {})
2252
+ # @param [Hash] params ({})
2253
+ def get_regex_pattern_set(params = {}, options = {})
2254
+ req = build_request(:get_regex_pattern_set, params)
2255
+ req.send_request(options)
2256
+ end
2257
+
1824
2258
  # Returns the Rule that is specified by the `RuleId` that you included
1825
2259
  # in the `GetRule` request.
1826
2260
  #
@@ -1870,7 +2304,7 @@ module Aws::WAFRegional
1870
2304
  # resp.rule.metric_name #=> String
1871
2305
  # resp.rule.predicates #=> Array
1872
2306
  # resp.rule.predicates[0].negated #=> Boolean
1873
- # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "SizeConstraint", "XssMatch"
2307
+ # resp.rule.predicates[0].type #=> String, one of "IPMatch", "ByteMatch", "SqlInjectionMatch", "GeoMatch", "SizeConstraint", "XssMatch", "RegexMatch"
1874
2308
  # resp.rule.predicates[0].data_id #=> String
1875
2309
  #
1876
2310
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRule AWS API Documentation
@@ -2342,6 +2776,51 @@ module Aws::WAFRegional
2342
2776
  req.send_request(options)
2343
2777
  end
2344
2778
 
2779
+ # Returns an array of GeoMatchSetSummary objects in the response.
2780
+ #
2781
+ # @option params [String] :next_marker
2782
+ # If you specify a value for `Limit` and you have more `GeoMatchSet`s
2783
+ # than the value of `Limit`, AWS WAF returns a `NextMarker` value in the
2784
+ # response that allows you to list another group of `GeoMatchSet`
2785
+ # objects. For the second and subsequent `ListGeoMatchSets` requests,
2786
+ # specify the value of `NextMarker` from the previous response to get
2787
+ # information about another batch of `GeoMatchSet` objects.
2788
+ #
2789
+ # @option params [Integer] :limit
2790
+ # Specifies the number of `GeoMatchSet` objects that you want AWS WAF to
2791
+ # return for this request. If you have more `GeoMatchSet` objects than
2792
+ # the number you specify for `Limit`, the response includes a
2793
+ # `NextMarker` value that you can use to get another batch of
2794
+ # `GeoMatchSet` objects.
2795
+ #
2796
+ # @return [Types::ListGeoMatchSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2797
+ #
2798
+ # * {Types::ListGeoMatchSetsResponse#next_marker #next_marker} => String
2799
+ # * {Types::ListGeoMatchSetsResponse#geo_match_sets #geo_match_sets} => Array<Types::GeoMatchSetSummary>
2800
+ #
2801
+ # @example Request syntax with placeholder values
2802
+ #
2803
+ # resp = client.list_geo_match_sets({
2804
+ # next_marker: "NextMarker",
2805
+ # limit: 1,
2806
+ # })
2807
+ #
2808
+ # @example Response structure
2809
+ #
2810
+ # resp.next_marker #=> String
2811
+ # resp.geo_match_sets #=> Array
2812
+ # resp.geo_match_sets[0].geo_match_set_id #=> String
2813
+ # resp.geo_match_sets[0].name #=> String
2814
+ #
2815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSets AWS API Documentation
2816
+ #
2817
+ # @overload list_geo_match_sets(params = {})
2818
+ # @param [Hash] params ({})
2819
+ def list_geo_match_sets(params = {}, options = {})
2820
+ req = build_request(:list_geo_match_sets, params)
2821
+ req.send_request(options)
2822
+ end
2823
+
2345
2824
  # Returns an array of IPSetSummary objects in the response.
2346
2825
  #
2347
2826
  # @option params [String] :next_marker
@@ -2350,7 +2829,7 @@ module Aws::WAFRegional
2350
2829
  # that allows you to list another group of `IPSets`. For the second and
2351
2830
  # subsequent `ListIPSets` requests, specify the value of `NextMarker`
2352
2831
  # from the previous response to get information about another batch of
2353
- # `ByteMatchSets`.
2832
+ # `IPSets`.
2354
2833
  #
2355
2834
  # @option params [Integer] :limit
2356
2835
  # Specifies the number of `IPSet` objects that you want AWS WAF to
@@ -2449,6 +2928,97 @@ module Aws::WAFRegional
2449
2928
  req.send_request(options)
2450
2929
  end
2451
2930
 
2931
+ # Returns an array of RegexMatchSetSummary objects.
2932
+ #
2933
+ # @option params [String] :next_marker
2934
+ # If you specify a value for `Limit` and you have more `RegexMatchSet`
2935
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2936
+ # value in the response that allows you to list another group of
2937
+ # `ByteMatchSets`. For the second and subsequent `ListRegexMatchSets`
2938
+ # requests, specify the value of `NextMarker` from the previous response
2939
+ # to get information about another batch of `RegexMatchSet` objects.
2940
+ #
2941
+ # @option params [Integer] :limit
2942
+ # Specifies the number of `RegexMatchSet` objects that you want AWS WAF
2943
+ # to return for this request. If you have more `RegexMatchSet` objects
2944
+ # than the number you specify for `Limit`, the response includes a
2945
+ # `NextMarker` value that you can use to get another batch of
2946
+ # `RegexMatchSet` objects.
2947
+ #
2948
+ # @return [Types::ListRegexMatchSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2949
+ #
2950
+ # * {Types::ListRegexMatchSetsResponse#next_marker #next_marker} => String
2951
+ # * {Types::ListRegexMatchSetsResponse#regex_match_sets #regex_match_sets} => Array<Types::RegexMatchSetSummary>
2952
+ #
2953
+ # @example Request syntax with placeholder values
2954
+ #
2955
+ # resp = client.list_regex_match_sets({
2956
+ # next_marker: "NextMarker",
2957
+ # limit: 1,
2958
+ # })
2959
+ #
2960
+ # @example Response structure
2961
+ #
2962
+ # resp.next_marker #=> String
2963
+ # resp.regex_match_sets #=> Array
2964
+ # resp.regex_match_sets[0].regex_match_set_id #=> String
2965
+ # resp.regex_match_sets[0].name #=> String
2966
+ #
2967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSets AWS API Documentation
2968
+ #
2969
+ # @overload list_regex_match_sets(params = {})
2970
+ # @param [Hash] params ({})
2971
+ def list_regex_match_sets(params = {}, options = {})
2972
+ req = build_request(:list_regex_match_sets, params)
2973
+ req.send_request(options)
2974
+ end
2975
+
2976
+ # Returns an array of RegexPatternSetSummary objects.
2977
+ #
2978
+ # @option params [String] :next_marker
2979
+ # If you specify a value for `Limit` and you have more `RegexPatternSet`
2980
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2981
+ # value in the response that allows you to list another group of
2982
+ # `RegexPatternSet` objects. For the second and subsequent
2983
+ # `ListRegexPatternSets` requests, specify the value of `NextMarker`
2984
+ # from the previous response to get information about another batch of
2985
+ # `RegexPatternSet` objects.
2986
+ #
2987
+ # @option params [Integer] :limit
2988
+ # Specifies the number of `RegexPatternSet` objects that you want AWS
2989
+ # WAF to return for this request. If you have more `RegexPatternSet`
2990
+ # objects than the number you specify for `Limit`, the response includes
2991
+ # a `NextMarker` value that you can use to get another batch of
2992
+ # `RegexPatternSet` objects.
2993
+ #
2994
+ # @return [Types::ListRegexPatternSetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2995
+ #
2996
+ # * {Types::ListRegexPatternSetsResponse#next_marker #next_marker} => String
2997
+ # * {Types::ListRegexPatternSetsResponse#regex_pattern_sets #regex_pattern_sets} => Array<Types::RegexPatternSetSummary>
2998
+ #
2999
+ # @example Request syntax with placeholder values
3000
+ #
3001
+ # resp = client.list_regex_pattern_sets({
3002
+ # next_marker: "NextMarker",
3003
+ # limit: 1,
3004
+ # })
3005
+ #
3006
+ # @example Response structure
3007
+ #
3008
+ # resp.next_marker #=> String
3009
+ # resp.regex_pattern_sets #=> Array
3010
+ # resp.regex_pattern_sets[0].regex_pattern_set_id #=> String
3011
+ # resp.regex_pattern_sets[0].name #=> String
3012
+ #
3013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSets AWS API Documentation
3014
+ #
3015
+ # @overload list_regex_pattern_sets(params = {})
3016
+ # @param [Hash] params ({})
3017
+ def list_regex_pattern_sets(params = {}, options = {})
3018
+ req = build_request(:list_regex_pattern_sets, params)
3019
+ req.send_request(options)
3020
+ end
3021
+
2452
3022
  # Returns an array of resources associated with the specified web ACL.
2453
3023
  #
2454
3024
  # @option params [required, String] :web_acl_id
@@ -2932,6 +3502,94 @@ module Aws::WAFRegional
2932
3502
  req.send_request(options)
2933
3503
  end
2934
3504
 
3505
+ # Inserts or deletes GeoMatchConstraint objects in an `GeoMatchSet`. For
3506
+ # each `GeoMatchConstraint` object, you specify the following values:
3507
+ #
3508
+ # * Whether to insert or delete the object from the array. If you want
3509
+ # to change an `GeoMatchConstraint` object, you delete the existing
3510
+ # object and add a new one.
3511
+ #
3512
+ # * The `Type`. The only valid value for `Type` is `Country`.
3513
+ #
3514
+ # * The `Value`, which is a two character code for the country to add to
3515
+ # the `GeoMatchConstraint` object. Valid codes are listed in
3516
+ # GeoMatchConstraint$Value.
3517
+ #
3518
+ # To create and configure an `GeoMatchSet`, perform the following steps:
3519
+ #
3520
+ # 1. Submit a CreateGeoMatchSet request.
3521
+ #
3522
+ # 2. Use GetChangeToken to get the change token that you provide in the
3523
+ # `ChangeToken` parameter of an UpdateGeoMatchSet request.
3524
+ #
3525
+ # 3. Submit an `UpdateGeoMatchSet` request to specify the country that
3526
+ # you want AWS WAF to watch for.
3527
+ #
3528
+ # When you update an `GeoMatchSet`, you specify the country that you
3529
+ # want to add and/or the country that you want to delete. If you want to
3530
+ # change a country, you delete the existing country and add the new one.
3531
+ #
3532
+ # For more information about how to use the AWS WAF API to allow or
3533
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3534
+ #
3535
+ #
3536
+ #
3537
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3538
+ #
3539
+ # @option params [required, String] :geo_match_set_id
3540
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to update.
3541
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
3542
+ # ListGeoMatchSets.
3543
+ #
3544
+ # @option params [required, String] :change_token
3545
+ # The value returned by the most recent call to GetChangeToken.
3546
+ #
3547
+ # @option params [required, Array<Types::GeoMatchSetUpdate>] :updates
3548
+ # An array of `GeoMatchSetUpdate` objects that you want to insert into
3549
+ # or delete from an GeoMatchSet. For more information, see the
3550
+ # applicable data types:
3551
+ #
3552
+ # * GeoMatchSetUpdate: Contains `Action` and `GeoMatchConstraint`
3553
+ #
3554
+ # * GeoMatchConstraint: Contains `Type` and `Value`
3555
+ #
3556
+ # You can have only one `Type` and `Value` per `GeoMatchConstraint`.
3557
+ # To add multiple countries, include multiple `GeoMatchSetUpdate`
3558
+ # objects in your request.
3559
+ #
3560
+ # @return [Types::UpdateGeoMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3561
+ #
3562
+ # * {Types::UpdateGeoMatchSetResponse#change_token #change_token} => String
3563
+ #
3564
+ # @example Request syntax with placeholder values
3565
+ #
3566
+ # resp = client.update_geo_match_set({
3567
+ # geo_match_set_id: "ResourceId", # required
3568
+ # change_token: "ChangeToken", # required
3569
+ # updates: [ # required
3570
+ # {
3571
+ # action: "INSERT", # required, accepts INSERT, DELETE
3572
+ # geo_match_constraint: { # required
3573
+ # type: "Country", # required, accepts Country
3574
+ # 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
3575
+ # },
3576
+ # },
3577
+ # ],
3578
+ # })
3579
+ #
3580
+ # @example Response structure
3581
+ #
3582
+ # resp.change_token #=> String
3583
+ #
3584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSet AWS API Documentation
3585
+ #
3586
+ # @overload update_geo_match_set(params = {})
3587
+ # @param [Hash] params ({})
3588
+ def update_geo_match_set(params = {}, options = {})
3589
+ req = build_request(:update_geo_match_set, params)
3590
+ req.send_request(options)
3591
+ end
3592
+
2935
3593
  # Inserts or deletes IPSetDescriptor objects in an `IPSet`. For each
2936
3594
  # `IPSetDescriptor` object, you specify the following values:
2937
3595
  #
@@ -3138,7 +3796,7 @@ module Aws::WAFRegional
3138
3796
  # action: "INSERT", # required, accepts INSERT, DELETE
3139
3797
  # predicate: { # required
3140
3798
  # negated: false, # required
3141
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3799
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3142
3800
  # data_id: "ResourceId", # required
3143
3801
  # },
3144
3802
  # },
@@ -3159,6 +3817,184 @@ module Aws::WAFRegional
3159
3817
  req.send_request(options)
3160
3818
  end
3161
3819
 
3820
+ # Inserts or deletes RegexMatchSetUpdate objects (filters) in a
3821
+ # RegexMatchSet. For each `RegexMatchSetUpdate` object, you specify the
3822
+ # following values:
3823
+ #
3824
+ # * Whether to insert or delete the object from the array. If you want
3825
+ # to change a `RegexMatchSetUpdate` object, you delete the existing
3826
+ # object and add a new one.
3827
+ #
3828
+ # * The part of a web request that you want AWS WAF to inspect, such as
3829
+ # a query string or the value of the `User-Agent` header.
3830
+ #
3831
+ # * The identifier of the pattern (a regular expression) that you want
3832
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3833
+ #
3834
+ # * Whether to perform any conversions on the request, such as
3835
+ # converting it to lowercase, before inspecting it for the specified
3836
+ # string.
3837
+ #
3838
+ # For example, you can create a `RegexPatternSet` that matches any
3839
+ # requests with `User-Agent` headers that contain the string
3840
+ # `B[a@]dB[o0]t`. You can then configure AWS WAF to reject those
3841
+ # requests.
3842
+ #
3843
+ # To create and configure a `RegexMatchSet`, perform the following
3844
+ # steps:
3845
+ #
3846
+ # 1. Create a `RegexMatchSet.` For more information, see
3847
+ # CreateRegexMatchSet.
3848
+ #
3849
+ # 2. Use GetChangeToken to get the change token that you provide in the
3850
+ # `ChangeToken` parameter of an `UpdateRegexMatchSet` request.
3851
+ #
3852
+ # 3. Submit an `UpdateRegexMatchSet` request to specify the part of the
3853
+ # request that you want AWS WAF to inspect (for example, the header
3854
+ # or the URI) and the identifier of the `RegexPatternSet` that
3855
+ # contain the regular expression patters you want AWS WAF to watch
3856
+ # for.
3857
+ #
3858
+ # For more information about how to use the AWS WAF API to allow or
3859
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3860
+ #
3861
+ #
3862
+ #
3863
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3864
+ #
3865
+ # @option params [required, String] :regex_match_set_id
3866
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to update.
3867
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3868
+ # ListRegexMatchSets.
3869
+ #
3870
+ # @option params [required, Array<Types::RegexMatchSetUpdate>] :updates
3871
+ # An array of `RegexMatchSetUpdate` objects that you want to insert into
3872
+ # or delete from a RegexMatchSet. For more information, see
3873
+ # RegexMatchTuple.
3874
+ #
3875
+ # @option params [required, String] :change_token
3876
+ # The value returned by the most recent call to GetChangeToken.
3877
+ #
3878
+ # @return [Types::UpdateRegexMatchSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3879
+ #
3880
+ # * {Types::UpdateRegexMatchSetResponse#change_token #change_token} => String
3881
+ #
3882
+ # @example Request syntax with placeholder values
3883
+ #
3884
+ # resp = client.update_regex_match_set({
3885
+ # regex_match_set_id: "ResourceId", # required
3886
+ # updates: [ # required
3887
+ # {
3888
+ # action: "INSERT", # required, accepts INSERT, DELETE
3889
+ # regex_match_tuple: { # required
3890
+ # field_to_match: { # required
3891
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3892
+ # data: "MatchFieldData",
3893
+ # },
3894
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3895
+ # regex_pattern_set_id: "ResourceId", # required
3896
+ # },
3897
+ # },
3898
+ # ],
3899
+ # change_token: "ChangeToken", # required
3900
+ # })
3901
+ #
3902
+ # @example Response structure
3903
+ #
3904
+ # resp.change_token #=> String
3905
+ #
3906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSet AWS API Documentation
3907
+ #
3908
+ # @overload update_regex_match_set(params = {})
3909
+ # @param [Hash] params ({})
3910
+ def update_regex_match_set(params = {}, options = {})
3911
+ req = build_request(:update_regex_match_set, params)
3912
+ req.send_request(options)
3913
+ end
3914
+
3915
+ # Inserts or deletes RegexMatchSetUpdate objects (filters) in a
3916
+ # RegexPatternSet. For each `RegexPatternSet` object, you specify the
3917
+ # following values:
3918
+ #
3919
+ # * Whether to insert or delete the object from the array. If you want
3920
+ # to change a `RegexPatternSet` object, you delete the existing object
3921
+ # and add a new one.
3922
+ #
3923
+ # * The regular expression pattern that you want AWS WAF to look for.
3924
+ # For more information, see RegexPatternSet.
3925
+ #
3926
+ # For example, you can create a `RegexPatternString` such as
3927
+ # `B[a@]dB[o0]t`. AWS WAF will match this `RegexPatternString` to:
3928
+ #
3929
+ # * BadBot
3930
+ #
3931
+ # * BadB0t
3932
+ #
3933
+ # * B@dBot
3934
+ #
3935
+ # * B@dB0t
3936
+ #
3937
+ # To create and configure a `RegexPatternSet`, perform the following
3938
+ # steps:
3939
+ #
3940
+ # 1. Create a `RegexPatternSet.` For more information, see
3941
+ # CreateRegexPatternSet.
3942
+ #
3943
+ # 2. Use GetChangeToken to get the change token that you provide in the
3944
+ # `ChangeToken` parameter of an `UpdateRegexPatternSet` request.
3945
+ #
3946
+ # 3. Submit an `UpdateRegexPatternSet` request to specify the regular
3947
+ # expression pattern that you want AWS WAF to watch for.
3948
+ #
3949
+ # For more information about how to use the AWS WAF API to allow or
3950
+ # block HTTP requests, see the [AWS WAF Developer Guide][1].
3951
+ #
3952
+ #
3953
+ #
3954
+ # [1]: http://docs.aws.amazon.com/waf/latest/developerguide/
3955
+ #
3956
+ # @option params [required, String] :regex_pattern_set_id
3957
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
3958
+ # update. `RegexPatternSetId` is returned by CreateRegexPatternSet and
3959
+ # by ListRegexPatternSets.
3960
+ #
3961
+ # @option params [required, Array<Types::RegexPatternSetUpdate>] :updates
3962
+ # An array of `RegexPatternSetUpdate` objects that you want to insert
3963
+ # into or delete from a RegexPatternSet.
3964
+ #
3965
+ # @option params [required, String] :change_token
3966
+ # The value returned by the most recent call to GetChangeToken.
3967
+ #
3968
+ # @return [Types::UpdateRegexPatternSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3969
+ #
3970
+ # * {Types::UpdateRegexPatternSetResponse#change_token #change_token} => String
3971
+ #
3972
+ # @example Request syntax with placeholder values
3973
+ #
3974
+ # resp = client.update_regex_pattern_set({
3975
+ # regex_pattern_set_id: "ResourceId", # required
3976
+ # updates: [ # required
3977
+ # {
3978
+ # action: "INSERT", # required, accepts INSERT, DELETE
3979
+ # regex_pattern_string: "RegexPatternString", # required
3980
+ # },
3981
+ # ],
3982
+ # change_token: "ChangeToken", # required
3983
+ # })
3984
+ #
3985
+ # @example Response structure
3986
+ #
3987
+ # resp.change_token #=> String
3988
+ #
3989
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSet AWS API Documentation
3990
+ #
3991
+ # @overload update_regex_pattern_set(params = {})
3992
+ # @param [Hash] params ({})
3993
+ def update_regex_pattern_set(params = {}, options = {})
3994
+ req = build_request(:update_regex_pattern_set, params)
3995
+ req.send_request(options)
3996
+ end
3997
+
3162
3998
  # Inserts or deletes Predicate objects in a `Rule`. Each `Predicate`
3163
3999
  # object identifies a predicate, such as a ByteMatchSet or an IPSet,
3164
4000
  # that specifies the web requests that you want to allow, block, or
@@ -3258,7 +4094,7 @@ module Aws::WAFRegional
3258
4094
  # action: "INSERT", # required, accepts INSERT, DELETE
3259
4095
  # predicate: { # required
3260
4096
  # negated: false, # required
3261
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
4097
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3262
4098
  # data_id: "ResourceId", # required
3263
4099
  # },
3264
4100
  # },
@@ -3830,7 +4666,7 @@ module Aws::WAFRegional
3830
4666
  params: params,
3831
4667
  config: config)
3832
4668
  context[:gem_name] = 'aws-sdk-wafregional'
3833
- context[:gem_version] = '1.1.0'
4669
+ context[:gem_version] = '1.2.0'
3834
4670
  Seahorse::Client::Request.new(handlers, context)
3835
4671
  end
3836
4672