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.
@@ -444,6 +444,50 @@ module Aws::WAF
444
444
  include Aws::Structure
445
445
  end
446
446
 
447
+ # @note When making an API call, you may pass CreateGeoMatchSetRequest
448
+ # data as a hash:
449
+ #
450
+ # {
451
+ # name: "ResourceName", # required
452
+ # change_token: "ChangeToken", # required
453
+ # }
454
+ #
455
+ # @!attribute [rw] name
456
+ # A friendly name or description of the GeoMatchSet. You can't change
457
+ # `Name` after you create the `GeoMatchSet`.
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] change_token
461
+ # The value returned by the most recent call to GetChangeToken.
462
+ # @return [String]
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSetRequest AWS API Documentation
465
+ #
466
+ class CreateGeoMatchSetRequest < Struct.new(
467
+ :name,
468
+ :change_token)
469
+ include Aws::Structure
470
+ end
471
+
472
+ # @!attribute [rw] geo_match_set
473
+ # The GeoMatchSet returned in the `CreateGeoMatchSet` response. The
474
+ # `GeoMatchSet` contains no `GeoMatchConstraints`.
475
+ # @return [Types::GeoMatchSet]
476
+ #
477
+ # @!attribute [rw] change_token
478
+ # The `ChangeToken` that you used to submit the `CreateGeoMatchSet`
479
+ # request. You can also use this value to query the status of the
480
+ # request. For more information, see GetChangeTokenStatus.
481
+ # @return [String]
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateGeoMatchSetResponse AWS API Documentation
484
+ #
485
+ class CreateGeoMatchSetResponse < Struct.new(
486
+ :geo_match_set,
487
+ :change_token)
488
+ include Aws::Structure
489
+ end
490
+
447
491
  # @note When making an API call, you may pass CreateIPSetRequest
448
492
  # data as a hash:
449
493
  #
@@ -562,6 +606,93 @@ module Aws::WAF
562
606
  include Aws::Structure
563
607
  end
564
608
 
609
+ # @note When making an API call, you may pass CreateRegexMatchSetRequest
610
+ # data as a hash:
611
+ #
612
+ # {
613
+ # name: "ResourceName", # required
614
+ # change_token: "ChangeToken", # required
615
+ # }
616
+ #
617
+ # @!attribute [rw] name
618
+ # A friendly name or description of the RegexMatchSet. You can't
619
+ # change `Name` after you create a `RegexMatchSet`.
620
+ # @return [String]
621
+ #
622
+ # @!attribute [rw] change_token
623
+ # The value returned by the most recent call to GetChangeToken.
624
+ # @return [String]
625
+ #
626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSetRequest AWS API Documentation
627
+ #
628
+ class CreateRegexMatchSetRequest < Struct.new(
629
+ :name,
630
+ :change_token)
631
+ include Aws::Structure
632
+ end
633
+
634
+ # @!attribute [rw] regex_match_set
635
+ # A RegexMatchSet that contains no `RegexMatchTuple` objects.
636
+ # @return [Types::RegexMatchSet]
637
+ #
638
+ # @!attribute [rw] change_token
639
+ # The `ChangeToken` that you used to submit the `CreateRegexMatchSet`
640
+ # request. You can also use this value to query the status of the
641
+ # request. For more information, see GetChangeTokenStatus.
642
+ # @return [String]
643
+ #
644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexMatchSetResponse AWS API Documentation
645
+ #
646
+ class CreateRegexMatchSetResponse < Struct.new(
647
+ :regex_match_set,
648
+ :change_token)
649
+ include Aws::Structure
650
+ end
651
+
652
+ # @note When making an API call, you may pass CreateRegexPatternSetRequest
653
+ # data as a hash:
654
+ #
655
+ # {
656
+ # name: "ResourceName", # required
657
+ # change_token: "ChangeToken", # required
658
+ # }
659
+ #
660
+ # @!attribute [rw] name
661
+ # A friendly name or description of the RegexPatternSet. You can't
662
+ # change `Name` after you create a `RegexPatternSet`.
663
+ # @return [String]
664
+ #
665
+ # @!attribute [rw] change_token
666
+ # The value returned by the most recent call to GetChangeToken.
667
+ # @return [String]
668
+ #
669
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSetRequest AWS API Documentation
670
+ #
671
+ class CreateRegexPatternSetRequest < Struct.new(
672
+ :name,
673
+ :change_token)
674
+ include Aws::Structure
675
+ end
676
+
677
+ # @!attribute [rw] regex_pattern_set
678
+ # A RegexPatternSet that contains no objects.
679
+ # @return [Types::RegexPatternSet]
680
+ #
681
+ # @!attribute [rw] change_token
682
+ # The `ChangeToken` that you used to submit the
683
+ # `CreateRegexPatternSet` request. You can also use this value to
684
+ # query the status of the request. For more information, see
685
+ # GetChangeTokenStatus.
686
+ # @return [String]
687
+ #
688
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/CreateRegexPatternSetResponse AWS API Documentation
689
+ #
690
+ class CreateRegexPatternSetResponse < Struct.new(
691
+ :regex_pattern_set,
692
+ :change_token)
693
+ include Aws::Structure
694
+ end
695
+
565
696
  # @note When making an API call, you may pass CreateRuleRequest
566
697
  # data as a hash:
567
698
  #
@@ -856,6 +987,45 @@ module Aws::WAF
856
987
  include Aws::Structure
857
988
  end
858
989
 
990
+ # @note When making an API call, you may pass DeleteGeoMatchSetRequest
991
+ # data as a hash:
992
+ #
993
+ # {
994
+ # geo_match_set_id: "ResourceId", # required
995
+ # change_token: "ChangeToken", # required
996
+ # }
997
+ #
998
+ # @!attribute [rw] geo_match_set_id
999
+ # The `GeoMatchSetID` of the GeoMatchSet that you want to delete.
1000
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1001
+ # ListGeoMatchSets.
1002
+ # @return [String]
1003
+ #
1004
+ # @!attribute [rw] change_token
1005
+ # The value returned by the most recent call to GetChangeToken.
1006
+ # @return [String]
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteGeoMatchSetRequest AWS API Documentation
1009
+ #
1010
+ class DeleteGeoMatchSetRequest < Struct.new(
1011
+ :geo_match_set_id,
1012
+ :change_token)
1013
+ include Aws::Structure
1014
+ end
1015
+
1016
+ # @!attribute [rw] change_token
1017
+ # The `ChangeToken` that you used to submit the `DeleteGeoMatchSet`
1018
+ # request. You can also use this value to query the status of the
1019
+ # request. For more information, see GetChangeTokenStatus.
1020
+ # @return [String]
1021
+ #
1022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteGeoMatchSetResponse AWS API Documentation
1023
+ #
1024
+ class DeleteGeoMatchSetResponse < Struct.new(
1025
+ :change_token)
1026
+ include Aws::Structure
1027
+ end
1028
+
859
1029
  # @note When making an API call, you may pass DeleteIPSetRequest
860
1030
  # data as a hash:
861
1031
  #
@@ -932,6 +1102,85 @@ module Aws::WAF
932
1102
  include Aws::Structure
933
1103
  end
934
1104
 
1105
+ # @note When making an API call, you may pass DeleteRegexMatchSetRequest
1106
+ # data as a hash:
1107
+ #
1108
+ # {
1109
+ # regex_match_set_id: "ResourceId", # required
1110
+ # change_token: "ChangeToken", # required
1111
+ # }
1112
+ #
1113
+ # @!attribute [rw] regex_match_set_id
1114
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to delete.
1115
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1116
+ # ListRegexMatchSets.
1117
+ # @return [String]
1118
+ #
1119
+ # @!attribute [rw] change_token
1120
+ # The value returned by the most recent call to GetChangeToken.
1121
+ # @return [String]
1122
+ #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexMatchSetRequest AWS API Documentation
1124
+ #
1125
+ class DeleteRegexMatchSetRequest < Struct.new(
1126
+ :regex_match_set_id,
1127
+ :change_token)
1128
+ include Aws::Structure
1129
+ end
1130
+
1131
+ # @!attribute [rw] change_token
1132
+ # The `ChangeToken` that you used to submit the `DeleteRegexMatchSet`
1133
+ # request. You can also use this value to query the status of the
1134
+ # request. For more information, see GetChangeTokenStatus.
1135
+ # @return [String]
1136
+ #
1137
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexMatchSetResponse AWS API Documentation
1138
+ #
1139
+ class DeleteRegexMatchSetResponse < Struct.new(
1140
+ :change_token)
1141
+ include Aws::Structure
1142
+ end
1143
+
1144
+ # @note When making an API call, you may pass DeleteRegexPatternSetRequest
1145
+ # data as a hash:
1146
+ #
1147
+ # {
1148
+ # regex_pattern_set_id: "ResourceId", # required
1149
+ # change_token: "ChangeToken", # required
1150
+ # }
1151
+ #
1152
+ # @!attribute [rw] regex_pattern_set_id
1153
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
1154
+ # delete. `RegexPatternSetId` is returned by CreateRegexPatternSet and
1155
+ # by ListRegexPatternSets.
1156
+ # @return [String]
1157
+ #
1158
+ # @!attribute [rw] change_token
1159
+ # The value returned by the most recent call to GetChangeToken.
1160
+ # @return [String]
1161
+ #
1162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexPatternSetRequest AWS API Documentation
1163
+ #
1164
+ class DeleteRegexPatternSetRequest < Struct.new(
1165
+ :regex_pattern_set_id,
1166
+ :change_token)
1167
+ include Aws::Structure
1168
+ end
1169
+
1170
+ # @!attribute [rw] change_token
1171
+ # The `ChangeToken` that you used to submit the
1172
+ # `DeleteRegexPatternSet` request. You can also use this value to
1173
+ # query the status of the request. For more information, see
1174
+ # GetChangeTokenStatus.
1175
+ # @return [String]
1176
+ #
1177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/DeleteRegexPatternSetResponse AWS API Documentation
1178
+ #
1179
+ class DeleteRegexPatternSetResponse < Struct.new(
1180
+ :change_token)
1181
+ include Aws::Structure
1182
+ end
1183
+
935
1184
  # @note When making an API call, you may pass DeleteRuleRequest
936
1185
  # data as a hash:
937
1186
  #
@@ -1192,6 +1441,119 @@ module Aws::WAF
1192
1441
  include Aws::Structure
1193
1442
  end
1194
1443
 
1444
+ # The country from which web requests originate that you want AWS WAF to
1445
+ # search for.
1446
+ #
1447
+ # @note When making an API call, you may pass GeoMatchConstraint
1448
+ # data as a hash:
1449
+ #
1450
+ # {
1451
+ # type: "Country", # required, accepts Country
1452
+ # 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
1453
+ # }
1454
+ #
1455
+ # @!attribute [rw] type
1456
+ # The type of geographical area you want AWS WAF to search for.
1457
+ # Currently `Country` is the only valid value.
1458
+ # @return [String]
1459
+ #
1460
+ # @!attribute [rw] value
1461
+ # The country that you want AWS WAF to search for.
1462
+ # @return [String]
1463
+ #
1464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GeoMatchConstraint AWS API Documentation
1465
+ #
1466
+ class GeoMatchConstraint < Struct.new(
1467
+ :type,
1468
+ :value)
1469
+ include Aws::Structure
1470
+ end
1471
+
1472
+ # Contains one or more countries that AWS WAF will search for.
1473
+ #
1474
+ # @!attribute [rw] geo_match_set_id
1475
+ # The `GeoMatchSetId` for an `GeoMatchSet`. You use `GeoMatchSetId` to
1476
+ # get information about a `GeoMatchSet` (see GeoMatchSet), update a
1477
+ # `GeoMatchSet` (see UpdateGeoMatchSet), insert a `GeoMatchSet` into a
1478
+ # `Rule` or delete one from a `Rule` (see UpdateRule), and delete a
1479
+ # `GeoMatchSet` from AWS WAF (see DeleteGeoMatchSet).
1480
+ #
1481
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1482
+ # ListGeoMatchSets.
1483
+ # @return [String]
1484
+ #
1485
+ # @!attribute [rw] name
1486
+ # A friendly name or description of the GeoMatchSet. You can't change
1487
+ # the name of an `GeoMatchSet` after you create it.
1488
+ # @return [String]
1489
+ #
1490
+ # @!attribute [rw] geo_match_constraints
1491
+ # An array of GeoMatchConstraint objects, which contain the country
1492
+ # that you want AWS WAF to search for.
1493
+ # @return [Array<Types::GeoMatchConstraint>]
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GeoMatchSet AWS API Documentation
1496
+ #
1497
+ class GeoMatchSet < Struct.new(
1498
+ :geo_match_set_id,
1499
+ :name,
1500
+ :geo_match_constraints)
1501
+ include Aws::Structure
1502
+ end
1503
+
1504
+ # Contains the identifier and the name of the `GeoMatchSet`.
1505
+ #
1506
+ # @!attribute [rw] geo_match_set_id
1507
+ # The `GeoMatchSetId` for an GeoMatchSet. You can use `GeoMatchSetId`
1508
+ # in a GetGeoMatchSet request to get detailed information about an
1509
+ # GeoMatchSet.
1510
+ # @return [String]
1511
+ #
1512
+ # @!attribute [rw] name
1513
+ # A friendly name or description of the GeoMatchSet. You can't change
1514
+ # the name of an `GeoMatchSet` after you create it.
1515
+ # @return [String]
1516
+ #
1517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GeoMatchSetSummary AWS API Documentation
1518
+ #
1519
+ class GeoMatchSetSummary < Struct.new(
1520
+ :geo_match_set_id,
1521
+ :name)
1522
+ include Aws::Structure
1523
+ end
1524
+
1525
+ # Specifies the type of update to perform to an GeoMatchSet with
1526
+ # UpdateGeoMatchSet.
1527
+ #
1528
+ # @note When making an API call, you may pass GeoMatchSetUpdate
1529
+ # data as a hash:
1530
+ #
1531
+ # {
1532
+ # action: "INSERT", # required, accepts INSERT, DELETE
1533
+ # geo_match_constraint: { # required
1534
+ # type: "Country", # required, accepts Country
1535
+ # 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
1536
+ # },
1537
+ # }
1538
+ #
1539
+ # @!attribute [rw] action
1540
+ # Specifies whether to insert or delete a country with
1541
+ # UpdateGeoMatchSet.
1542
+ # @return [String]
1543
+ #
1544
+ # @!attribute [rw] geo_match_constraint
1545
+ # The country from which web requests originate that you want AWS WAF
1546
+ # to search for.
1547
+ # @return [Types::GeoMatchConstraint]
1548
+ #
1549
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GeoMatchSetUpdate AWS API Documentation
1550
+ #
1551
+ class GeoMatchSetUpdate < Struct.new(
1552
+ :action,
1553
+ :geo_match_constraint)
1554
+ include Aws::Structure
1555
+ end
1556
+
1195
1557
  # @note When making an API call, you may pass GetByteMatchSetRequest
1196
1558
  # data as a hash:
1197
1559
  #
@@ -1283,6 +1645,40 @@ module Aws::WAF
1283
1645
  include Aws::Structure
1284
1646
  end
1285
1647
 
1648
+ # @note When making an API call, you may pass GetGeoMatchSetRequest
1649
+ # data as a hash:
1650
+ #
1651
+ # {
1652
+ # geo_match_set_id: "ResourceId", # required
1653
+ # }
1654
+ #
1655
+ # @!attribute [rw] geo_match_set_id
1656
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to get.
1657
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1658
+ # ListGeoMatchSets.
1659
+ # @return [String]
1660
+ #
1661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetGeoMatchSetRequest AWS API Documentation
1662
+ #
1663
+ class GetGeoMatchSetRequest < Struct.new(
1664
+ :geo_match_set_id)
1665
+ include Aws::Structure
1666
+ end
1667
+
1668
+ # @!attribute [rw] geo_match_set
1669
+ # Information about the GeoMatchSet that you specified in the
1670
+ # `GetGeoMatchSet` request. This includes the `Type`, which for a
1671
+ # `GeoMatchContraint` is always `Country`, as well as the `Value`,
1672
+ # which is the identifier for a specific country.
1673
+ # @return [Types::GeoMatchSet]
1674
+ #
1675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetGeoMatchSetResponse AWS API Documentation
1676
+ #
1677
+ class GetGeoMatchSetResponse < Struct.new(
1678
+ :geo_match_set)
1679
+ include Aws::Structure
1680
+ end
1681
+
1286
1682
  # @note When making an API call, you may pass GetIPSetRequest
1287
1683
  # data as a hash:
1288
1684
  #
@@ -1394,16 +1790,83 @@ module Aws::WAF
1394
1790
  include Aws::Structure
1395
1791
  end
1396
1792
 
1397
- # @note When making an API call, you may pass GetRuleRequest
1793
+ # @note When making an API call, you may pass GetRegexMatchSetRequest
1398
1794
  # data as a hash:
1399
1795
  #
1400
1796
  # {
1401
- # rule_id: "ResourceId", # required
1797
+ # regex_match_set_id: "ResourceId", # required
1402
1798
  # }
1403
1799
  #
1404
- # @!attribute [rw] rule_id
1405
- # The `RuleId` of the Rule that you want to get. `RuleId` is returned
1406
- # by CreateRule and by ListRules.
1800
+ # @!attribute [rw] regex_match_set_id
1801
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to get.
1802
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1803
+ # ListRegexMatchSets.
1804
+ # @return [String]
1805
+ #
1806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexMatchSetRequest AWS API Documentation
1807
+ #
1808
+ class GetRegexMatchSetRequest < Struct.new(
1809
+ :regex_match_set_id)
1810
+ include Aws::Structure
1811
+ end
1812
+
1813
+ # @!attribute [rw] regex_match_set
1814
+ # Information about the RegexMatchSet that you specified in the
1815
+ # `GetRegexMatchSet` request. For more information, see
1816
+ # RegexMatchTuple.
1817
+ # @return [Types::RegexMatchSet]
1818
+ #
1819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexMatchSetResponse AWS API Documentation
1820
+ #
1821
+ class GetRegexMatchSetResponse < Struct.new(
1822
+ :regex_match_set)
1823
+ include Aws::Structure
1824
+ end
1825
+
1826
+ # @note When making an API call, you may pass GetRegexPatternSetRequest
1827
+ # data as a hash:
1828
+ #
1829
+ # {
1830
+ # regex_pattern_set_id: "ResourceId", # required
1831
+ # }
1832
+ #
1833
+ # @!attribute [rw] regex_pattern_set_id
1834
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to get.
1835
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
1836
+ # ListRegexPatternSets.
1837
+ # @return [String]
1838
+ #
1839
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexPatternSetRequest AWS API Documentation
1840
+ #
1841
+ class GetRegexPatternSetRequest < Struct.new(
1842
+ :regex_pattern_set_id)
1843
+ include Aws::Structure
1844
+ end
1845
+
1846
+ # @!attribute [rw] regex_pattern_set
1847
+ # Information about the RegexPatternSet that you specified in the
1848
+ # `GetRegexPatternSet` request, including the identifier of the
1849
+ # pattern set and the regular expression patterns you want AWS WAF to
1850
+ # search for.
1851
+ # @return [Types::RegexPatternSet]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRegexPatternSetResponse AWS API Documentation
1854
+ #
1855
+ class GetRegexPatternSetResponse < Struct.new(
1856
+ :regex_pattern_set)
1857
+ include Aws::Structure
1858
+ end
1859
+
1860
+ # @note When making an API call, you may pass GetRuleRequest
1861
+ # data as a hash:
1862
+ #
1863
+ # {
1864
+ # rule_id: "ResourceId", # required
1865
+ # }
1866
+ #
1867
+ # @!attribute [rw] rule_id
1868
+ # The `RuleId` of the Rule that you want to get. `RuleId` is returned
1869
+ # by CreateRule and by ListRules.
1407
1870
  # @return [String]
1408
1871
  #
1409
1872
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/GetRuleRequest AWS API Documentation
@@ -1978,6 +2441,60 @@ module Aws::WAF
1978
2441
  include Aws::Structure
1979
2442
  end
1980
2443
 
2444
+ # @note When making an API call, you may pass ListGeoMatchSetsRequest
2445
+ # data as a hash:
2446
+ #
2447
+ # {
2448
+ # next_marker: "NextMarker",
2449
+ # limit: 1,
2450
+ # }
2451
+ #
2452
+ # @!attribute [rw] next_marker
2453
+ # If you specify a value for `Limit` and you have more `GeoMatchSet`s
2454
+ # than the value of `Limit`, AWS WAF returns a `NextMarker` value in
2455
+ # the response that allows you to list another group of `GeoMatchSet`
2456
+ # objects. For the second and subsequent `ListGeoMatchSets` requests,
2457
+ # specify the value of `NextMarker` from the previous response to get
2458
+ # information about another batch of `GeoMatchSet` objects.
2459
+ # @return [String]
2460
+ #
2461
+ # @!attribute [rw] limit
2462
+ # Specifies the number of `GeoMatchSet` objects that you want AWS WAF
2463
+ # to return for this request. If you have more `GeoMatchSet` objects
2464
+ # than the number you specify for `Limit`, the response includes a
2465
+ # `NextMarker` value that you can use to get another batch of
2466
+ # `GeoMatchSet` objects.
2467
+ # @return [Integer]
2468
+ #
2469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListGeoMatchSetsRequest AWS API Documentation
2470
+ #
2471
+ class ListGeoMatchSetsRequest < Struct.new(
2472
+ :next_marker,
2473
+ :limit)
2474
+ include Aws::Structure
2475
+ end
2476
+
2477
+ # @!attribute [rw] next_marker
2478
+ # If you have more `GeoMatchSet` objects than the number that you
2479
+ # specified for `Limit` in the request, the response includes a
2480
+ # `NextMarker` value. To list more `GeoMatchSet` objects, submit
2481
+ # another `ListGeoMatchSets` request, and specify the `NextMarker`
2482
+ # value from the response in the `NextMarker` value in the next
2483
+ # request.
2484
+ # @return [String]
2485
+ #
2486
+ # @!attribute [rw] geo_match_sets
2487
+ # An array of GeoMatchSetSummary objects.
2488
+ # @return [Array<Types::GeoMatchSetSummary>]
2489
+ #
2490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListGeoMatchSetsResponse AWS API Documentation
2491
+ #
2492
+ class ListGeoMatchSetsResponse < Struct.new(
2493
+ :next_marker,
2494
+ :geo_match_sets)
2495
+ include Aws::Structure
2496
+ end
2497
+
1981
2498
  # @note When making an API call, you may pass ListIPSetsRequest
1982
2499
  # data as a hash:
1983
2500
  #
@@ -1992,7 +2509,7 @@ module Aws::WAF
1992
2509
  # response that allows you to list another group of `IPSets`. For the
1993
2510
  # second and subsequent `ListIPSets` requests, specify the value of
1994
2511
  # `NextMarker` from the previous response to get information about
1995
- # another batch of `ByteMatchSets`.
2512
+ # another batch of `IPSets`.
1996
2513
  # @return [String]
1997
2514
  #
1998
2515
  # @!attribute [rw] limit
@@ -2082,6 +2599,116 @@ module Aws::WAF
2082
2599
  include Aws::Structure
2083
2600
  end
2084
2601
 
2602
+ # @note When making an API call, you may pass ListRegexMatchSetsRequest
2603
+ # data as a hash:
2604
+ #
2605
+ # {
2606
+ # next_marker: "NextMarker",
2607
+ # limit: 1,
2608
+ # }
2609
+ #
2610
+ # @!attribute [rw] next_marker
2611
+ # If you specify a value for `Limit` and you have more `RegexMatchSet`
2612
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2613
+ # value in the response that allows you to list another group of
2614
+ # `ByteMatchSets`. For the second and subsequent `ListRegexMatchSets`
2615
+ # requests, specify the value of `NextMarker` from the previous
2616
+ # response to get information about another batch of `RegexMatchSet`
2617
+ # objects.
2618
+ # @return [String]
2619
+ #
2620
+ # @!attribute [rw] limit
2621
+ # Specifies the number of `RegexMatchSet` objects that you want AWS
2622
+ # WAF to return for this request. If you have more `RegexMatchSet`
2623
+ # objects than the number you specify for `Limit`, the response
2624
+ # includes a `NextMarker` value that you can use to get another batch
2625
+ # of `RegexMatchSet` objects.
2626
+ # @return [Integer]
2627
+ #
2628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexMatchSetsRequest AWS API Documentation
2629
+ #
2630
+ class ListRegexMatchSetsRequest < Struct.new(
2631
+ :next_marker,
2632
+ :limit)
2633
+ include Aws::Structure
2634
+ end
2635
+
2636
+ # @!attribute [rw] next_marker
2637
+ # If you have more `RegexMatchSet` objects than the number that you
2638
+ # specified for `Limit` in the request, the response includes a
2639
+ # `NextMarker` value. To list more `RegexMatchSet` objects, submit
2640
+ # another `ListRegexMatchSets` request, and specify the `NextMarker`
2641
+ # value from the response in the `NextMarker` value in the next
2642
+ # request.
2643
+ # @return [String]
2644
+ #
2645
+ # @!attribute [rw] regex_match_sets
2646
+ # An array of RegexMatchSetSummary objects.
2647
+ # @return [Array<Types::RegexMatchSetSummary>]
2648
+ #
2649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexMatchSetsResponse AWS API Documentation
2650
+ #
2651
+ class ListRegexMatchSetsResponse < Struct.new(
2652
+ :next_marker,
2653
+ :regex_match_sets)
2654
+ include Aws::Structure
2655
+ end
2656
+
2657
+ # @note When making an API call, you may pass ListRegexPatternSetsRequest
2658
+ # data as a hash:
2659
+ #
2660
+ # {
2661
+ # next_marker: "NextMarker",
2662
+ # limit: 1,
2663
+ # }
2664
+ #
2665
+ # @!attribute [rw] next_marker
2666
+ # If you specify a value for `Limit` and you have more
2667
+ # `RegexPatternSet` objects than the value of `Limit`, AWS WAF returns
2668
+ # a `NextMarker` value in the response that allows you to list another
2669
+ # group of `RegexPatternSet` objects. For the second and subsequent
2670
+ # `ListRegexPatternSets` requests, specify the value of `NextMarker`
2671
+ # from the previous response to get information about another batch of
2672
+ # `RegexPatternSet` objects.
2673
+ # @return [String]
2674
+ #
2675
+ # @!attribute [rw] limit
2676
+ # Specifies the number of `RegexPatternSet` objects that you want AWS
2677
+ # WAF to return for this request. If you have more `RegexPatternSet`
2678
+ # objects than the number you specify for `Limit`, the response
2679
+ # includes a `NextMarker` value that you can use to get another batch
2680
+ # of `RegexPatternSet` objects.
2681
+ # @return [Integer]
2682
+ #
2683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexPatternSetsRequest AWS API Documentation
2684
+ #
2685
+ class ListRegexPatternSetsRequest < Struct.new(
2686
+ :next_marker,
2687
+ :limit)
2688
+ include Aws::Structure
2689
+ end
2690
+
2691
+ # @!attribute [rw] next_marker
2692
+ # If you have more `RegexPatternSet` objects than the number that you
2693
+ # specified for `Limit` in the request, the response includes a
2694
+ # `NextMarker` value. To list more `RegexPatternSet` objects, submit
2695
+ # another `ListRegexPatternSets` request, and specify the `NextMarker`
2696
+ # value from the response in the `NextMarker` value in the next
2697
+ # request.
2698
+ # @return [String]
2699
+ #
2700
+ # @!attribute [rw] regex_pattern_sets
2701
+ # An array of RegexPatternSetSummary objects.
2702
+ # @return [Array<Types::RegexPatternSetSummary>]
2703
+ #
2704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/ListRegexPatternSetsResponse AWS API Documentation
2705
+ #
2706
+ class ListRegexPatternSetsResponse < Struct.new(
2707
+ :next_marker,
2708
+ :regex_pattern_sets)
2709
+ include Aws::Structure
2710
+ end
2711
+
2085
2712
  # @note When making an API call, you may pass ListRulesRequest
2086
2713
  # data as a hash:
2087
2714
  #
@@ -2362,33 +2989,34 @@ module Aws::WAF
2362
2989
  end
2363
2990
 
2364
2991
  # Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet,
2365
- # and SizeConstraintSet objects that you want to add to a `Rule` and,
2366
- # for each object, indicates whether you want to negate the settings,
2367
- # for example, requests that do NOT originate from the IP address
2368
- # 192.0.2.44.
2992
+ # RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you
2993
+ # want to add to a `Rule` and, for each object, indicates whether you
2994
+ # want to negate the settings, for example, requests that do NOT
2995
+ # originate from the IP address 192.0.2.44.
2369
2996
  #
2370
2997
  # @note When making an API call, you may pass Predicate
2371
2998
  # data as a hash:
2372
2999
  #
2373
3000
  # {
2374
3001
  # negated: false, # required
2375
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3002
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
2376
3003
  # data_id: "ResourceId", # required
2377
3004
  # }
2378
3005
  #
2379
3006
  # @!attribute [rw] negated
2380
3007
  # Set `Negated` to `False` if you want AWS WAF to allow, block, or
2381
3008
  # count requests based on the settings in the specified ByteMatchSet,
2382
- # IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For
2383
- # example, if an `IPSet` includes the IP address `192.0.2.44`, AWS WAF
2384
- # will allow or block requests based on that IP address.
3009
+ # IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet,
3010
+ # GeoMatchSet, or SizeConstraintSet. For example, if an `IPSet`
3011
+ # includes the IP address `192.0.2.44`, AWS WAF will allow or block
3012
+ # requests based on that IP address.
2385
3013
  #
2386
3014
  # Set `Negated` to `True` if you want AWS WAF to allow or block a
2387
3015
  # request based on the negation of the settings in the ByteMatchSet,
2388
- # IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For
2389
- # example, if an `IPSet` includes the IP address `192.0.2.44`, AWS WAF
2390
- # will allow, block, or count requests based on all IP addresses
2391
- # *except* `192.0.2.44`.
3016
+ # IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet,
3017
+ # GeoMatchSet, or SizeConstraintSet. For example, if an `IPSet`
3018
+ # includes the IP address `192.0.2.44`, AWS WAF will allow, block, or
3019
+ # count requests based on all IP addresses *except* `192.0.2.44`.
2392
3020
  # @return [Boolean]
2393
3021
  #
2394
3022
  # @!attribute [rw] type
@@ -2482,6 +3110,340 @@ module Aws::WAF
2482
3110
  include Aws::Structure
2483
3111
  end
2484
3112
 
3113
+ # In a GetRegexMatchSet request, `RegexMatchSet` is a complex type that
3114
+ # contains the `RegexMatchSetId` and `Name` of a `RegexMatchSet`, and
3115
+ # the values that you specified when you updated the `RegexMatchSet`.
3116
+ #
3117
+ # The values are contained in a `RegexMatchTuple` object, which specify
3118
+ # the parts of web requests that you want AWS WAF to inspect and the
3119
+ # values that you want AWS WAF to search for. If a `RegexMatchSet`
3120
+ # contains more than one `RegexMatchTuple` object, a request needs to
3121
+ # match the settings in only one `ByteMatchTuple` to be considered a
3122
+ # match.
3123
+ #
3124
+ # @!attribute [rw] regex_match_set_id
3125
+ # The `RegexMatchSetId` for a `RegexMatchSet`. You use
3126
+ # `RegexMatchSetId` to get information about a `RegexMatchSet` (see
3127
+ # GetRegexMatchSet), update a `RegexMatchSet` (see
3128
+ # UpdateRegexMatchSet), insert a `RegexMatchSet` into a `Rule` or
3129
+ # delete one from a `Rule` (see UpdateRule), and delete a
3130
+ # `RegexMatchSet` from AWS WAF (see DeleteRegexMatchSet).
3131
+ #
3132
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3133
+ # ListRegexMatchSets.
3134
+ # @return [String]
3135
+ #
3136
+ # @!attribute [rw] name
3137
+ # A friendly name or description of the RegexMatchSet. You can't
3138
+ # change `Name` after you create a `RegexMatchSet`.
3139
+ # @return [String]
3140
+ #
3141
+ # @!attribute [rw] regex_match_tuples
3142
+ # Contains an array of RegexMatchTuple objects. Each `RegexMatchTuple`
3143
+ # object contains:
3144
+ #
3145
+ # * The part of a web request that you want AWS WAF to inspect, such
3146
+ # as a query string or the value of the `User-Agent` header.
3147
+ #
3148
+ # * The identifier of the pattern (a regular expression) that you want
3149
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3150
+ #
3151
+ # * Whether to perform any conversions on the request, such as
3152
+ # converting it to lowercase, before inspecting it for the specified
3153
+ # string.
3154
+ # @return [Array<Types::RegexMatchTuple>]
3155
+ #
3156
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexMatchSet AWS API Documentation
3157
+ #
3158
+ class RegexMatchSet < Struct.new(
3159
+ :regex_match_set_id,
3160
+ :name,
3161
+ :regex_match_tuples)
3162
+ include Aws::Structure
3163
+ end
3164
+
3165
+ # Returned by ListRegexMatchSets. Each `RegexMatchSetSummary` object
3166
+ # includes the `Name` and `RegexMatchSetId` for one RegexMatchSet.
3167
+ #
3168
+ # @!attribute [rw] regex_match_set_id
3169
+ # The `RegexMatchSetId` for a `RegexMatchSet`. You use
3170
+ # `RegexMatchSetId` to get information about a `RegexMatchSet`, update
3171
+ # a `RegexMatchSet`, remove a `RegexMatchSet` from a `Rule`, and
3172
+ # delete a `RegexMatchSet` from AWS WAF.
3173
+ #
3174
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3175
+ # ListRegexMatchSets.
3176
+ # @return [String]
3177
+ #
3178
+ # @!attribute [rw] name
3179
+ # A friendly name or description of the RegexMatchSet. You can't
3180
+ # change `Name` after you create a `RegexMatchSet`.
3181
+ # @return [String]
3182
+ #
3183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexMatchSetSummary AWS API Documentation
3184
+ #
3185
+ class RegexMatchSetSummary < Struct.new(
3186
+ :regex_match_set_id,
3187
+ :name)
3188
+ include Aws::Structure
3189
+ end
3190
+
3191
+ # In an UpdateRegexMatchSet request, `RegexMatchSetUpdate` specifies
3192
+ # whether to insert or delete a RegexMatchTuple and includes the
3193
+ # settings for the `RegexMatchTuple`.
3194
+ #
3195
+ # @note When making an API call, you may pass RegexMatchSetUpdate
3196
+ # data as a hash:
3197
+ #
3198
+ # {
3199
+ # action: "INSERT", # required, accepts INSERT, DELETE
3200
+ # regex_match_tuple: { # required
3201
+ # field_to_match: { # required
3202
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3203
+ # data: "MatchFieldData",
3204
+ # },
3205
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3206
+ # regex_pattern_set_id: "ResourceId", # required
3207
+ # },
3208
+ # }
3209
+ #
3210
+ # @!attribute [rw] action
3211
+ # Specifies whether to insert or delete a RegexMatchTuple.
3212
+ # @return [String]
3213
+ #
3214
+ # @!attribute [rw] regex_match_tuple
3215
+ # Information about the part of a web request that you want AWS WAF to
3216
+ # inspect and the identifier of the regular expression (regex) pattern
3217
+ # that you want AWS WAF to search for. If you specify `DELETE` for the
3218
+ # value of `Action`, the `RegexMatchTuple` values must exactly match
3219
+ # the values in the `RegexMatchTuple` that you want to delete from the
3220
+ # `RegexMatchSet`.
3221
+ # @return [Types::RegexMatchTuple]
3222
+ #
3223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexMatchSetUpdate AWS API Documentation
3224
+ #
3225
+ class RegexMatchSetUpdate < Struct.new(
3226
+ :action,
3227
+ :regex_match_tuple)
3228
+ include Aws::Structure
3229
+ end
3230
+
3231
+ # The regular expression pattern that you want AWS WAF to search for in
3232
+ # web requests, the location in requests that you want AWS WAF to
3233
+ # search, and other settings. Each `RegexMatchTuple` object contains:
3234
+ #
3235
+ # * The part of a web request that you want AWS WAF to inspect, such as
3236
+ # a query string or the value of the `User-Agent` header.
3237
+ #
3238
+ # * The identifier of the pattern (a regular expression) that you want
3239
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3240
+ #
3241
+ # * Whether to perform any conversions on the request, such as
3242
+ # converting it to lowercase, before inspecting it for the specified
3243
+ # string.
3244
+ #
3245
+ # @note When making an API call, you may pass RegexMatchTuple
3246
+ # data as a hash:
3247
+ #
3248
+ # {
3249
+ # field_to_match: { # required
3250
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3251
+ # data: "MatchFieldData",
3252
+ # },
3253
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3254
+ # regex_pattern_set_id: "ResourceId", # required
3255
+ # }
3256
+ #
3257
+ # @!attribute [rw] field_to_match
3258
+ # Specifies where in a web request to look for the `RegexPatternSet`.
3259
+ # @return [Types::FieldToMatch]
3260
+ #
3261
+ # @!attribute [rw] text_transformation
3262
+ # Text transformations eliminate some of the unusual formatting that
3263
+ # attackers use in web requests in an effort to bypass AWS WAF. If you
3264
+ # specify a transformation, AWS WAF performs the transformation on
3265
+ # `RegexPatternSet` before inspecting a request for a match.
3266
+ #
3267
+ # **CMD\_LINE**
3268
+ #
3269
+ # When you're concerned that attackers are injecting an operating
3270
+ # system commandline command and using unusual formatting to disguise
3271
+ # some or all of the command, use this option to perform the following
3272
+ # transformations:
3273
+ #
3274
+ # * Delete the following characters: \\ " ' ^
3275
+ #
3276
+ # * Delete spaces before the following characters: / (
3277
+ #
3278
+ # * Replace the following characters with a space: , ;
3279
+ #
3280
+ # * Replace multiple spaces with one space
3281
+ #
3282
+ # * Convert uppercase letters (A-Z) to lowercase (a-z)
3283
+ #
3284
+ # **COMPRESS\_WHITE\_SPACE**
3285
+ #
3286
+ # Use this option to replace the following characters with a space
3287
+ # character (decimal 32):
3288
+ #
3289
+ # * \\f, formfeed, decimal 12
3290
+ #
3291
+ # * \\t, tab, decimal 9
3292
+ #
3293
+ # * \\n, newline, decimal 10
3294
+ #
3295
+ # * \\r, carriage return, decimal 13
3296
+ #
3297
+ # * \\v, vertical tab, decimal 11
3298
+ #
3299
+ # * non-breaking space, decimal 160
3300
+ #
3301
+ # `COMPRESS_WHITE_SPACE` also replaces multiple spaces with one space.
3302
+ #
3303
+ # **HTML\_ENTITY\_DECODE**
3304
+ #
3305
+ # Use this option to replace HTML-encoded characters with unencoded
3306
+ # characters. `HTML_ENTITY_DECODE` performs the following operations:
3307
+ #
3308
+ # * Replaces `(ampersand)quot;` with `"`
3309
+ #
3310
+ # * Replaces `(ampersand)nbsp;` with a non-breaking space, decimal 160
3311
+ #
3312
+ # * Replaces `(ampersand)lt;` with a "less than" symbol
3313
+ #
3314
+ # * Replaces `(ampersand)gt;` with `>`
3315
+ #
3316
+ # * Replaces characters that are represented in hexadecimal format,
3317
+ # `(ampersand)#xhhhh;`, with the corresponding characters
3318
+ #
3319
+ # * Replaces characters that are represented in decimal format,
3320
+ # `(ampersand)#nnnn;`, with the corresponding characters
3321
+ #
3322
+ # **LOWERCASE**
3323
+ #
3324
+ # Use this option to convert uppercase letters (A-Z) to lowercase
3325
+ # (a-z).
3326
+ #
3327
+ # **URL\_DECODE**
3328
+ #
3329
+ # Use this option to decode a URL-encoded value.
3330
+ #
3331
+ # **NONE**
3332
+ #
3333
+ # Specify `NONE` if you don't want to perform any text
3334
+ # transformations.
3335
+ # @return [String]
3336
+ #
3337
+ # @!attribute [rw] regex_pattern_set_id
3338
+ # The `RegexPatternSetId` for a `RegexPatternSet`. You use
3339
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`
3340
+ # (see GetRegexPatternSet), update a `RegexPatternSet` (see
3341
+ # UpdateRegexPatternSet), insert a `RegexPatternSet` into a
3342
+ # `RegexMatchSet` or delete one from a `RegexMatchSet` (see
3343
+ # UpdateRegexMatchSet), and delete an `RegexPatternSet` from AWS WAF
3344
+ # (see DeleteRegexPatternSet).
3345
+ #
3346
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
3347
+ # ListRegexPatternSets.
3348
+ # @return [String]
3349
+ #
3350
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexMatchTuple AWS API Documentation
3351
+ #
3352
+ class RegexMatchTuple < Struct.new(
3353
+ :field_to_match,
3354
+ :text_transformation,
3355
+ :regex_pattern_set_id)
3356
+ include Aws::Structure
3357
+ end
3358
+
3359
+ # The `RegexPatternSet` specifies the regular expression (regex) pattern
3360
+ # that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. You can
3361
+ # then configure AWS WAF to reject those requests.
3362
+ #
3363
+ # @!attribute [rw] regex_pattern_set_id
3364
+ # The identifier for the `RegexPatternSet`. You use
3365
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`,
3366
+ # update a `RegexPatternSet`, remove a `RegexPatternSet` from a
3367
+ # `RegexMatchSet`, and delete a `RegexPatternSet` from AWS WAF.
3368
+ #
3369
+ # `RegexMatchSetId` is returned by CreateRegexPatternSet and by
3370
+ # ListRegexPatternSets.
3371
+ # @return [String]
3372
+ #
3373
+ # @!attribute [rw] name
3374
+ # A friendly name or description of the RegexPatternSet. You can't
3375
+ # change `Name` after you create a `RegexPatternSet`.
3376
+ # @return [String]
3377
+ #
3378
+ # @!attribute [rw] regex_pattern_strings
3379
+ # Specifies the regular expression (regex) patterns that you want AWS
3380
+ # WAF to search for, such as `B[a@]dB[o0]t`.
3381
+ # @return [Array<String>]
3382
+ #
3383
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexPatternSet AWS API Documentation
3384
+ #
3385
+ class RegexPatternSet < Struct.new(
3386
+ :regex_pattern_set_id,
3387
+ :name,
3388
+ :regex_pattern_strings)
3389
+ include Aws::Structure
3390
+ end
3391
+
3392
+ # Returned by ListRegexPatternSets. Each `RegexPatternSetSummary` object
3393
+ # includes the `Name` and `RegexPatternSetId` for one RegexPatternSet.
3394
+ #
3395
+ # @!attribute [rw] regex_pattern_set_id
3396
+ # The `RegexPatternSetId` for a `RegexPatternSet`. You use
3397
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`,
3398
+ # update a `RegexPatternSet`, remove a `RegexPatternSet` from a
3399
+ # `RegexMatchSet`, and delete a `RegexPatternSet` from AWS WAF.
3400
+ #
3401
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
3402
+ # ListRegexPatternSets.
3403
+ # @return [String]
3404
+ #
3405
+ # @!attribute [rw] name
3406
+ # A friendly name or description of the RegexPatternSet. You can't
3407
+ # change `Name` after you create a `RegexPatternSet`.
3408
+ # @return [String]
3409
+ #
3410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexPatternSetSummary AWS API Documentation
3411
+ #
3412
+ class RegexPatternSetSummary < Struct.new(
3413
+ :regex_pattern_set_id,
3414
+ :name)
3415
+ include Aws::Structure
3416
+ end
3417
+
3418
+ # In an UpdateRegexPatternSet request, `RegexPatternSetUpdate` specifies
3419
+ # whether to insert or delete a `RegexPatternString` and includes the
3420
+ # settings for the `RegexPatternString`.
3421
+ #
3422
+ # @note When making an API call, you may pass RegexPatternSetUpdate
3423
+ # data as a hash:
3424
+ #
3425
+ # {
3426
+ # action: "INSERT", # required, accepts INSERT, DELETE
3427
+ # regex_pattern_string: "RegexPatternString", # required
3428
+ # }
3429
+ #
3430
+ # @!attribute [rw] action
3431
+ # Specifies whether to insert or delete a `RegexPatternString`.
3432
+ # @return [String]
3433
+ #
3434
+ # @!attribute [rw] regex_pattern_string
3435
+ # Specifies the regular expression (regex) pattern that you want AWS
3436
+ # WAF to search for, such as `B[a@]dB[o0]t`.
3437
+ # @return [String]
3438
+ #
3439
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/RegexPatternSetUpdate AWS API Documentation
3440
+ #
3441
+ class RegexPatternSetUpdate < Struct.new(
3442
+ :action,
3443
+ :regex_pattern_string)
3444
+ include Aws::Structure
3445
+ end
3446
+
2485
3447
  # A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet
2486
3448
  # objects that identify the web requests that you want to allow, block,
2487
3449
  # or count. For example, you might create a `Rule` that includes the
@@ -2571,7 +3533,7 @@ module Aws::WAF
2571
3533
  # action: "INSERT", # required, accepts INSERT, DELETE
2572
3534
  # predicate: { # required
2573
3535
  # negated: false, # required
2574
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3536
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
2575
3537
  # data_id: "ResourceId", # required
2576
3538
  # },
2577
3539
  # }
@@ -3210,6 +4172,69 @@ module Aws::WAF
3210
4172
  include Aws::Structure
3211
4173
  end
3212
4174
 
4175
+ # @note When making an API call, you may pass UpdateGeoMatchSetRequest
4176
+ # data as a hash:
4177
+ #
4178
+ # {
4179
+ # geo_match_set_id: "ResourceId", # required
4180
+ # change_token: "ChangeToken", # required
4181
+ # updates: [ # required
4182
+ # {
4183
+ # action: "INSERT", # required, accepts INSERT, DELETE
4184
+ # geo_match_constraint: { # required
4185
+ # type: "Country", # required, accepts Country
4186
+ # 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
4187
+ # },
4188
+ # },
4189
+ # ],
4190
+ # }
4191
+ #
4192
+ # @!attribute [rw] geo_match_set_id
4193
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to update.
4194
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
4195
+ # ListGeoMatchSets.
4196
+ # @return [String]
4197
+ #
4198
+ # @!attribute [rw] change_token
4199
+ # The value returned by the most recent call to GetChangeToken.
4200
+ # @return [String]
4201
+ #
4202
+ # @!attribute [rw] updates
4203
+ # An array of `GeoMatchSetUpdate` objects that you want to insert into
4204
+ # or delete from an GeoMatchSet. For more information, see the
4205
+ # applicable data types:
4206
+ #
4207
+ # * GeoMatchSetUpdate: Contains `Action` and `GeoMatchConstraint`
4208
+ #
4209
+ # * GeoMatchConstraint: Contains `Type` and `Value`
4210
+ #
4211
+ # You can have only one `Type` and `Value` per `GeoMatchConstraint`.
4212
+ # To add multiple countries, include multiple `GeoMatchSetUpdate`
4213
+ # objects in your request.
4214
+ # @return [Array<Types::GeoMatchSetUpdate>]
4215
+ #
4216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSetRequest AWS API Documentation
4217
+ #
4218
+ class UpdateGeoMatchSetRequest < Struct.new(
4219
+ :geo_match_set_id,
4220
+ :change_token,
4221
+ :updates)
4222
+ include Aws::Structure
4223
+ end
4224
+
4225
+ # @!attribute [rw] change_token
4226
+ # The `ChangeToken` that you used to submit the `UpdateGeoMatchSet`
4227
+ # request. You can also use this value to query the status of the
4228
+ # request. For more information, see GetChangeTokenStatus.
4229
+ # @return [String]
4230
+ #
4231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateGeoMatchSetResponse AWS API Documentation
4232
+ #
4233
+ class UpdateGeoMatchSetResponse < Struct.new(
4234
+ :change_token)
4235
+ include Aws::Structure
4236
+ end
4237
+
3213
4238
  # @note When making an API call, you may pass UpdateIPSetRequest
3214
4239
  # data as a hash:
3215
4240
  #
@@ -3279,7 +4304,7 @@ module Aws::WAF
3279
4304
  # action: "INSERT", # required, accepts INSERT, DELETE
3280
4305
  # predicate: { # required
3281
4306
  # negated: false, # required
3282
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
4307
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3283
4308
  # data_id: "ResourceId", # required
3284
4309
  # },
3285
4310
  # },
@@ -3333,6 +4358,117 @@ module Aws::WAF
3333
4358
  include Aws::Structure
3334
4359
  end
3335
4360
 
4361
+ # @note When making an API call, you may pass UpdateRegexMatchSetRequest
4362
+ # data as a hash:
4363
+ #
4364
+ # {
4365
+ # regex_match_set_id: "ResourceId", # required
4366
+ # updates: [ # required
4367
+ # {
4368
+ # action: "INSERT", # required, accepts INSERT, DELETE
4369
+ # regex_match_tuple: { # required
4370
+ # field_to_match: { # required
4371
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4372
+ # data: "MatchFieldData",
4373
+ # },
4374
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4375
+ # regex_pattern_set_id: "ResourceId", # required
4376
+ # },
4377
+ # },
4378
+ # ],
4379
+ # change_token: "ChangeToken", # required
4380
+ # }
4381
+ #
4382
+ # @!attribute [rw] regex_match_set_id
4383
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to update.
4384
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
4385
+ # ListRegexMatchSets.
4386
+ # @return [String]
4387
+ #
4388
+ # @!attribute [rw] updates
4389
+ # An array of `RegexMatchSetUpdate` objects that you want to insert
4390
+ # into or delete from a RegexMatchSet. For more information, see
4391
+ # RegexMatchTuple.
4392
+ # @return [Array<Types::RegexMatchSetUpdate>]
4393
+ #
4394
+ # @!attribute [rw] change_token
4395
+ # The value returned by the most recent call to GetChangeToken.
4396
+ # @return [String]
4397
+ #
4398
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexMatchSetRequest AWS API Documentation
4399
+ #
4400
+ class UpdateRegexMatchSetRequest < Struct.new(
4401
+ :regex_match_set_id,
4402
+ :updates,
4403
+ :change_token)
4404
+ include Aws::Structure
4405
+ end
4406
+
4407
+ # @!attribute [rw] change_token
4408
+ # The `ChangeToken` that you used to submit the `UpdateRegexMatchSet`
4409
+ # request. You can also use this value to query the status of the
4410
+ # request. For more information, see GetChangeTokenStatus.
4411
+ # @return [String]
4412
+ #
4413
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexMatchSetResponse AWS API Documentation
4414
+ #
4415
+ class UpdateRegexMatchSetResponse < Struct.new(
4416
+ :change_token)
4417
+ include Aws::Structure
4418
+ end
4419
+
4420
+ # @note When making an API call, you may pass UpdateRegexPatternSetRequest
4421
+ # data as a hash:
4422
+ #
4423
+ # {
4424
+ # regex_pattern_set_id: "ResourceId", # required
4425
+ # updates: [ # required
4426
+ # {
4427
+ # action: "INSERT", # required, accepts INSERT, DELETE
4428
+ # regex_pattern_string: "RegexPatternString", # required
4429
+ # },
4430
+ # ],
4431
+ # change_token: "ChangeToken", # required
4432
+ # }
4433
+ #
4434
+ # @!attribute [rw] regex_pattern_set_id
4435
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
4436
+ # update. `RegexPatternSetId` is returned by CreateRegexPatternSet and
4437
+ # by ListRegexPatternSets.
4438
+ # @return [String]
4439
+ #
4440
+ # @!attribute [rw] updates
4441
+ # An array of `RegexPatternSetUpdate` objects that you want to insert
4442
+ # into or delete from a RegexPatternSet.
4443
+ # @return [Array<Types::RegexPatternSetUpdate>]
4444
+ #
4445
+ # @!attribute [rw] change_token
4446
+ # The value returned by the most recent call to GetChangeToken.
4447
+ # @return [String]
4448
+ #
4449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexPatternSetRequest AWS API Documentation
4450
+ #
4451
+ class UpdateRegexPatternSetRequest < Struct.new(
4452
+ :regex_pattern_set_id,
4453
+ :updates,
4454
+ :change_token)
4455
+ include Aws::Structure
4456
+ end
4457
+
4458
+ # @!attribute [rw] change_token
4459
+ # The `ChangeToken` that you used to submit the
4460
+ # `UpdateRegexPatternSet` request. You can also use this value to
4461
+ # query the status of the request. For more information, see
4462
+ # GetChangeTokenStatus.
4463
+ # @return [String]
4464
+ #
4465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-2015-08-24/UpdateRegexPatternSetResponse AWS API Documentation
4466
+ #
4467
+ class UpdateRegexPatternSetResponse < Struct.new(
4468
+ :change_token)
4469
+ include Aws::Structure
4470
+ end
4471
+
3336
4472
  # @note When making an API call, you may pass UpdateRuleRequest
3337
4473
  # data as a hash:
3338
4474
  #
@@ -3344,7 +4480,7 @@ module Aws::WAF
3344
4480
  # action: "INSERT", # required, accepts INSERT, DELETE
3345
4481
  # predicate: { # required
3346
4482
  # negated: false, # required
3347
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
4483
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3348
4484
  # data_id: "ResourceId", # required
3349
4485
  # },
3350
4486
  # },