aws-sdk-wafv2 1.26.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c01cb4efa4631f585d688dd9c4e9944b2bfada503466284fe6e0cedf9b157b08
4
- data.tar.gz: cb4f619aebbc1dd1fb8f953ad6d5fc9da8acd51deb1005670a2ce8303abbc9da
3
+ metadata.gz: 46c471be3d92b196efbf014311f41e37d6e2eb93b18dddbc4086bf9b785c1b28
4
+ data.tar.gz: 8555875acfcc8bd5c7f346956d1bd2e44d003279955d66c62306a9b74ab3eab0
5
5
  SHA512:
6
- metadata.gz: 0ab84e826ad092a4a406cf7b324d50a1d78cf84feac1ae8432c3eb4f9800c87bc9f1218fa53d54a91de42f977f68c2153227564f3ee026adce8cf3c0ed18aeb8
7
- data.tar.gz: 284c2c4a0eb71d94eef5df5e6770bbedc7136508adee7d4e2e37295186754a5971713d31ae1db2d4b7e05982105e08a6cae65530eb0843fa8573d484879dd528
6
+ metadata.gz: 4d510113dba74dc15004271c9b1d4bf71c3388cdb8fd706e85104b5af25959030dee5664e6493ed39d36ab222ac0ac4dd231d1844baef767bf692ed8b3180426
7
+ data.tar.gz: e4e365468a603648dd4c0f0ebbaf4020b66d193b095d2cb12938a3b8db1f9ee3833d4d499e7b16cf189ccb9f3d0537de2ca4b2f2060918d1773d1f63f7d89363
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.27.0 (2021-09-22)
5
+ ------------------
6
+
7
+ * Feature - Added the regex match rule statement, for matching web requests against a single regular expression.
8
+
4
9
  1.26.0 (2021-09-14)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.26.0
1
+ 1.27.0
@@ -683,6 +683,42 @@ module Aws::WAFV2
683
683
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
684
684
  # key: "LabelMatchKey", # required
685
685
  # },
686
+ # regex_match_statement: {
687
+ # regex_string: "RegexPatternString", # required
688
+ # field_to_match: { # required
689
+ # single_header: {
690
+ # name: "FieldToMatchData", # required
691
+ # },
692
+ # single_query_argument: {
693
+ # name: "FieldToMatchData", # required
694
+ # },
695
+ # all_query_arguments: {
696
+ # },
697
+ # uri_path: {
698
+ # },
699
+ # query_string: {
700
+ # },
701
+ # body: {
702
+ # },
703
+ # method: {
704
+ # },
705
+ # json_body: {
706
+ # match_pattern: { # required
707
+ # all: {
708
+ # },
709
+ # included_paths: ["JsonPointerPath"],
710
+ # },
711
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
712
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
713
+ # },
714
+ # },
715
+ # text_transformations: [ # required
716
+ # {
717
+ # priority: 1, # required
718
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
719
+ # },
720
+ # ],
721
+ # },
686
722
  # },
687
723
  # action: {
688
724
  # block: {
@@ -1274,6 +1310,42 @@ module Aws::WAFV2
1274
1310
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1275
1311
  # key: "LabelMatchKey", # required
1276
1312
  # },
1313
+ # regex_match_statement: {
1314
+ # regex_string: "RegexPatternString", # required
1315
+ # field_to_match: { # required
1316
+ # single_header: {
1317
+ # name: "FieldToMatchData", # required
1318
+ # },
1319
+ # single_query_argument: {
1320
+ # name: "FieldToMatchData", # required
1321
+ # },
1322
+ # all_query_arguments: {
1323
+ # },
1324
+ # uri_path: {
1325
+ # },
1326
+ # query_string: {
1327
+ # },
1328
+ # body: {
1329
+ # },
1330
+ # method: {
1331
+ # },
1332
+ # json_body: {
1333
+ # match_pattern: { # required
1334
+ # all: {
1335
+ # },
1336
+ # included_paths: ["JsonPointerPath"],
1337
+ # },
1338
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1339
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1340
+ # },
1341
+ # },
1342
+ # text_transformations: [ # required
1343
+ # {
1344
+ # priority: 1, # required
1345
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
1346
+ # },
1347
+ # ],
1348
+ # },
1277
1349
  # },
1278
1350
  # action: {
1279
1351
  # block: {
@@ -1731,6 +1803,42 @@ module Aws::WAFV2
1731
1803
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1732
1804
  # key: "LabelMatchKey", # required
1733
1805
  # },
1806
+ # regex_match_statement: {
1807
+ # regex_string: "RegexPatternString", # required
1808
+ # field_to_match: { # required
1809
+ # single_header: {
1810
+ # name: "FieldToMatchData", # required
1811
+ # },
1812
+ # single_query_argument: {
1813
+ # name: "FieldToMatchData", # required
1814
+ # },
1815
+ # all_query_arguments: {
1816
+ # },
1817
+ # uri_path: {
1818
+ # },
1819
+ # query_string: {
1820
+ # },
1821
+ # body: {
1822
+ # },
1823
+ # method: {
1824
+ # },
1825
+ # json_body: {
1826
+ # match_pattern: { # required
1827
+ # all: {
1828
+ # },
1829
+ # included_paths: ["JsonPointerPath"],
1830
+ # },
1831
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1832
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1833
+ # },
1834
+ # },
1835
+ # text_transformations: [ # required
1836
+ # {
1837
+ # priority: 1, # required
1838
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
1839
+ # },
1840
+ # ],
1841
+ # },
1734
1842
  # },
1735
1843
  # action: {
1736
1844
  # block: {
@@ -2759,6 +2867,16 @@ module Aws::WAFV2
2759
2867
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
2760
2868
  # resp.rule_group.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
2761
2869
  # resp.rule_group.rules[0].statement.label_match_statement.key #=> String
2870
+ # resp.rule_group.rules[0].statement.regex_match_statement.regex_string #=> String
2871
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
2872
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
2873
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
2874
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
2875
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
2876
+ # resp.rule_group.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
2877
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations #=> Array
2878
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
2879
+ # resp.rule_group.rules[0].statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
2762
2880
  # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2763
2881
  # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2764
2882
  # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3038,6 +3156,16 @@ module Aws::WAFV2
3038
3156
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3039
3157
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3040
3158
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3159
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3160
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3161
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3162
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3163
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3164
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3165
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3166
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3167
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3168
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3041
3169
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3042
3170
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3043
3171
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3143,6 +3271,16 @@ module Aws::WAFV2
3143
3271
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3144
3272
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3145
3273
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3274
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3275
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3276
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3277
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3278
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3279
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3280
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3281
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3282
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3283
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3146
3284
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3147
3285
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3148
3286
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3234,6 +3372,16 @@ module Aws::WAFV2
3234
3372
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3235
3373
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3236
3374
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3375
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3376
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3377
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3378
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3379
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3380
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3381
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3382
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3383
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3384
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3237
3385
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3238
3386
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3239
3387
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3370,6 +3518,16 @@ module Aws::WAFV2
3370
3518
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.scope_down_statement #=> Types::Statement
3371
3519
  # resp.web_acl.rules[0].statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3372
3520
  # resp.web_acl.rules[0].statement.label_match_statement.key #=> String
3521
+ # resp.web_acl.rules[0].statement.regex_match_statement.regex_string #=> String
3522
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_header.name #=> String
3523
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3524
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3525
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3526
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3527
+ # resp.web_acl.rules[0].statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3528
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations #=> Array
3529
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].priority #=> Integer
3530
+ # resp.web_acl.rules[0].statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3373
3531
  # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3374
3532
  # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3375
3533
  # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
@@ -3475,6 +3633,16 @@ module Aws::WAFV2
3475
3633
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3476
3634
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3477
3635
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3636
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3637
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3638
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3639
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3640
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3641
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3642
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3643
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3644
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3645
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3478
3646
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3479
3647
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3480
3648
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -3566,6 +3734,16 @@ module Aws::WAFV2
3566
3734
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.managed_rule_group_statement #=> Types::ManagedRuleGroupStatement
3567
3735
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.scope #=> String, one of "LABEL", "NAMESPACE"
3568
3736
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.label_match_statement.key #=> String
3737
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.regex_string #=> String
3738
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_header.name #=> String
3739
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.single_query_argument.name #=> String
3740
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths #=> Array
3741
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_pattern.included_paths[0] #=> String
3742
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.match_scope #=> String, one of "ALL", "KEY", "VALUE"
3743
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.field_to_match.json_body.invalid_fallback_behavior #=> String, one of "MATCH", "NO_MATCH", "EVALUATE_AS_STRING"
3744
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations #=> Array
3745
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].priority #=> Integer
3746
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.managed_rule_group_statement.scope_down_statement.regex_match_statement.text_transformations[0].type #=> String, one of "NONE", "COMPRESS_WHITE_SPACE", "HTML_ENTITY_DECODE", "LOWERCASE", "CMD_LINE", "URL_DECODE", "BASE64_DECODE", "HEX_DECODE", "MD5", "REPLACE_COMMENTS", "ESCAPE_SEQ_DECODE", "SQL_HEX_DECODE", "CSS_DECODE", "JS_DECODE", "NORMALIZE_PATH", "NORMALIZE_PATH_WIN", "REMOVE_NULLS", "REPLACE_NULLS", "BASE64_DECODE_EXT", "URL_DECODE_UNI", "UTF8_TO_UNICODE"
3569
3747
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
3570
3748
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
3571
3749
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
@@ -5212,6 +5390,42 @@ module Aws::WAFV2
5212
5390
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5213
5391
  # key: "LabelMatchKey", # required
5214
5392
  # },
5393
+ # regex_match_statement: {
5394
+ # regex_string: "RegexPatternString", # required
5395
+ # field_to_match: { # required
5396
+ # single_header: {
5397
+ # name: "FieldToMatchData", # required
5398
+ # },
5399
+ # single_query_argument: {
5400
+ # name: "FieldToMatchData", # required
5401
+ # },
5402
+ # all_query_arguments: {
5403
+ # },
5404
+ # uri_path: {
5405
+ # },
5406
+ # query_string: {
5407
+ # },
5408
+ # body: {
5409
+ # },
5410
+ # method: {
5411
+ # },
5412
+ # json_body: {
5413
+ # match_pattern: { # required
5414
+ # all: {
5415
+ # },
5416
+ # included_paths: ["JsonPointerPath"],
5417
+ # },
5418
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5419
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5420
+ # },
5421
+ # },
5422
+ # text_transformations: [ # required
5423
+ # {
5424
+ # priority: 1, # required
5425
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
5426
+ # },
5427
+ # ],
5428
+ # },
5215
5429
  # },
5216
5430
  # action: {
5217
5431
  # block: {
@@ -5681,6 +5895,42 @@ module Aws::WAFV2
5681
5895
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5682
5896
  # key: "LabelMatchKey", # required
5683
5897
  # },
5898
+ # regex_match_statement: {
5899
+ # regex_string: "RegexPatternString", # required
5900
+ # field_to_match: { # required
5901
+ # single_header: {
5902
+ # name: "FieldToMatchData", # required
5903
+ # },
5904
+ # single_query_argument: {
5905
+ # name: "FieldToMatchData", # required
5906
+ # },
5907
+ # all_query_arguments: {
5908
+ # },
5909
+ # uri_path: {
5910
+ # },
5911
+ # query_string: {
5912
+ # },
5913
+ # body: {
5914
+ # },
5915
+ # method: {
5916
+ # },
5917
+ # json_body: {
5918
+ # match_pattern: { # required
5919
+ # all: {
5920
+ # },
5921
+ # included_paths: ["JsonPointerPath"],
5922
+ # },
5923
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5924
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5925
+ # },
5926
+ # },
5927
+ # text_transformations: [ # required
5928
+ # {
5929
+ # priority: 1, # required
5930
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
5931
+ # },
5932
+ # ],
5933
+ # },
5684
5934
  # },
5685
5935
  # action: {
5686
5936
  # block: {
@@ -5782,7 +6032,7 @@ module Aws::WAFV2
5782
6032
  params: params,
5783
6033
  config: config)
5784
6034
  context[:gem_name] = 'aws-sdk-wafv2'
5785
- context[:gem_version] = '1.26.0'
6035
+ context[:gem_version] = '1.27.0'
5786
6036
  Seahorse::Client::Request.new(handlers, context)
5787
6037
  end
5788
6038
 
@@ -206,6 +206,7 @@ module Aws::WAFV2
206
206
  RateLimit = Shapes::IntegerShape.new(name: 'RateLimit')
207
207
  RedactedFields = Shapes::ListShape.new(name: 'RedactedFields')
208
208
  Regex = Shapes::StructureShape.new(name: 'Regex')
209
+ RegexMatchStatement = Shapes::StructureShape.new(name: 'RegexMatchStatement')
209
210
  RegexPatternSet = Shapes::StructureShape.new(name: 'RegexPatternSet')
210
211
  RegexPatternSetReferenceStatement = Shapes::StructureShape.new(name: 'RegexPatternSetReferenceStatement')
211
212
  RegexPatternSetSummaries = Shapes::ListShape.new(name: 'RegexPatternSetSummaries')
@@ -893,6 +894,11 @@ module Aws::WAFV2
893
894
  Regex.add_member(:regex_string, Shapes::ShapeRef.new(shape: RegexPatternString, location_name: "RegexString"))
894
895
  Regex.struct_class = Types::Regex
895
896
 
897
+ RegexMatchStatement.add_member(:regex_string, Shapes::ShapeRef.new(shape: RegexPatternString, required: true, location_name: "RegexString"))
898
+ RegexMatchStatement.add_member(:field_to_match, Shapes::ShapeRef.new(shape: FieldToMatch, required: true, location_name: "FieldToMatch"))
899
+ RegexMatchStatement.add_member(:text_transformations, Shapes::ShapeRef.new(shape: TextTransformations, required: true, location_name: "TextTransformations"))
900
+ RegexMatchStatement.struct_class = Types::RegexMatchStatement
901
+
896
902
  RegexPatternSet.add_member(:name, Shapes::ShapeRef.new(shape: EntityName, location_name: "Name"))
897
903
  RegexPatternSet.add_member(:id, Shapes::ShapeRef.new(shape: EntityId, location_name: "Id"))
898
904
  RegexPatternSet.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ARN"))
@@ -1008,6 +1014,7 @@ module Aws::WAFV2
1008
1014
  Statement.add_member(:not_statement, Shapes::ShapeRef.new(shape: NotStatement, location_name: "NotStatement"))
1009
1015
  Statement.add_member(:managed_rule_group_statement, Shapes::ShapeRef.new(shape: ManagedRuleGroupStatement, location_name: "ManagedRuleGroupStatement"))
1010
1016
  Statement.add_member(:label_match_statement, Shapes::ShapeRef.new(shape: LabelMatchStatement, location_name: "LabelMatchStatement"))
1017
+ Statement.add_member(:regex_match_statement, Shapes::ShapeRef.new(shape: RegexMatchStatement, location_name: "RegexMatchStatement"))
1011
1018
  Statement.struct_class = Types::Statement
1012
1019
 
1013
1020
  Statements.member = Shapes::ShapeRef.new(shape: Statement)
@@ -357,6 +357,42 @@ module Aws::WAFV2
357
357
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
358
358
  # key: "LabelMatchKey", # required
359
359
  # },
360
+ # regex_match_statement: {
361
+ # regex_string: "RegexPatternString", # required
362
+ # field_to_match: { # required
363
+ # single_header: {
364
+ # name: "FieldToMatchData", # required
365
+ # },
366
+ # single_query_argument: {
367
+ # name: "FieldToMatchData", # required
368
+ # },
369
+ # all_query_arguments: {
370
+ # },
371
+ # uri_path: {
372
+ # },
373
+ # query_string: {
374
+ # },
375
+ # body: {
376
+ # },
377
+ # method: {
378
+ # },
379
+ # json_body: {
380
+ # match_pattern: { # required
381
+ # all: {
382
+ # },
383
+ # included_paths: ["JsonPointerPath"],
384
+ # },
385
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
386
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
387
+ # },
388
+ # },
389
+ # text_transformations: [ # required
390
+ # {
391
+ # priority: 1, # required
392
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
393
+ # },
394
+ # ],
395
+ # },
360
396
  # },
361
397
  # ],
362
398
  # }
@@ -884,6 +920,42 @@ module Aws::WAFV2
884
920
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
885
921
  # key: "LabelMatchKey", # required
886
922
  # },
923
+ # regex_match_statement: {
924
+ # regex_string: "RegexPatternString", # required
925
+ # field_to_match: { # required
926
+ # single_header: {
927
+ # name: "FieldToMatchData", # required
928
+ # },
929
+ # single_query_argument: {
930
+ # name: "FieldToMatchData", # required
931
+ # },
932
+ # all_query_arguments: {
933
+ # },
934
+ # uri_path: {
935
+ # },
936
+ # query_string: {
937
+ # },
938
+ # body: {
939
+ # },
940
+ # method: {
941
+ # },
942
+ # json_body: {
943
+ # match_pattern: { # required
944
+ # all: {
945
+ # },
946
+ # included_paths: ["JsonPointerPath"],
947
+ # },
948
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
949
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
950
+ # },
951
+ # },
952
+ # text_transformations: [ # required
953
+ # {
954
+ # priority: 1, # required
955
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
956
+ # },
957
+ # ],
958
+ # },
887
959
  # },
888
960
  # action: {
889
961
  # block: {
@@ -1514,6 +1586,42 @@ module Aws::WAFV2
1514
1586
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1515
1587
  # key: "LabelMatchKey", # required
1516
1588
  # },
1589
+ # regex_match_statement: {
1590
+ # regex_string: "RegexPatternString", # required
1591
+ # field_to_match: { # required
1592
+ # single_header: {
1593
+ # name: "FieldToMatchData", # required
1594
+ # },
1595
+ # single_query_argument: {
1596
+ # name: "FieldToMatchData", # required
1597
+ # },
1598
+ # all_query_arguments: {
1599
+ # },
1600
+ # uri_path: {
1601
+ # },
1602
+ # query_string: {
1603
+ # },
1604
+ # body: {
1605
+ # },
1606
+ # method: {
1607
+ # },
1608
+ # json_body: {
1609
+ # match_pattern: { # required
1610
+ # all: {
1611
+ # },
1612
+ # included_paths: ["JsonPointerPath"],
1613
+ # },
1614
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
1615
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
1616
+ # },
1617
+ # },
1618
+ # text_transformations: [ # required
1619
+ # {
1620
+ # priority: 1, # required
1621
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
1622
+ # },
1623
+ # ],
1624
+ # },
1517
1625
  # },
1518
1626
  # action: {
1519
1627
  # block: {
@@ -1990,6 +2098,42 @@ module Aws::WAFV2
1990
2098
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
1991
2099
  # key: "LabelMatchKey", # required
1992
2100
  # },
2101
+ # regex_match_statement: {
2102
+ # regex_string: "RegexPatternString", # required
2103
+ # field_to_match: { # required
2104
+ # single_header: {
2105
+ # name: "FieldToMatchData", # required
2106
+ # },
2107
+ # single_query_argument: {
2108
+ # name: "FieldToMatchData", # required
2109
+ # },
2110
+ # all_query_arguments: {
2111
+ # },
2112
+ # uri_path: {
2113
+ # },
2114
+ # query_string: {
2115
+ # },
2116
+ # body: {
2117
+ # },
2118
+ # method: {
2119
+ # },
2120
+ # json_body: {
2121
+ # match_pattern: { # required
2122
+ # all: {
2123
+ # },
2124
+ # included_paths: ["JsonPointerPath"],
2125
+ # },
2126
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
2127
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
2128
+ # },
2129
+ # },
2130
+ # text_transformations: [ # required
2131
+ # {
2132
+ # priority: 1, # required
2133
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
2134
+ # },
2135
+ # ],
2136
+ # },
1993
2137
  # },
1994
2138
  # action: {
1995
2139
  # block: {
@@ -5648,6 +5792,42 @@ module Aws::WAFV2
5648
5792
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
5649
5793
  # key: "LabelMatchKey", # required
5650
5794
  # },
5795
+ # regex_match_statement: {
5796
+ # regex_string: "RegexPatternString", # required
5797
+ # field_to_match: { # required
5798
+ # single_header: {
5799
+ # name: "FieldToMatchData", # required
5800
+ # },
5801
+ # single_query_argument: {
5802
+ # name: "FieldToMatchData", # required
5803
+ # },
5804
+ # all_query_arguments: {
5805
+ # },
5806
+ # uri_path: {
5807
+ # },
5808
+ # query_string: {
5809
+ # },
5810
+ # body: {
5811
+ # },
5812
+ # method: {
5813
+ # },
5814
+ # json_body: {
5815
+ # match_pattern: { # required
5816
+ # all: {
5817
+ # },
5818
+ # included_paths: ["JsonPointerPath"],
5819
+ # },
5820
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
5821
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
5822
+ # },
5823
+ # },
5824
+ # text_transformations: [ # required
5825
+ # {
5826
+ # priority: 1, # required
5827
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
5828
+ # },
5829
+ # ],
5830
+ # },
5651
5831
  # },
5652
5832
  # }
5653
5833
  #
@@ -6267,6 +6447,42 @@ module Aws::WAFV2
6267
6447
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
6268
6448
  # key: "LabelMatchKey", # required
6269
6449
  # },
6450
+ # regex_match_statement: {
6451
+ # regex_string: "RegexPatternString", # required
6452
+ # field_to_match: { # required
6453
+ # single_header: {
6454
+ # name: "FieldToMatchData", # required
6455
+ # },
6456
+ # single_query_argument: {
6457
+ # name: "FieldToMatchData", # required
6458
+ # },
6459
+ # all_query_arguments: {
6460
+ # },
6461
+ # uri_path: {
6462
+ # },
6463
+ # query_string: {
6464
+ # },
6465
+ # body: {
6466
+ # },
6467
+ # method: {
6468
+ # },
6469
+ # json_body: {
6470
+ # match_pattern: { # required
6471
+ # all: {
6472
+ # },
6473
+ # included_paths: ["JsonPointerPath"],
6474
+ # },
6475
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6476
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6477
+ # },
6478
+ # },
6479
+ # text_transformations: [ # required
6480
+ # {
6481
+ # priority: 1, # required
6482
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
6483
+ # },
6484
+ # ],
6485
+ # },
6270
6486
  # },
6271
6487
  # }
6272
6488
  #
@@ -6538,6 +6754,42 @@ module Aws::WAFV2
6538
6754
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
6539
6755
  # key: "LabelMatchKey", # required
6540
6756
  # },
6757
+ # regex_match_statement: {
6758
+ # regex_string: "RegexPatternString", # required
6759
+ # field_to_match: { # required
6760
+ # single_header: {
6761
+ # name: "FieldToMatchData", # required
6762
+ # },
6763
+ # single_query_argument: {
6764
+ # name: "FieldToMatchData", # required
6765
+ # },
6766
+ # all_query_arguments: {
6767
+ # },
6768
+ # uri_path: {
6769
+ # },
6770
+ # query_string: {
6771
+ # },
6772
+ # body: {
6773
+ # },
6774
+ # method: {
6775
+ # },
6776
+ # json_body: {
6777
+ # match_pattern: { # required
6778
+ # all: {
6779
+ # },
6780
+ # included_paths: ["JsonPointerPath"],
6781
+ # },
6782
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
6783
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
6784
+ # },
6785
+ # },
6786
+ # text_transformations: [ # required
6787
+ # {
6788
+ # priority: 1, # required
6789
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
6790
+ # },
6791
+ # ],
6792
+ # },
6541
6793
  # },
6542
6794
  # ],
6543
6795
  # }
@@ -7154,24 +7406,60 @@ module Aws::WAFV2
7154
7406
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
7155
7407
  # key: "LabelMatchKey", # required
7156
7408
  # },
7157
- # },
7158
- # forwarded_ip_config: {
7159
- # header_name: "ForwardedIPHeaderName", # required
7160
- # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7161
- # },
7162
- # }
7163
- #
7164
- # @!attribute [rw] limit
7165
- # The limit on requests per 5-minute period for a single originating
7166
- # IP address. If the statement includes a `ScopeDownStatement`, this
7167
- # limit is applied only to the requests that match the statement.
7168
- # @return [Integer]
7169
- #
7170
- # @!attribute [rw] aggregate_key_type
7171
- # Setting that indicates how to aggregate the request counts. The
7172
- # options are the following:
7173
- #
7174
- # * IP - Aggregate the request counts on the IP address from the web
7409
+ # regex_match_statement: {
7410
+ # regex_string: "RegexPatternString", # required
7411
+ # field_to_match: { # required
7412
+ # single_header: {
7413
+ # name: "FieldToMatchData", # required
7414
+ # },
7415
+ # single_query_argument: {
7416
+ # name: "FieldToMatchData", # required
7417
+ # },
7418
+ # all_query_arguments: {
7419
+ # },
7420
+ # uri_path: {
7421
+ # },
7422
+ # query_string: {
7423
+ # },
7424
+ # body: {
7425
+ # },
7426
+ # method: {
7427
+ # },
7428
+ # json_body: {
7429
+ # match_pattern: { # required
7430
+ # all: {
7431
+ # },
7432
+ # included_paths: ["JsonPointerPath"],
7433
+ # },
7434
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7435
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7436
+ # },
7437
+ # },
7438
+ # text_transformations: [ # required
7439
+ # {
7440
+ # priority: 1, # required
7441
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
7442
+ # },
7443
+ # ],
7444
+ # },
7445
+ # },
7446
+ # forwarded_ip_config: {
7447
+ # header_name: "ForwardedIPHeaderName", # required
7448
+ # fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
7449
+ # },
7450
+ # }
7451
+ #
7452
+ # @!attribute [rw] limit
7453
+ # The limit on requests per 5-minute period for a single originating
7454
+ # IP address. If the statement includes a `ScopeDownStatement`, this
7455
+ # limit is applied only to the requests that match the statement.
7456
+ # @return [Integer]
7457
+ #
7458
+ # @!attribute [rw] aggregate_key_type
7459
+ # Setting that indicates how to aggregate the request counts. The
7460
+ # options are the following:
7461
+ #
7462
+ # * IP - Aggregate the request counts on the IP address from the web
7175
7463
  # request origin.
7176
7464
  #
7177
7465
  # * FORWARDED\_IP - Aggregate the request counts on the first IP
@@ -7254,6 +7542,77 @@ module Aws::WAFV2
7254
7542
  include Aws::Structure
7255
7543
  end
7256
7544
 
7545
+ # A rule statement used to search web request components for a match
7546
+ # against a single regular expression.
7547
+ #
7548
+ # @note When making an API call, you may pass RegexMatchStatement
7549
+ # data as a hash:
7550
+ #
7551
+ # {
7552
+ # regex_string: "RegexPatternString", # required
7553
+ # field_to_match: { # required
7554
+ # single_header: {
7555
+ # name: "FieldToMatchData", # required
7556
+ # },
7557
+ # single_query_argument: {
7558
+ # name: "FieldToMatchData", # required
7559
+ # },
7560
+ # all_query_arguments: {
7561
+ # },
7562
+ # uri_path: {
7563
+ # },
7564
+ # query_string: {
7565
+ # },
7566
+ # body: {
7567
+ # },
7568
+ # method: {
7569
+ # },
7570
+ # json_body: {
7571
+ # match_pattern: { # required
7572
+ # all: {
7573
+ # },
7574
+ # included_paths: ["JsonPointerPath"],
7575
+ # },
7576
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
7577
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
7578
+ # },
7579
+ # },
7580
+ # text_transformations: [ # required
7581
+ # {
7582
+ # priority: 1, # required
7583
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
7584
+ # },
7585
+ # ],
7586
+ # }
7587
+ #
7588
+ # @!attribute [rw] regex_string
7589
+ # The string representing the regular expression.
7590
+ # @return [String]
7591
+ #
7592
+ # @!attribute [rw] field_to_match
7593
+ # The part of a web request that you want WAF to inspect. For more
7594
+ # information, see FieldToMatch.
7595
+ # @return [Types::FieldToMatch]
7596
+ #
7597
+ # @!attribute [rw] text_transformations
7598
+ # Text transformations eliminate some of the unusual formatting that
7599
+ # attackers use in web requests in an effort to bypass detection. If
7600
+ # you specify one or more transformations in a rule statement, WAF
7601
+ # performs all transformations on the content of the request component
7602
+ # identified by `FieldToMatch`, starting from the lowest priority
7603
+ # setting, before inspecting the content for a match.
7604
+ # @return [Array<Types::TextTransformation>]
7605
+ #
7606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RegexMatchStatement AWS API Documentation
7607
+ #
7608
+ class RegexMatchStatement < Struct.new(
7609
+ :regex_string,
7610
+ :field_to_match,
7611
+ :text_transformations)
7612
+ SENSITIVE = []
7613
+ include Aws::Structure
7614
+ end
7615
+
7257
7616
  # Contains one or more regular expressions.
7258
7617
  #
7259
7618
  # WAF assigns an ARN to each `RegexPatternSet` that you create. To use a
@@ -7687,6 +8046,42 @@ module Aws::WAFV2
7687
8046
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
7688
8047
  # key: "LabelMatchKey", # required
7689
8048
  # },
8049
+ # regex_match_statement: {
8050
+ # regex_string: "RegexPatternString", # required
8051
+ # field_to_match: { # required
8052
+ # single_header: {
8053
+ # name: "FieldToMatchData", # required
8054
+ # },
8055
+ # single_query_argument: {
8056
+ # name: "FieldToMatchData", # required
8057
+ # },
8058
+ # all_query_arguments: {
8059
+ # },
8060
+ # uri_path: {
8061
+ # },
8062
+ # query_string: {
8063
+ # },
8064
+ # body: {
8065
+ # },
8066
+ # method: {
8067
+ # },
8068
+ # json_body: {
8069
+ # match_pattern: { # required
8070
+ # all: {
8071
+ # },
8072
+ # included_paths: ["JsonPointerPath"],
8073
+ # },
8074
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
8075
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
8076
+ # },
8077
+ # },
8078
+ # text_transformations: [ # required
8079
+ # {
8080
+ # priority: 1, # required
8081
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
8082
+ # },
8083
+ # ],
8084
+ # },
7690
8085
  # },
7691
8086
  # action: {
7692
8087
  # block: {
@@ -8887,6 +9282,42 @@ module Aws::WAFV2
8887
9282
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
8888
9283
  # key: "LabelMatchKey", # required
8889
9284
  # },
9285
+ # regex_match_statement: {
9286
+ # regex_string: "RegexPatternString", # required
9287
+ # field_to_match: { # required
9288
+ # single_header: {
9289
+ # name: "FieldToMatchData", # required
9290
+ # },
9291
+ # single_query_argument: {
9292
+ # name: "FieldToMatchData", # required
9293
+ # },
9294
+ # all_query_arguments: {
9295
+ # },
9296
+ # uri_path: {
9297
+ # },
9298
+ # query_string: {
9299
+ # },
9300
+ # body: {
9301
+ # },
9302
+ # method: {
9303
+ # },
9304
+ # json_body: {
9305
+ # match_pattern: { # required
9306
+ # all: {
9307
+ # },
9308
+ # included_paths: ["JsonPointerPath"],
9309
+ # },
9310
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
9311
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
9312
+ # },
9313
+ # },
9314
+ # text_transformations: [ # required
9315
+ # {
9316
+ # priority: 1, # required
9317
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
9318
+ # },
9319
+ # ],
9320
+ # },
8890
9321
  # },
8891
9322
  # forwarded_ip_config: {
8892
9323
  # header_name: "ForwardedIPHeaderName", # required
@@ -9140,6 +9571,42 @@ module Aws::WAFV2
9140
9571
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
9141
9572
  # key: "LabelMatchKey", # required
9142
9573
  # },
9574
+ # regex_match_statement: {
9575
+ # regex_string: "RegexPatternString", # required
9576
+ # field_to_match: { # required
9577
+ # single_header: {
9578
+ # name: "FieldToMatchData", # required
9579
+ # },
9580
+ # single_query_argument: {
9581
+ # name: "FieldToMatchData", # required
9582
+ # },
9583
+ # all_query_arguments: {
9584
+ # },
9585
+ # uri_path: {
9586
+ # },
9587
+ # query_string: {
9588
+ # },
9589
+ # body: {
9590
+ # },
9591
+ # method: {
9592
+ # },
9593
+ # json_body: {
9594
+ # match_pattern: { # required
9595
+ # all: {
9596
+ # },
9597
+ # included_paths: ["JsonPointerPath"],
9598
+ # },
9599
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
9600
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
9601
+ # },
9602
+ # },
9603
+ # text_transformations: [ # required
9604
+ # {
9605
+ # priority: 1, # required
9606
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
9607
+ # },
9608
+ # ],
9609
+ # },
9143
9610
  # },
9144
9611
  # ],
9145
9612
  # },
@@ -9390,6 +9857,42 @@ module Aws::WAFV2
9390
9857
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
9391
9858
  # key: "LabelMatchKey", # required
9392
9859
  # },
9860
+ # regex_match_statement: {
9861
+ # regex_string: "RegexPatternString", # required
9862
+ # field_to_match: { # required
9863
+ # single_header: {
9864
+ # name: "FieldToMatchData", # required
9865
+ # },
9866
+ # single_query_argument: {
9867
+ # name: "FieldToMatchData", # required
9868
+ # },
9869
+ # all_query_arguments: {
9870
+ # },
9871
+ # uri_path: {
9872
+ # },
9873
+ # query_string: {
9874
+ # },
9875
+ # body: {
9876
+ # },
9877
+ # method: {
9878
+ # },
9879
+ # json_body: {
9880
+ # match_pattern: { # required
9881
+ # all: {
9882
+ # },
9883
+ # included_paths: ["JsonPointerPath"],
9884
+ # },
9885
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
9886
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
9887
+ # },
9888
+ # },
9889
+ # text_transformations: [ # required
9890
+ # {
9891
+ # priority: 1, # required
9892
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
9893
+ # },
9894
+ # ],
9895
+ # },
9393
9896
  # },
9394
9897
  # ],
9395
9898
  # },
@@ -9643,6 +10146,42 @@ module Aws::WAFV2
9643
10146
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
9644
10147
  # key: "LabelMatchKey", # required
9645
10148
  # },
10149
+ # regex_match_statement: {
10150
+ # regex_string: "RegexPatternString", # required
10151
+ # field_to_match: { # required
10152
+ # single_header: {
10153
+ # name: "FieldToMatchData", # required
10154
+ # },
10155
+ # single_query_argument: {
10156
+ # name: "FieldToMatchData", # required
10157
+ # },
10158
+ # all_query_arguments: {
10159
+ # },
10160
+ # uri_path: {
10161
+ # },
10162
+ # query_string: {
10163
+ # },
10164
+ # body: {
10165
+ # },
10166
+ # method: {
10167
+ # },
10168
+ # json_body: {
10169
+ # match_pattern: { # required
10170
+ # all: {
10171
+ # },
10172
+ # included_paths: ["JsonPointerPath"],
10173
+ # },
10174
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
10175
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
10176
+ # },
10177
+ # },
10178
+ # text_transformations: [ # required
10179
+ # {
10180
+ # priority: 1, # required
10181
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
10182
+ # },
10183
+ # ],
10184
+ # },
9646
10185
  # },
9647
10186
  # },
9648
10187
  # managed_rule_group_statement: {
@@ -9895,12 +10434,84 @@ module Aws::WAFV2
9895
10434
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
9896
10435
  # key: "LabelMatchKey", # required
9897
10436
  # },
10437
+ # regex_match_statement: {
10438
+ # regex_string: "RegexPatternString", # required
10439
+ # field_to_match: { # required
10440
+ # single_header: {
10441
+ # name: "FieldToMatchData", # required
10442
+ # },
10443
+ # single_query_argument: {
10444
+ # name: "FieldToMatchData", # required
10445
+ # },
10446
+ # all_query_arguments: {
10447
+ # },
10448
+ # uri_path: {
10449
+ # },
10450
+ # query_string: {
10451
+ # },
10452
+ # body: {
10453
+ # },
10454
+ # method: {
10455
+ # },
10456
+ # json_body: {
10457
+ # match_pattern: { # required
10458
+ # all: {
10459
+ # },
10460
+ # included_paths: ["JsonPointerPath"],
10461
+ # },
10462
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
10463
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
10464
+ # },
10465
+ # },
10466
+ # text_transformations: [ # required
10467
+ # {
10468
+ # priority: 1, # required
10469
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
10470
+ # },
10471
+ # ],
10472
+ # },
9898
10473
  # },
9899
10474
  # },
9900
10475
  # label_match_statement: {
9901
10476
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
9902
10477
  # key: "LabelMatchKey", # required
9903
10478
  # },
10479
+ # regex_match_statement: {
10480
+ # regex_string: "RegexPatternString", # required
10481
+ # field_to_match: { # required
10482
+ # single_header: {
10483
+ # name: "FieldToMatchData", # required
10484
+ # },
10485
+ # single_query_argument: {
10486
+ # name: "FieldToMatchData", # required
10487
+ # },
10488
+ # all_query_arguments: {
10489
+ # },
10490
+ # uri_path: {
10491
+ # },
10492
+ # query_string: {
10493
+ # },
10494
+ # body: {
10495
+ # },
10496
+ # method: {
10497
+ # },
10498
+ # json_body: {
10499
+ # match_pattern: { # required
10500
+ # all: {
10501
+ # },
10502
+ # included_paths: ["JsonPointerPath"],
10503
+ # },
10504
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
10505
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
10506
+ # },
10507
+ # },
10508
+ # text_transformations: [ # required
10509
+ # {
10510
+ # priority: 1, # required
10511
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
10512
+ # },
10513
+ # ],
10514
+ # },
9904
10515
  # }
9905
10516
  #
9906
10517
  # @!attribute [rw] byte_match_statement
@@ -10082,6 +10693,11 @@ module Aws::WAFV2
10082
10693
  # that were added in the same context as the label match statement.
10083
10694
  # @return [Types::LabelMatchStatement]
10084
10695
  #
10696
+ # @!attribute [rw] regex_match_statement
10697
+ # A rule statement used to search web request components for a match
10698
+ # against a single regular expression.
10699
+ # @return [Types::RegexMatchStatement]
10700
+ #
10085
10701
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/Statement AWS API Documentation
10086
10702
  #
10087
10703
  class Statement < Struct.new(
@@ -10098,7 +10714,8 @@ module Aws::WAFV2
10098
10714
  :or_statement,
10099
10715
  :not_statement,
10100
10716
  :managed_rule_group_statement,
10101
- :label_match_statement)
10717
+ :label_match_statement,
10718
+ :regex_match_statement)
10102
10719
  SENSITIVE = []
10103
10720
  include Aws::Structure
10104
10721
  end
@@ -11024,6 +11641,42 @@ module Aws::WAFV2
11024
11641
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
11025
11642
  # key: "LabelMatchKey", # required
11026
11643
  # },
11644
+ # regex_match_statement: {
11645
+ # regex_string: "RegexPatternString", # required
11646
+ # field_to_match: { # required
11647
+ # single_header: {
11648
+ # name: "FieldToMatchData", # required
11649
+ # },
11650
+ # single_query_argument: {
11651
+ # name: "FieldToMatchData", # required
11652
+ # },
11653
+ # all_query_arguments: {
11654
+ # },
11655
+ # uri_path: {
11656
+ # },
11657
+ # query_string: {
11658
+ # },
11659
+ # body: {
11660
+ # },
11661
+ # method: {
11662
+ # },
11663
+ # json_body: {
11664
+ # match_pattern: { # required
11665
+ # all: {
11666
+ # },
11667
+ # included_paths: ["JsonPointerPath"],
11668
+ # },
11669
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
11670
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
11671
+ # },
11672
+ # },
11673
+ # text_transformations: [ # required
11674
+ # {
11675
+ # priority: 1, # required
11676
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
11677
+ # },
11678
+ # ],
11679
+ # },
11027
11680
  # },
11028
11681
  # action: {
11029
11682
  # block: {
@@ -11490,6 +12143,42 @@ module Aws::WAFV2
11490
12143
  # scope: "LABEL", # required, accepts LABEL, NAMESPACE
11491
12144
  # key: "LabelMatchKey", # required
11492
12145
  # },
12146
+ # regex_match_statement: {
12147
+ # regex_string: "RegexPatternString", # required
12148
+ # field_to_match: { # required
12149
+ # single_header: {
12150
+ # name: "FieldToMatchData", # required
12151
+ # },
12152
+ # single_query_argument: {
12153
+ # name: "FieldToMatchData", # required
12154
+ # },
12155
+ # all_query_arguments: {
12156
+ # },
12157
+ # uri_path: {
12158
+ # },
12159
+ # query_string: {
12160
+ # },
12161
+ # body: {
12162
+ # },
12163
+ # method: {
12164
+ # },
12165
+ # json_body: {
12166
+ # match_pattern: { # required
12167
+ # all: {
12168
+ # },
12169
+ # included_paths: ["JsonPointerPath"],
12170
+ # },
12171
+ # match_scope: "ALL", # required, accepts ALL, KEY, VALUE
12172
+ # invalid_fallback_behavior: "MATCH", # accepts MATCH, NO_MATCH, EVALUATE_AS_STRING
12173
+ # },
12174
+ # },
12175
+ # text_transformations: [ # required
12176
+ # {
12177
+ # priority: 1, # required
12178
+ # type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE, BASE64_DECODE, HEX_DECODE, MD5, REPLACE_COMMENTS, ESCAPE_SEQ_DECODE, SQL_HEX_DECODE, CSS_DECODE, JS_DECODE, NORMALIZE_PATH, NORMALIZE_PATH_WIN, REMOVE_NULLS, REPLACE_NULLS, BASE64_DECODE_EXT, URL_DECODE_UNI, UTF8_TO_UNICODE
12179
+ # },
12180
+ # ],
12181
+ # },
11493
12182
  # },
11494
12183
  # action: {
11495
12184
  # block: {
data/lib/aws-sdk-wafv2.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-wafv2/customizations'
48
48
  # @!group service
49
49
  module Aws::WAFV2
50
50
 
51
- GEM_VERSION = '1.26.0'
51
+ GEM_VERSION = '1.27.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-wafv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.26.0
4
+ version: 1.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-14 00:00:00.000000000 Z
11
+ date: 2021-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core