aws-sdk-wafv2 1.26.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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