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.
@@ -472,6 +472,50 @@ module Aws::WAFRegional
472
472
  include Aws::Structure
473
473
  end
474
474
 
475
+ # @note When making an API call, you may pass CreateGeoMatchSetRequest
476
+ # data as a hash:
477
+ #
478
+ # {
479
+ # name: "ResourceName", # required
480
+ # change_token: "ChangeToken", # required
481
+ # }
482
+ #
483
+ # @!attribute [rw] name
484
+ # A friendly name or description of the GeoMatchSet. You can't change
485
+ # `Name` after you create the `GeoMatchSet`.
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] change_token
489
+ # The value returned by the most recent call to GetChangeToken.
490
+ # @return [String]
491
+ #
492
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSetRequest AWS API Documentation
493
+ #
494
+ class CreateGeoMatchSetRequest < Struct.new(
495
+ :name,
496
+ :change_token)
497
+ include Aws::Structure
498
+ end
499
+
500
+ # @!attribute [rw] geo_match_set
501
+ # The GeoMatchSet returned in the `CreateGeoMatchSet` response. The
502
+ # `GeoMatchSet` contains no `GeoMatchConstraints`.
503
+ # @return [Types::GeoMatchSet]
504
+ #
505
+ # @!attribute [rw] change_token
506
+ # The `ChangeToken` that you used to submit the `CreateGeoMatchSet`
507
+ # request. You can also use this value to query the status of the
508
+ # request. For more information, see GetChangeTokenStatus.
509
+ # @return [String]
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateGeoMatchSetResponse AWS API Documentation
512
+ #
513
+ class CreateGeoMatchSetResponse < Struct.new(
514
+ :geo_match_set,
515
+ :change_token)
516
+ include Aws::Structure
517
+ end
518
+
475
519
  # @note When making an API call, you may pass CreateIPSetRequest
476
520
  # data as a hash:
477
521
  #
@@ -590,6 +634,93 @@ module Aws::WAFRegional
590
634
  include Aws::Structure
591
635
  end
592
636
 
637
+ # @note When making an API call, you may pass CreateRegexMatchSetRequest
638
+ # data as a hash:
639
+ #
640
+ # {
641
+ # name: "ResourceName", # required
642
+ # change_token: "ChangeToken", # required
643
+ # }
644
+ #
645
+ # @!attribute [rw] name
646
+ # A friendly name or description of the RegexMatchSet. You can't
647
+ # change `Name` after you create a `RegexMatchSet`.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] change_token
651
+ # The value returned by the most recent call to GetChangeToken.
652
+ # @return [String]
653
+ #
654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSetRequest AWS API Documentation
655
+ #
656
+ class CreateRegexMatchSetRequest < Struct.new(
657
+ :name,
658
+ :change_token)
659
+ include Aws::Structure
660
+ end
661
+
662
+ # @!attribute [rw] regex_match_set
663
+ # A RegexMatchSet that contains no `RegexMatchTuple` objects.
664
+ # @return [Types::RegexMatchSet]
665
+ #
666
+ # @!attribute [rw] change_token
667
+ # The `ChangeToken` that you used to submit the `CreateRegexMatchSet`
668
+ # request. You can also use this value to query the status of the
669
+ # request. For more information, see GetChangeTokenStatus.
670
+ # @return [String]
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexMatchSetResponse AWS API Documentation
673
+ #
674
+ class CreateRegexMatchSetResponse < Struct.new(
675
+ :regex_match_set,
676
+ :change_token)
677
+ include Aws::Structure
678
+ end
679
+
680
+ # @note When making an API call, you may pass CreateRegexPatternSetRequest
681
+ # data as a hash:
682
+ #
683
+ # {
684
+ # name: "ResourceName", # required
685
+ # change_token: "ChangeToken", # required
686
+ # }
687
+ #
688
+ # @!attribute [rw] name
689
+ # A friendly name or description of the RegexPatternSet. You can't
690
+ # change `Name` after you create a `RegexPatternSet`.
691
+ # @return [String]
692
+ #
693
+ # @!attribute [rw] change_token
694
+ # The value returned by the most recent call to GetChangeToken.
695
+ # @return [String]
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSetRequest AWS API Documentation
698
+ #
699
+ class CreateRegexPatternSetRequest < Struct.new(
700
+ :name,
701
+ :change_token)
702
+ include Aws::Structure
703
+ end
704
+
705
+ # @!attribute [rw] regex_pattern_set
706
+ # A RegexPatternSet that contains no objects.
707
+ # @return [Types::RegexPatternSet]
708
+ #
709
+ # @!attribute [rw] change_token
710
+ # The `ChangeToken` that you used to submit the
711
+ # `CreateRegexPatternSet` request. You can also use this value to
712
+ # query the status of the request. For more information, see
713
+ # GetChangeTokenStatus.
714
+ # @return [String]
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRegexPatternSetResponse AWS API Documentation
717
+ #
718
+ class CreateRegexPatternSetResponse < Struct.new(
719
+ :regex_pattern_set,
720
+ :change_token)
721
+ include Aws::Structure
722
+ end
723
+
593
724
  # @note When making an API call, you may pass CreateRuleRequest
594
725
  # data as a hash:
595
726
  #
@@ -884,6 +1015,45 @@ module Aws::WAFRegional
884
1015
  include Aws::Structure
885
1016
  end
886
1017
 
1018
+ # @note When making an API call, you may pass DeleteGeoMatchSetRequest
1019
+ # data as a hash:
1020
+ #
1021
+ # {
1022
+ # geo_match_set_id: "ResourceId", # required
1023
+ # change_token: "ChangeToken", # required
1024
+ # }
1025
+ #
1026
+ # @!attribute [rw] geo_match_set_id
1027
+ # The `GeoMatchSetID` of the GeoMatchSet that you want to delete.
1028
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1029
+ # ListGeoMatchSets.
1030
+ # @return [String]
1031
+ #
1032
+ # @!attribute [rw] change_token
1033
+ # The value returned by the most recent call to GetChangeToken.
1034
+ # @return [String]
1035
+ #
1036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSetRequest AWS API Documentation
1037
+ #
1038
+ class DeleteGeoMatchSetRequest < Struct.new(
1039
+ :geo_match_set_id,
1040
+ :change_token)
1041
+ include Aws::Structure
1042
+ end
1043
+
1044
+ # @!attribute [rw] change_token
1045
+ # The `ChangeToken` that you used to submit the `DeleteGeoMatchSet`
1046
+ # request. You can also use this value to query the status of the
1047
+ # request. For more information, see GetChangeTokenStatus.
1048
+ # @return [String]
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteGeoMatchSetResponse AWS API Documentation
1051
+ #
1052
+ class DeleteGeoMatchSetResponse < Struct.new(
1053
+ :change_token)
1054
+ include Aws::Structure
1055
+ end
1056
+
887
1057
  # @note When making an API call, you may pass DeleteIPSetRequest
888
1058
  # data as a hash:
889
1059
  #
@@ -960,6 +1130,85 @@ module Aws::WAFRegional
960
1130
  include Aws::Structure
961
1131
  end
962
1132
 
1133
+ # @note When making an API call, you may pass DeleteRegexMatchSetRequest
1134
+ # data as a hash:
1135
+ #
1136
+ # {
1137
+ # regex_match_set_id: "ResourceId", # required
1138
+ # change_token: "ChangeToken", # required
1139
+ # }
1140
+ #
1141
+ # @!attribute [rw] regex_match_set_id
1142
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to delete.
1143
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1144
+ # ListRegexMatchSets.
1145
+ # @return [String]
1146
+ #
1147
+ # @!attribute [rw] change_token
1148
+ # The value returned by the most recent call to GetChangeToken.
1149
+ # @return [String]
1150
+ #
1151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSetRequest AWS API Documentation
1152
+ #
1153
+ class DeleteRegexMatchSetRequest < Struct.new(
1154
+ :regex_match_set_id,
1155
+ :change_token)
1156
+ include Aws::Structure
1157
+ end
1158
+
1159
+ # @!attribute [rw] change_token
1160
+ # The `ChangeToken` that you used to submit the `DeleteRegexMatchSet`
1161
+ # request. You can also use this value to query the status of the
1162
+ # request. For more information, see GetChangeTokenStatus.
1163
+ # @return [String]
1164
+ #
1165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexMatchSetResponse AWS API Documentation
1166
+ #
1167
+ class DeleteRegexMatchSetResponse < Struct.new(
1168
+ :change_token)
1169
+ include Aws::Structure
1170
+ end
1171
+
1172
+ # @note When making an API call, you may pass DeleteRegexPatternSetRequest
1173
+ # data as a hash:
1174
+ #
1175
+ # {
1176
+ # regex_pattern_set_id: "ResourceId", # required
1177
+ # change_token: "ChangeToken", # required
1178
+ # }
1179
+ #
1180
+ # @!attribute [rw] regex_pattern_set_id
1181
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
1182
+ # delete. `RegexPatternSetId` is returned by CreateRegexPatternSet and
1183
+ # by ListRegexPatternSets.
1184
+ # @return [String]
1185
+ #
1186
+ # @!attribute [rw] change_token
1187
+ # The value returned by the most recent call to GetChangeToken.
1188
+ # @return [String]
1189
+ #
1190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSetRequest AWS API Documentation
1191
+ #
1192
+ class DeleteRegexPatternSetRequest < Struct.new(
1193
+ :regex_pattern_set_id,
1194
+ :change_token)
1195
+ include Aws::Structure
1196
+ end
1197
+
1198
+ # @!attribute [rw] change_token
1199
+ # The `ChangeToken` that you used to submit the
1200
+ # `DeleteRegexPatternSet` request. You can also use this value to
1201
+ # query the status of the request. For more information, see
1202
+ # GetChangeTokenStatus.
1203
+ # @return [String]
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRegexPatternSetResponse AWS API Documentation
1206
+ #
1207
+ class DeleteRegexPatternSetResponse < Struct.new(
1208
+ :change_token)
1209
+ include Aws::Structure
1210
+ end
1211
+
963
1212
  # @note When making an API call, you may pass DeleteRuleRequest
964
1213
  # data as a hash:
965
1214
  #
@@ -1243,6 +1492,119 @@ module Aws::WAFRegional
1243
1492
  include Aws::Structure
1244
1493
  end
1245
1494
 
1495
+ # The country from which web requests originate that you want AWS WAF to
1496
+ # search for.
1497
+ #
1498
+ # @note When making an API call, you may pass GeoMatchConstraint
1499
+ # data as a hash:
1500
+ #
1501
+ # {
1502
+ # type: "Country", # required, accepts Country
1503
+ # 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
1504
+ # }
1505
+ #
1506
+ # @!attribute [rw] type
1507
+ # The type of geographical area you want AWS WAF to search for.
1508
+ # Currently `Country` is the only valid value.
1509
+ # @return [String]
1510
+ #
1511
+ # @!attribute [rw] value
1512
+ # The country that you want AWS WAF to search for.
1513
+ # @return [String]
1514
+ #
1515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GeoMatchConstraint AWS API Documentation
1516
+ #
1517
+ class GeoMatchConstraint < Struct.new(
1518
+ :type,
1519
+ :value)
1520
+ include Aws::Structure
1521
+ end
1522
+
1523
+ # Contains one or more countries that AWS WAF will search for.
1524
+ #
1525
+ # @!attribute [rw] geo_match_set_id
1526
+ # The `GeoMatchSetId` for an `GeoMatchSet`. You use `GeoMatchSetId` to
1527
+ # get information about a `GeoMatchSet` (see GeoMatchSet), update a
1528
+ # `GeoMatchSet` (see UpdateGeoMatchSet), insert a `GeoMatchSet` into a
1529
+ # `Rule` or delete one from a `Rule` (see UpdateRule), and delete a
1530
+ # `GeoMatchSet` from AWS WAF (see DeleteGeoMatchSet).
1531
+ #
1532
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1533
+ # ListGeoMatchSets.
1534
+ # @return [String]
1535
+ #
1536
+ # @!attribute [rw] name
1537
+ # A friendly name or description of the GeoMatchSet. You can't change
1538
+ # the name of an `GeoMatchSet` after you create it.
1539
+ # @return [String]
1540
+ #
1541
+ # @!attribute [rw] geo_match_constraints
1542
+ # An array of GeoMatchConstraint objects, which contain the country
1543
+ # that you want AWS WAF to search for.
1544
+ # @return [Array<Types::GeoMatchConstraint>]
1545
+ #
1546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GeoMatchSet AWS API Documentation
1547
+ #
1548
+ class GeoMatchSet < Struct.new(
1549
+ :geo_match_set_id,
1550
+ :name,
1551
+ :geo_match_constraints)
1552
+ include Aws::Structure
1553
+ end
1554
+
1555
+ # Contains the identifier and the name of the `GeoMatchSet`.
1556
+ #
1557
+ # @!attribute [rw] geo_match_set_id
1558
+ # The `GeoMatchSetId` for an GeoMatchSet. You can use `GeoMatchSetId`
1559
+ # in a GetGeoMatchSet request to get detailed information about an
1560
+ # GeoMatchSet.
1561
+ # @return [String]
1562
+ #
1563
+ # @!attribute [rw] name
1564
+ # A friendly name or description of the GeoMatchSet. You can't change
1565
+ # the name of an `GeoMatchSet` after you create it.
1566
+ # @return [String]
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GeoMatchSetSummary AWS API Documentation
1569
+ #
1570
+ class GeoMatchSetSummary < Struct.new(
1571
+ :geo_match_set_id,
1572
+ :name)
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # Specifies the type of update to perform to an GeoMatchSet with
1577
+ # UpdateGeoMatchSet.
1578
+ #
1579
+ # @note When making an API call, you may pass GeoMatchSetUpdate
1580
+ # data as a hash:
1581
+ #
1582
+ # {
1583
+ # action: "INSERT", # required, accepts INSERT, DELETE
1584
+ # geo_match_constraint: { # required
1585
+ # type: "Country", # required, accepts Country
1586
+ # 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
1587
+ # },
1588
+ # }
1589
+ #
1590
+ # @!attribute [rw] action
1591
+ # Specifies whether to insert or delete a country with
1592
+ # UpdateGeoMatchSet.
1593
+ # @return [String]
1594
+ #
1595
+ # @!attribute [rw] geo_match_constraint
1596
+ # The country from which web requests originate that you want AWS WAF
1597
+ # to search for.
1598
+ # @return [Types::GeoMatchConstraint]
1599
+ #
1600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GeoMatchSetUpdate AWS API Documentation
1601
+ #
1602
+ class GeoMatchSetUpdate < Struct.new(
1603
+ :action,
1604
+ :geo_match_constraint)
1605
+ include Aws::Structure
1606
+ end
1607
+
1246
1608
  # @note When making an API call, you may pass GetByteMatchSetRequest
1247
1609
  # data as a hash:
1248
1610
  #
@@ -1334,6 +1696,40 @@ module Aws::WAFRegional
1334
1696
  include Aws::Structure
1335
1697
  end
1336
1698
 
1699
+ # @note When making an API call, you may pass GetGeoMatchSetRequest
1700
+ # data as a hash:
1701
+ #
1702
+ # {
1703
+ # geo_match_set_id: "ResourceId", # required
1704
+ # }
1705
+ #
1706
+ # @!attribute [rw] geo_match_set_id
1707
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to get.
1708
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
1709
+ # ListGeoMatchSets.
1710
+ # @return [String]
1711
+ #
1712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSetRequest AWS API Documentation
1713
+ #
1714
+ class GetGeoMatchSetRequest < Struct.new(
1715
+ :geo_match_set_id)
1716
+ include Aws::Structure
1717
+ end
1718
+
1719
+ # @!attribute [rw] geo_match_set
1720
+ # Information about the GeoMatchSet that you specified in the
1721
+ # `GetGeoMatchSet` request. This includes the `Type`, which for a
1722
+ # `GeoMatchContraint` is always `Country`, as well as the `Value`,
1723
+ # which is the identifier for a specific country.
1724
+ # @return [Types::GeoMatchSet]
1725
+ #
1726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetGeoMatchSetResponse AWS API Documentation
1727
+ #
1728
+ class GetGeoMatchSetResponse < Struct.new(
1729
+ :geo_match_set)
1730
+ include Aws::Structure
1731
+ end
1732
+
1337
1733
  # @note When making an API call, you may pass GetIPSetRequest
1338
1734
  # data as a hash:
1339
1735
  #
@@ -1445,16 +1841,83 @@ module Aws::WAFRegional
1445
1841
  include Aws::Structure
1446
1842
  end
1447
1843
 
1448
- # @note When making an API call, you may pass GetRuleRequest
1844
+ # @note When making an API call, you may pass GetRegexMatchSetRequest
1449
1845
  # data as a hash:
1450
1846
  #
1451
1847
  # {
1452
- # rule_id: "ResourceId", # required
1848
+ # regex_match_set_id: "ResourceId", # required
1453
1849
  # }
1454
1850
  #
1455
- # @!attribute [rw] rule_id
1456
- # The `RuleId` of the Rule that you want to get. `RuleId` is returned
1457
- # by CreateRule and by ListRules.
1851
+ # @!attribute [rw] regex_match_set_id
1852
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to get.
1853
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
1854
+ # ListRegexMatchSets.
1855
+ # @return [String]
1856
+ #
1857
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSetRequest AWS API Documentation
1858
+ #
1859
+ class GetRegexMatchSetRequest < Struct.new(
1860
+ :regex_match_set_id)
1861
+ include Aws::Structure
1862
+ end
1863
+
1864
+ # @!attribute [rw] regex_match_set
1865
+ # Information about the RegexMatchSet that you specified in the
1866
+ # `GetRegexMatchSet` request. For more information, see
1867
+ # RegexMatchTuple.
1868
+ # @return [Types::RegexMatchSet]
1869
+ #
1870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexMatchSetResponse AWS API Documentation
1871
+ #
1872
+ class GetRegexMatchSetResponse < Struct.new(
1873
+ :regex_match_set)
1874
+ include Aws::Structure
1875
+ end
1876
+
1877
+ # @note When making an API call, you may pass GetRegexPatternSetRequest
1878
+ # data as a hash:
1879
+ #
1880
+ # {
1881
+ # regex_pattern_set_id: "ResourceId", # required
1882
+ # }
1883
+ #
1884
+ # @!attribute [rw] regex_pattern_set_id
1885
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to get.
1886
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
1887
+ # ListRegexPatternSets.
1888
+ # @return [String]
1889
+ #
1890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSetRequest AWS API Documentation
1891
+ #
1892
+ class GetRegexPatternSetRequest < Struct.new(
1893
+ :regex_pattern_set_id)
1894
+ include Aws::Structure
1895
+ end
1896
+
1897
+ # @!attribute [rw] regex_pattern_set
1898
+ # Information about the RegexPatternSet that you specified in the
1899
+ # `GetRegexPatternSet` request, including the identifier of the
1900
+ # pattern set and the regular expression patterns you want AWS WAF to
1901
+ # search for.
1902
+ # @return [Types::RegexPatternSet]
1903
+ #
1904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRegexPatternSetResponse AWS API Documentation
1905
+ #
1906
+ class GetRegexPatternSetResponse < Struct.new(
1907
+ :regex_pattern_set)
1908
+ include Aws::Structure
1909
+ end
1910
+
1911
+ # @note When making an API call, you may pass GetRuleRequest
1912
+ # data as a hash:
1913
+ #
1914
+ # {
1915
+ # rule_id: "ResourceId", # required
1916
+ # }
1917
+ #
1918
+ # @!attribute [rw] rule_id
1919
+ # The `RuleId` of the Rule that you want to get. `RuleId` is returned
1920
+ # by CreateRule and by ListRules.
1458
1921
  # @return [String]
1459
1922
  #
1460
1923
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleRequest AWS API Documentation
@@ -2061,6 +2524,60 @@ module Aws::WAFRegional
2061
2524
  include Aws::Structure
2062
2525
  end
2063
2526
 
2527
+ # @note When making an API call, you may pass ListGeoMatchSetsRequest
2528
+ # data as a hash:
2529
+ #
2530
+ # {
2531
+ # next_marker: "NextMarker",
2532
+ # limit: 1,
2533
+ # }
2534
+ #
2535
+ # @!attribute [rw] next_marker
2536
+ # If you specify a value for `Limit` and you have more `GeoMatchSet`s
2537
+ # than the value of `Limit`, AWS WAF returns a `NextMarker` value in
2538
+ # the response that allows you to list another group of `GeoMatchSet`
2539
+ # objects. For the second and subsequent `ListGeoMatchSets` requests,
2540
+ # specify the value of `NextMarker` from the previous response to get
2541
+ # information about another batch of `GeoMatchSet` objects.
2542
+ # @return [String]
2543
+ #
2544
+ # @!attribute [rw] limit
2545
+ # Specifies the number of `GeoMatchSet` objects that you want AWS WAF
2546
+ # to return for this request. If you have more `GeoMatchSet` objects
2547
+ # than the number you specify for `Limit`, the response includes a
2548
+ # `NextMarker` value that you can use to get another batch of
2549
+ # `GeoMatchSet` objects.
2550
+ # @return [Integer]
2551
+ #
2552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSetsRequest AWS API Documentation
2553
+ #
2554
+ class ListGeoMatchSetsRequest < Struct.new(
2555
+ :next_marker,
2556
+ :limit)
2557
+ include Aws::Structure
2558
+ end
2559
+
2560
+ # @!attribute [rw] next_marker
2561
+ # If you have more `GeoMatchSet` objects than the number that you
2562
+ # specified for `Limit` in the request, the response includes a
2563
+ # `NextMarker` value. To list more `GeoMatchSet` objects, submit
2564
+ # another `ListGeoMatchSets` request, and specify the `NextMarker`
2565
+ # value from the response in the `NextMarker` value in the next
2566
+ # request.
2567
+ # @return [String]
2568
+ #
2569
+ # @!attribute [rw] geo_match_sets
2570
+ # An array of GeoMatchSetSummary objects.
2571
+ # @return [Array<Types::GeoMatchSetSummary>]
2572
+ #
2573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListGeoMatchSetsResponse AWS API Documentation
2574
+ #
2575
+ class ListGeoMatchSetsResponse < Struct.new(
2576
+ :next_marker,
2577
+ :geo_match_sets)
2578
+ include Aws::Structure
2579
+ end
2580
+
2064
2581
  # @note When making an API call, you may pass ListIPSetsRequest
2065
2582
  # data as a hash:
2066
2583
  #
@@ -2075,7 +2592,7 @@ module Aws::WAFRegional
2075
2592
  # response that allows you to list another group of `IPSets`. For the
2076
2593
  # second and subsequent `ListIPSets` requests, specify the value of
2077
2594
  # `NextMarker` from the previous response to get information about
2078
- # another batch of `ByteMatchSets`.
2595
+ # another batch of `IPSets`.
2079
2596
  # @return [String]
2080
2597
  #
2081
2598
  # @!attribute [rw] limit
@@ -2165,6 +2682,116 @@ module Aws::WAFRegional
2165
2682
  include Aws::Structure
2166
2683
  end
2167
2684
 
2685
+ # @note When making an API call, you may pass ListRegexMatchSetsRequest
2686
+ # data as a hash:
2687
+ #
2688
+ # {
2689
+ # next_marker: "NextMarker",
2690
+ # limit: 1,
2691
+ # }
2692
+ #
2693
+ # @!attribute [rw] next_marker
2694
+ # If you specify a value for `Limit` and you have more `RegexMatchSet`
2695
+ # objects than the value of `Limit`, AWS WAF returns a `NextMarker`
2696
+ # value in the response that allows you to list another group of
2697
+ # `ByteMatchSets`. For the second and subsequent `ListRegexMatchSets`
2698
+ # requests, specify the value of `NextMarker` from the previous
2699
+ # response to get information about another batch of `RegexMatchSet`
2700
+ # objects.
2701
+ # @return [String]
2702
+ #
2703
+ # @!attribute [rw] limit
2704
+ # Specifies the number of `RegexMatchSet` objects that you want AWS
2705
+ # WAF to return for this request. If you have more `RegexMatchSet`
2706
+ # objects than the number you specify for `Limit`, the response
2707
+ # includes a `NextMarker` value that you can use to get another batch
2708
+ # of `RegexMatchSet` objects.
2709
+ # @return [Integer]
2710
+ #
2711
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSetsRequest AWS API Documentation
2712
+ #
2713
+ class ListRegexMatchSetsRequest < Struct.new(
2714
+ :next_marker,
2715
+ :limit)
2716
+ include Aws::Structure
2717
+ end
2718
+
2719
+ # @!attribute [rw] next_marker
2720
+ # If you have more `RegexMatchSet` objects than the number that you
2721
+ # specified for `Limit` in the request, the response includes a
2722
+ # `NextMarker` value. To list more `RegexMatchSet` objects, submit
2723
+ # another `ListRegexMatchSets` request, and specify the `NextMarker`
2724
+ # value from the response in the `NextMarker` value in the next
2725
+ # request.
2726
+ # @return [String]
2727
+ #
2728
+ # @!attribute [rw] regex_match_sets
2729
+ # An array of RegexMatchSetSummary objects.
2730
+ # @return [Array<Types::RegexMatchSetSummary>]
2731
+ #
2732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexMatchSetsResponse AWS API Documentation
2733
+ #
2734
+ class ListRegexMatchSetsResponse < Struct.new(
2735
+ :next_marker,
2736
+ :regex_match_sets)
2737
+ include Aws::Structure
2738
+ end
2739
+
2740
+ # @note When making an API call, you may pass ListRegexPatternSetsRequest
2741
+ # data as a hash:
2742
+ #
2743
+ # {
2744
+ # next_marker: "NextMarker",
2745
+ # limit: 1,
2746
+ # }
2747
+ #
2748
+ # @!attribute [rw] next_marker
2749
+ # If you specify a value for `Limit` and you have more
2750
+ # `RegexPatternSet` objects than the value of `Limit`, AWS WAF returns
2751
+ # a `NextMarker` value in the response that allows you to list another
2752
+ # group of `RegexPatternSet` objects. For the second and subsequent
2753
+ # `ListRegexPatternSets` requests, specify the value of `NextMarker`
2754
+ # from the previous response to get information about another batch of
2755
+ # `RegexPatternSet` objects.
2756
+ # @return [String]
2757
+ #
2758
+ # @!attribute [rw] limit
2759
+ # Specifies the number of `RegexPatternSet` objects that you want AWS
2760
+ # WAF to return for this request. If you have more `RegexPatternSet`
2761
+ # objects than the number you specify for `Limit`, the response
2762
+ # includes a `NextMarker` value that you can use to get another batch
2763
+ # of `RegexPatternSet` objects.
2764
+ # @return [Integer]
2765
+ #
2766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSetsRequest AWS API Documentation
2767
+ #
2768
+ class ListRegexPatternSetsRequest < Struct.new(
2769
+ :next_marker,
2770
+ :limit)
2771
+ include Aws::Structure
2772
+ end
2773
+
2774
+ # @!attribute [rw] next_marker
2775
+ # If you have more `RegexPatternSet` objects than the number that you
2776
+ # specified for `Limit` in the request, the response includes a
2777
+ # `NextMarker` value. To list more `RegexPatternSet` objects, submit
2778
+ # another `ListRegexPatternSets` request, and specify the `NextMarker`
2779
+ # value from the response in the `NextMarker` value in the next
2780
+ # request.
2781
+ # @return [String]
2782
+ #
2783
+ # @!attribute [rw] regex_pattern_sets
2784
+ # An array of RegexPatternSetSummary objects.
2785
+ # @return [Array<Types::RegexPatternSetSummary>]
2786
+ #
2787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRegexPatternSetsResponse AWS API Documentation
2788
+ #
2789
+ class ListRegexPatternSetsResponse < Struct.new(
2790
+ :next_marker,
2791
+ :regex_pattern_sets)
2792
+ include Aws::Structure
2793
+ end
2794
+
2168
2795
  # @note When making an API call, you may pass ListResourcesForWebACLRequest
2169
2796
  # data as a hash:
2170
2797
  #
@@ -2477,33 +3104,34 @@ module Aws::WAFRegional
2477
3104
  end
2478
3105
 
2479
3106
  # Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet,
2480
- # and SizeConstraintSet objects that you want to add to a `Rule` and,
2481
- # for each object, indicates whether you want to negate the settings,
2482
- # for example, requests that do NOT originate from the IP address
2483
- # 192.0.2.44.
3107
+ # RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you
3108
+ # want to add to a `Rule` and, for each object, indicates whether you
3109
+ # want to negate the settings, for example, requests that do NOT
3110
+ # originate from the IP address 192.0.2.44.
2484
3111
  #
2485
3112
  # @note When making an API call, you may pass Predicate
2486
3113
  # data as a hash:
2487
3114
  #
2488
3115
  # {
2489
3116
  # negated: false, # required
2490
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3117
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
2491
3118
  # data_id: "ResourceId", # required
2492
3119
  # }
2493
3120
  #
2494
3121
  # @!attribute [rw] negated
2495
3122
  # Set `Negated` to `False` if you want AWS WAF to allow, block, or
2496
3123
  # count requests based on the settings in the specified ByteMatchSet,
2497
- # IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For
2498
- # example, if an `IPSet` includes the IP address `192.0.2.44`, AWS WAF
2499
- # will allow or block requests based on that IP address.
3124
+ # IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet,
3125
+ # GeoMatchSet, or SizeConstraintSet. For example, if an `IPSet`
3126
+ # includes the IP address `192.0.2.44`, AWS WAF will allow or block
3127
+ # requests based on that IP address.
2500
3128
  #
2501
3129
  # Set `Negated` to `True` if you want AWS WAF to allow or block a
2502
3130
  # request based on the negation of the settings in the ByteMatchSet,
2503
- # IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For
2504
- # example, if an `IPSet` includes the IP address `192.0.2.44`, AWS WAF
2505
- # will allow, block, or count requests based on all IP addresses
2506
- # *except* `192.0.2.44`.
3131
+ # IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet,
3132
+ # GeoMatchSet, or SizeConstraintSet. For example, if an `IPSet`
3133
+ # includes the IP address `192.0.2.44`, AWS WAF will allow, block, or
3134
+ # count requests based on all IP addresses *except* `192.0.2.44`.
2507
3135
  # @return [Boolean]
2508
3136
  #
2509
3137
  # @!attribute [rw] type
@@ -2597,6 +3225,340 @@ module Aws::WAFRegional
2597
3225
  include Aws::Structure
2598
3226
  end
2599
3227
 
3228
+ # In a GetRegexMatchSet request, `RegexMatchSet` is a complex type that
3229
+ # contains the `RegexMatchSetId` and `Name` of a `RegexMatchSet`, and
3230
+ # the values that you specified when you updated the `RegexMatchSet`.
3231
+ #
3232
+ # The values are contained in a `RegexMatchTuple` object, which specify
3233
+ # the parts of web requests that you want AWS WAF to inspect and the
3234
+ # values that you want AWS WAF to search for. If a `RegexMatchSet`
3235
+ # contains more than one `RegexMatchTuple` object, a request needs to
3236
+ # match the settings in only one `ByteMatchTuple` to be considered a
3237
+ # match.
3238
+ #
3239
+ # @!attribute [rw] regex_match_set_id
3240
+ # The `RegexMatchSetId` for a `RegexMatchSet`. You use
3241
+ # `RegexMatchSetId` to get information about a `RegexMatchSet` (see
3242
+ # GetRegexMatchSet), update a `RegexMatchSet` (see
3243
+ # UpdateRegexMatchSet), insert a `RegexMatchSet` into a `Rule` or
3244
+ # delete one from a `Rule` (see UpdateRule), and delete a
3245
+ # `RegexMatchSet` from AWS WAF (see DeleteRegexMatchSet).
3246
+ #
3247
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3248
+ # ListRegexMatchSets.
3249
+ # @return [String]
3250
+ #
3251
+ # @!attribute [rw] name
3252
+ # A friendly name or description of the RegexMatchSet. You can't
3253
+ # change `Name` after you create a `RegexMatchSet`.
3254
+ # @return [String]
3255
+ #
3256
+ # @!attribute [rw] regex_match_tuples
3257
+ # Contains an array of RegexMatchTuple objects. Each `RegexMatchTuple`
3258
+ # object contains:
3259
+ #
3260
+ # * The part of a web request that you want AWS WAF to inspect, such
3261
+ # as a query string or the value of the `User-Agent` header.
3262
+ #
3263
+ # * The identifier of the pattern (a regular expression) that you want
3264
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3265
+ #
3266
+ # * Whether to perform any conversions on the request, such as
3267
+ # converting it to lowercase, before inspecting it for the specified
3268
+ # string.
3269
+ # @return [Array<Types::RegexMatchTuple>]
3270
+ #
3271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexMatchSet AWS API Documentation
3272
+ #
3273
+ class RegexMatchSet < Struct.new(
3274
+ :regex_match_set_id,
3275
+ :name,
3276
+ :regex_match_tuples)
3277
+ include Aws::Structure
3278
+ end
3279
+
3280
+ # Returned by ListRegexMatchSets. Each `RegexMatchSetSummary` object
3281
+ # includes the `Name` and `RegexMatchSetId` for one RegexMatchSet.
3282
+ #
3283
+ # @!attribute [rw] regex_match_set_id
3284
+ # The `RegexMatchSetId` for a `RegexMatchSet`. You use
3285
+ # `RegexMatchSetId` to get information about a `RegexMatchSet`, update
3286
+ # a `RegexMatchSet`, remove a `RegexMatchSet` from a `Rule`, and
3287
+ # delete a `RegexMatchSet` from AWS WAF.
3288
+ #
3289
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
3290
+ # ListRegexMatchSets.
3291
+ # @return [String]
3292
+ #
3293
+ # @!attribute [rw] name
3294
+ # A friendly name or description of the RegexMatchSet. You can't
3295
+ # change `Name` after you create a `RegexMatchSet`.
3296
+ # @return [String]
3297
+ #
3298
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexMatchSetSummary AWS API Documentation
3299
+ #
3300
+ class RegexMatchSetSummary < Struct.new(
3301
+ :regex_match_set_id,
3302
+ :name)
3303
+ include Aws::Structure
3304
+ end
3305
+
3306
+ # In an UpdateRegexMatchSet request, `RegexMatchSetUpdate` specifies
3307
+ # whether to insert or delete a RegexMatchTuple and includes the
3308
+ # settings for the `RegexMatchTuple`.
3309
+ #
3310
+ # @note When making an API call, you may pass RegexMatchSetUpdate
3311
+ # data as a hash:
3312
+ #
3313
+ # {
3314
+ # action: "INSERT", # required, accepts INSERT, DELETE
3315
+ # regex_match_tuple: { # required
3316
+ # field_to_match: { # required
3317
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3318
+ # data: "MatchFieldData",
3319
+ # },
3320
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3321
+ # regex_pattern_set_id: "ResourceId", # required
3322
+ # },
3323
+ # }
3324
+ #
3325
+ # @!attribute [rw] action
3326
+ # Specifies whether to insert or delete a RegexMatchTuple.
3327
+ # @return [String]
3328
+ #
3329
+ # @!attribute [rw] regex_match_tuple
3330
+ # Information about the part of a web request that you want AWS WAF to
3331
+ # inspect and the identifier of the regular expression (regex) pattern
3332
+ # that you want AWS WAF to search for. If you specify `DELETE` for the
3333
+ # value of `Action`, the `RegexMatchTuple` values must exactly match
3334
+ # the values in the `RegexMatchTuple` that you want to delete from the
3335
+ # `RegexMatchSet`.
3336
+ # @return [Types::RegexMatchTuple]
3337
+ #
3338
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexMatchSetUpdate AWS API Documentation
3339
+ #
3340
+ class RegexMatchSetUpdate < Struct.new(
3341
+ :action,
3342
+ :regex_match_tuple)
3343
+ include Aws::Structure
3344
+ end
3345
+
3346
+ # The regular expression pattern that you want AWS WAF to search for in
3347
+ # web requests, the location in requests that you want AWS WAF to
3348
+ # search, and other settings. Each `RegexMatchTuple` object contains:
3349
+ #
3350
+ # * The part of a web request that you want AWS WAF to inspect, such as
3351
+ # a query string or the value of the `User-Agent` header.
3352
+ #
3353
+ # * The identifier of the pattern (a regular expression) that you want
3354
+ # AWS WAF to look for. For more information, see RegexPatternSet.
3355
+ #
3356
+ # * Whether to perform any conversions on the request, such as
3357
+ # converting it to lowercase, before inspecting it for the specified
3358
+ # string.
3359
+ #
3360
+ # @note When making an API call, you may pass RegexMatchTuple
3361
+ # data as a hash:
3362
+ #
3363
+ # {
3364
+ # field_to_match: { # required
3365
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
3366
+ # data: "MatchFieldData",
3367
+ # },
3368
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
3369
+ # regex_pattern_set_id: "ResourceId", # required
3370
+ # }
3371
+ #
3372
+ # @!attribute [rw] field_to_match
3373
+ # Specifies where in a web request to look for the `RegexPatternSet`.
3374
+ # @return [Types::FieldToMatch]
3375
+ #
3376
+ # @!attribute [rw] text_transformation
3377
+ # Text transformations eliminate some of the unusual formatting that
3378
+ # attackers use in web requests in an effort to bypass AWS WAF. If you
3379
+ # specify a transformation, AWS WAF performs the transformation on
3380
+ # `RegexPatternSet` before inspecting a request for a match.
3381
+ #
3382
+ # **CMD\_LINE**
3383
+ #
3384
+ # When you're concerned that attackers are injecting an operating
3385
+ # system commandline command and using unusual formatting to disguise
3386
+ # some or all of the command, use this option to perform the following
3387
+ # transformations:
3388
+ #
3389
+ # * Delete the following characters: \\ " ' ^
3390
+ #
3391
+ # * Delete spaces before the following characters: / (
3392
+ #
3393
+ # * Replace the following characters with a space: , ;
3394
+ #
3395
+ # * Replace multiple spaces with one space
3396
+ #
3397
+ # * Convert uppercase letters (A-Z) to lowercase (a-z)
3398
+ #
3399
+ # **COMPRESS\_WHITE\_SPACE**
3400
+ #
3401
+ # Use this option to replace the following characters with a space
3402
+ # character (decimal 32):
3403
+ #
3404
+ # * \\f, formfeed, decimal 12
3405
+ #
3406
+ # * \\t, tab, decimal 9
3407
+ #
3408
+ # * \\n, newline, decimal 10
3409
+ #
3410
+ # * \\r, carriage return, decimal 13
3411
+ #
3412
+ # * \\v, vertical tab, decimal 11
3413
+ #
3414
+ # * non-breaking space, decimal 160
3415
+ #
3416
+ # `COMPRESS_WHITE_SPACE` also replaces multiple spaces with one space.
3417
+ #
3418
+ # **HTML\_ENTITY\_DECODE**
3419
+ #
3420
+ # Use this option to replace HTML-encoded characters with unencoded
3421
+ # characters. `HTML_ENTITY_DECODE` performs the following operations:
3422
+ #
3423
+ # * Replaces `(ampersand)quot;` with `"`
3424
+ #
3425
+ # * Replaces `(ampersand)nbsp;` with a non-breaking space, decimal 160
3426
+ #
3427
+ # * Replaces `(ampersand)lt;` with a "less than" symbol
3428
+ #
3429
+ # * Replaces `(ampersand)gt;` with `>`
3430
+ #
3431
+ # * Replaces characters that are represented in hexadecimal format,
3432
+ # `(ampersand)#xhhhh;`, with the corresponding characters
3433
+ #
3434
+ # * Replaces characters that are represented in decimal format,
3435
+ # `(ampersand)#nnnn;`, with the corresponding characters
3436
+ #
3437
+ # **LOWERCASE**
3438
+ #
3439
+ # Use this option to convert uppercase letters (A-Z) to lowercase
3440
+ # (a-z).
3441
+ #
3442
+ # **URL\_DECODE**
3443
+ #
3444
+ # Use this option to decode a URL-encoded value.
3445
+ #
3446
+ # **NONE**
3447
+ #
3448
+ # Specify `NONE` if you don't want to perform any text
3449
+ # transformations.
3450
+ # @return [String]
3451
+ #
3452
+ # @!attribute [rw] regex_pattern_set_id
3453
+ # The `RegexPatternSetId` for a `RegexPatternSet`. You use
3454
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`
3455
+ # (see GetRegexPatternSet), update a `RegexPatternSet` (see
3456
+ # UpdateRegexPatternSet), insert a `RegexPatternSet` into a
3457
+ # `RegexMatchSet` or delete one from a `RegexMatchSet` (see
3458
+ # UpdateRegexMatchSet), and delete an `RegexPatternSet` from AWS WAF
3459
+ # (see DeleteRegexPatternSet).
3460
+ #
3461
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
3462
+ # ListRegexPatternSets.
3463
+ # @return [String]
3464
+ #
3465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexMatchTuple AWS API Documentation
3466
+ #
3467
+ class RegexMatchTuple < Struct.new(
3468
+ :field_to_match,
3469
+ :text_transformation,
3470
+ :regex_pattern_set_id)
3471
+ include Aws::Structure
3472
+ end
3473
+
3474
+ # The `RegexPatternSet` specifies the regular expression (regex) pattern
3475
+ # that you want AWS WAF to search for, such as `B[a@]dB[o0]t`. You can
3476
+ # then configure AWS WAF to reject those requests.
3477
+ #
3478
+ # @!attribute [rw] regex_pattern_set_id
3479
+ # The identifier for the `RegexPatternSet`. You use
3480
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`,
3481
+ # update a `RegexPatternSet`, remove a `RegexPatternSet` from a
3482
+ # `RegexMatchSet`, and delete a `RegexPatternSet` from AWS WAF.
3483
+ #
3484
+ # `RegexMatchSetId` is returned by CreateRegexPatternSet and by
3485
+ # ListRegexPatternSets.
3486
+ # @return [String]
3487
+ #
3488
+ # @!attribute [rw] name
3489
+ # A friendly name or description of the RegexPatternSet. You can't
3490
+ # change `Name` after you create a `RegexPatternSet`.
3491
+ # @return [String]
3492
+ #
3493
+ # @!attribute [rw] regex_pattern_strings
3494
+ # Specifies the regular expression (regex) patterns that you want AWS
3495
+ # WAF to search for, such as `B[a@]dB[o0]t`.
3496
+ # @return [Array<String>]
3497
+ #
3498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexPatternSet AWS API Documentation
3499
+ #
3500
+ class RegexPatternSet < Struct.new(
3501
+ :regex_pattern_set_id,
3502
+ :name,
3503
+ :regex_pattern_strings)
3504
+ include Aws::Structure
3505
+ end
3506
+
3507
+ # Returned by ListRegexPatternSets. Each `RegexPatternSetSummary` object
3508
+ # includes the `Name` and `RegexPatternSetId` for one RegexPatternSet.
3509
+ #
3510
+ # @!attribute [rw] regex_pattern_set_id
3511
+ # The `RegexPatternSetId` for a `RegexPatternSet`. You use
3512
+ # `RegexPatternSetId` to get information about a `RegexPatternSet`,
3513
+ # update a `RegexPatternSet`, remove a `RegexPatternSet` from a
3514
+ # `RegexMatchSet`, and delete a `RegexPatternSet` from AWS WAF.
3515
+ #
3516
+ # `RegexPatternSetId` is returned by CreateRegexPatternSet and by
3517
+ # ListRegexPatternSets.
3518
+ # @return [String]
3519
+ #
3520
+ # @!attribute [rw] name
3521
+ # A friendly name or description of the RegexPatternSet. You can't
3522
+ # change `Name` after you create a `RegexPatternSet`.
3523
+ # @return [String]
3524
+ #
3525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexPatternSetSummary AWS API Documentation
3526
+ #
3527
+ class RegexPatternSetSummary < Struct.new(
3528
+ :regex_pattern_set_id,
3529
+ :name)
3530
+ include Aws::Structure
3531
+ end
3532
+
3533
+ # In an UpdateRegexPatternSet request, `RegexPatternSetUpdate` specifies
3534
+ # whether to insert or delete a `RegexPatternString` and includes the
3535
+ # settings for the `RegexPatternString`.
3536
+ #
3537
+ # @note When making an API call, you may pass RegexPatternSetUpdate
3538
+ # data as a hash:
3539
+ #
3540
+ # {
3541
+ # action: "INSERT", # required, accepts INSERT, DELETE
3542
+ # regex_pattern_string: "RegexPatternString", # required
3543
+ # }
3544
+ #
3545
+ # @!attribute [rw] action
3546
+ # Specifies whether to insert or delete a `RegexPatternString`.
3547
+ # @return [String]
3548
+ #
3549
+ # @!attribute [rw] regex_pattern_string
3550
+ # Specifies the regular expression (regex) pattern that you want AWS
3551
+ # WAF to search for, such as `B[a@]dB[o0]t`.
3552
+ # @return [String]
3553
+ #
3554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RegexPatternSetUpdate AWS API Documentation
3555
+ #
3556
+ class RegexPatternSetUpdate < Struct.new(
3557
+ :action,
3558
+ :regex_pattern_string)
3559
+ include Aws::Structure
3560
+ end
3561
+
2600
3562
  # A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet
2601
3563
  # objects that identify the web requests that you want to allow, block,
2602
3564
  # or count. For example, you might create a `Rule` that includes the
@@ -2686,7 +3648,7 @@ module Aws::WAFRegional
2686
3648
  # action: "INSERT", # required, accepts INSERT, DELETE
2687
3649
  # predicate: { # required
2688
3650
  # negated: false, # required
2689
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
3651
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
2690
3652
  # data_id: "ResourceId", # required
2691
3653
  # },
2692
3654
  # }
@@ -3325,6 +4287,69 @@ module Aws::WAFRegional
3325
4287
  include Aws::Structure
3326
4288
  end
3327
4289
 
4290
+ # @note When making an API call, you may pass UpdateGeoMatchSetRequest
4291
+ # data as a hash:
4292
+ #
4293
+ # {
4294
+ # geo_match_set_id: "ResourceId", # required
4295
+ # change_token: "ChangeToken", # required
4296
+ # updates: [ # required
4297
+ # {
4298
+ # action: "INSERT", # required, accepts INSERT, DELETE
4299
+ # geo_match_constraint: { # required
4300
+ # type: "Country", # required, accepts Country
4301
+ # 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
4302
+ # },
4303
+ # },
4304
+ # ],
4305
+ # }
4306
+ #
4307
+ # @!attribute [rw] geo_match_set_id
4308
+ # The `GeoMatchSetId` of the GeoMatchSet that you want to update.
4309
+ # `GeoMatchSetId` is returned by CreateGeoMatchSet and by
4310
+ # ListGeoMatchSets.
4311
+ # @return [String]
4312
+ #
4313
+ # @!attribute [rw] change_token
4314
+ # The value returned by the most recent call to GetChangeToken.
4315
+ # @return [String]
4316
+ #
4317
+ # @!attribute [rw] updates
4318
+ # An array of `GeoMatchSetUpdate` objects that you want to insert into
4319
+ # or delete from an GeoMatchSet. For more information, see the
4320
+ # applicable data types:
4321
+ #
4322
+ # * GeoMatchSetUpdate: Contains `Action` and `GeoMatchConstraint`
4323
+ #
4324
+ # * GeoMatchConstraint: Contains `Type` and `Value`
4325
+ #
4326
+ # You can have only one `Type` and `Value` per `GeoMatchConstraint`.
4327
+ # To add multiple countries, include multiple `GeoMatchSetUpdate`
4328
+ # objects in your request.
4329
+ # @return [Array<Types::GeoMatchSetUpdate>]
4330
+ #
4331
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSetRequest AWS API Documentation
4332
+ #
4333
+ class UpdateGeoMatchSetRequest < Struct.new(
4334
+ :geo_match_set_id,
4335
+ :change_token,
4336
+ :updates)
4337
+ include Aws::Structure
4338
+ end
4339
+
4340
+ # @!attribute [rw] change_token
4341
+ # The `ChangeToken` that you used to submit the `UpdateGeoMatchSet`
4342
+ # request. You can also use this value to query the status of the
4343
+ # request. For more information, see GetChangeTokenStatus.
4344
+ # @return [String]
4345
+ #
4346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateGeoMatchSetResponse AWS API Documentation
4347
+ #
4348
+ class UpdateGeoMatchSetResponse < Struct.new(
4349
+ :change_token)
4350
+ include Aws::Structure
4351
+ end
4352
+
3328
4353
  # @note When making an API call, you may pass UpdateIPSetRequest
3329
4354
  # data as a hash:
3330
4355
  #
@@ -3394,7 +4419,7 @@ module Aws::WAFRegional
3394
4419
  # action: "INSERT", # required, accepts INSERT, DELETE
3395
4420
  # predicate: { # required
3396
4421
  # negated: false, # required
3397
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
4422
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3398
4423
  # data_id: "ResourceId", # required
3399
4424
  # },
3400
4425
  # },
@@ -3448,6 +4473,117 @@ module Aws::WAFRegional
3448
4473
  include Aws::Structure
3449
4474
  end
3450
4475
 
4476
+ # @note When making an API call, you may pass UpdateRegexMatchSetRequest
4477
+ # data as a hash:
4478
+ #
4479
+ # {
4480
+ # regex_match_set_id: "ResourceId", # required
4481
+ # updates: [ # required
4482
+ # {
4483
+ # action: "INSERT", # required, accepts INSERT, DELETE
4484
+ # regex_match_tuple: { # required
4485
+ # field_to_match: { # required
4486
+ # type: "URI", # required, accepts URI, QUERY_STRING, HEADER, METHOD, BODY
4487
+ # data: "MatchFieldData",
4488
+ # },
4489
+ # text_transformation: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
4490
+ # regex_pattern_set_id: "ResourceId", # required
4491
+ # },
4492
+ # },
4493
+ # ],
4494
+ # change_token: "ChangeToken", # required
4495
+ # }
4496
+ #
4497
+ # @!attribute [rw] regex_match_set_id
4498
+ # The `RegexMatchSetId` of the RegexMatchSet that you want to update.
4499
+ # `RegexMatchSetId` is returned by CreateRegexMatchSet and by
4500
+ # ListRegexMatchSets.
4501
+ # @return [String]
4502
+ #
4503
+ # @!attribute [rw] updates
4504
+ # An array of `RegexMatchSetUpdate` objects that you want to insert
4505
+ # into or delete from a RegexMatchSet. For more information, see
4506
+ # RegexMatchTuple.
4507
+ # @return [Array<Types::RegexMatchSetUpdate>]
4508
+ #
4509
+ # @!attribute [rw] change_token
4510
+ # The value returned by the most recent call to GetChangeToken.
4511
+ # @return [String]
4512
+ #
4513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSetRequest AWS API Documentation
4514
+ #
4515
+ class UpdateRegexMatchSetRequest < Struct.new(
4516
+ :regex_match_set_id,
4517
+ :updates,
4518
+ :change_token)
4519
+ include Aws::Structure
4520
+ end
4521
+
4522
+ # @!attribute [rw] change_token
4523
+ # The `ChangeToken` that you used to submit the `UpdateRegexMatchSet`
4524
+ # request. You can also use this value to query the status of the
4525
+ # request. For more information, see GetChangeTokenStatus.
4526
+ # @return [String]
4527
+ #
4528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexMatchSetResponse AWS API Documentation
4529
+ #
4530
+ class UpdateRegexMatchSetResponse < Struct.new(
4531
+ :change_token)
4532
+ include Aws::Structure
4533
+ end
4534
+
4535
+ # @note When making an API call, you may pass UpdateRegexPatternSetRequest
4536
+ # data as a hash:
4537
+ #
4538
+ # {
4539
+ # regex_pattern_set_id: "ResourceId", # required
4540
+ # updates: [ # required
4541
+ # {
4542
+ # action: "INSERT", # required, accepts INSERT, DELETE
4543
+ # regex_pattern_string: "RegexPatternString", # required
4544
+ # },
4545
+ # ],
4546
+ # change_token: "ChangeToken", # required
4547
+ # }
4548
+ #
4549
+ # @!attribute [rw] regex_pattern_set_id
4550
+ # The `RegexPatternSetId` of the RegexPatternSet that you want to
4551
+ # update. `RegexPatternSetId` is returned by CreateRegexPatternSet and
4552
+ # by ListRegexPatternSets.
4553
+ # @return [String]
4554
+ #
4555
+ # @!attribute [rw] updates
4556
+ # An array of `RegexPatternSetUpdate` objects that you want to insert
4557
+ # into or delete from a RegexPatternSet.
4558
+ # @return [Array<Types::RegexPatternSetUpdate>]
4559
+ #
4560
+ # @!attribute [rw] change_token
4561
+ # The value returned by the most recent call to GetChangeToken.
4562
+ # @return [String]
4563
+ #
4564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSetRequest AWS API Documentation
4565
+ #
4566
+ class UpdateRegexPatternSetRequest < Struct.new(
4567
+ :regex_pattern_set_id,
4568
+ :updates,
4569
+ :change_token)
4570
+ include Aws::Structure
4571
+ end
4572
+
4573
+ # @!attribute [rw] change_token
4574
+ # The `ChangeToken` that you used to submit the
4575
+ # `UpdateRegexPatternSet` request. You can also use this value to
4576
+ # query the status of the request. For more information, see
4577
+ # GetChangeTokenStatus.
4578
+ # @return [String]
4579
+ #
4580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRegexPatternSetResponse AWS API Documentation
4581
+ #
4582
+ class UpdateRegexPatternSetResponse < Struct.new(
4583
+ :change_token)
4584
+ include Aws::Structure
4585
+ end
4586
+
3451
4587
  # @note When making an API call, you may pass UpdateRuleRequest
3452
4588
  # data as a hash:
3453
4589
  #
@@ -3459,7 +4595,7 @@ module Aws::WAFRegional
3459
4595
  # action: "INSERT", # required, accepts INSERT, DELETE
3460
4596
  # predicate: { # required
3461
4597
  # negated: false, # required
3462
- # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, SizeConstraint, XssMatch
4598
+ # type: "IPMatch", # required, accepts IPMatch, ByteMatch, SqlInjectionMatch, GeoMatch, SizeConstraint, XssMatch, RegexMatch
3463
4599
  # data_id: "ResourceId", # required
3464
4600
  # },
3465
4601
  # },