aws-sdk-wafv2 1.18.0 → 1.19.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: c309b8c7a07984557361cc17143609368eda034de8b5cd1ba0fe298f6f470853
4
- data.tar.gz: a746cf9b8fc065a82603c58c9a40a65c55138f15a3a28ea12e7ad1cdb1ca400b
3
+ metadata.gz: 42609a9f60f039c6c55fb1738c2a7422486d60131feb323f89b68324475bbb72
4
+ data.tar.gz: 899c57a17a467ead8c055d5900fac8ec248766c7e65eb2d98739613c3f212f8f
5
5
  SHA512:
6
- metadata.gz: ac3e7c4e8c5ba3bc8e779b00911a0aa7b2ea2900e6532a39a0379ce72338b754156626e603428ea4b85f97a2539818238f1b147644fe57dad9408d74446e032a
7
- data.tar.gz: 888ee1834a2ed4eaa23a1b50acff42850d9cce5733404c9476d626f645a6e75f164ec4b42486ab14355293f17e77c2ba1d507df01139dae2aaadd516a1b02953
6
+ metadata.gz: f586e630c69ecb878b8b5e3d5d744e31a718323baaa941c58e19b45d312ad5232beb03a31f84c8bdb6b4e2034212d75279ae02fa8d7ec564dd0f90c60a7d258c
7
+ data.tar.gz: 6c9e00d7434304df8fcffeb5797074065acbde25bbf2af3e717df8285ac4281c3bb04462955922b9ec77981c2045ee9281eae0ae558d37b0651b56ed7834ec20
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2021-03-29)
5
+ ------------------
6
+
7
+ * Feature - Added custom request handling and custom response support in rule actions and default action; Added the option to inspect the web request body as parsed and filtered JSON.
8
+
4
9
  1.18.0 (2021-03-11)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.19.0
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.18.0'
51
+ GEM_VERSION = '1.19.0'
52
52
 
53
53
  end
@@ -678,14 +678,48 @@ module Aws::WAFV2
678
678
  # },
679
679
  # action: {
680
680
  # block: {
681
+ # custom_response: {
682
+ # response_code: 1, # required
683
+ # custom_response_body_key: "EntityName",
684
+ # response_headers: [
685
+ # {
686
+ # name: "CustomHTTPHeaderName", # required
687
+ # value: "CustomHTTPHeaderValue", # required
688
+ # },
689
+ # ],
690
+ # },
681
691
  # },
682
692
  # allow: {
693
+ # custom_request_handling: {
694
+ # insert_headers: [ # required
695
+ # {
696
+ # name: "CustomHTTPHeaderName", # required
697
+ # value: "CustomHTTPHeaderValue", # required
698
+ # },
699
+ # ],
700
+ # },
683
701
  # },
684
702
  # count: {
703
+ # custom_request_handling: {
704
+ # insert_headers: [ # required
705
+ # {
706
+ # name: "CustomHTTPHeaderName", # required
707
+ # value: "CustomHTTPHeaderValue", # required
708
+ # },
709
+ # ],
710
+ # },
685
711
  # },
686
712
  # },
687
713
  # override_action: {
688
714
  # count: {
715
+ # custom_request_handling: {
716
+ # insert_headers: [ # required
717
+ # {
718
+ # name: "CustomHTTPHeaderName", # required
719
+ # value: "CustomHTTPHeaderValue", # required
720
+ # },
721
+ # ],
722
+ # },
689
723
  # },
690
724
  # none: {
691
725
  # },
@@ -944,6 +978,26 @@ module Aws::WAFV2
944
978
  # @option params [Array<Types::Tag>] :tags
945
979
  # An array of key:value pairs to associate with the resource.
946
980
  #
981
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
982
+ # A map of custom response keys and content bodies. When you create a
983
+ # rule with a block action, you can send a custom response to the web
984
+ # request. You define these for the rule group, and then use them in the
985
+ # rules that you define in the rule group.
986
+ #
987
+ # For information about customizing web requests and responses, see
988
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
989
+ # Developer Guide][2].
990
+ #
991
+ # For information about the limits on count and size for custom request
992
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
993
+ # Developer Guide][2].
994
+ #
995
+ #
996
+ #
997
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
998
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
999
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1000
+ #
947
1001
  # @return [Types::CreateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
948
1002
  #
949
1003
  # * {Types::CreateRuleGroupResponse#summary #summary} => Types::RuleGroupSummary
@@ -1205,14 +1259,48 @@ module Aws::WAFV2
1205
1259
  # },
1206
1260
  # action: {
1207
1261
  # block: {
1262
+ # custom_response: {
1263
+ # response_code: 1, # required
1264
+ # custom_response_body_key: "EntityName",
1265
+ # response_headers: [
1266
+ # {
1267
+ # name: "CustomHTTPHeaderName", # required
1268
+ # value: "CustomHTTPHeaderValue", # required
1269
+ # },
1270
+ # ],
1271
+ # },
1208
1272
  # },
1209
1273
  # allow: {
1274
+ # custom_request_handling: {
1275
+ # insert_headers: [ # required
1276
+ # {
1277
+ # name: "CustomHTTPHeaderName", # required
1278
+ # value: "CustomHTTPHeaderValue", # required
1279
+ # },
1280
+ # ],
1281
+ # },
1210
1282
  # },
1211
1283
  # count: {
1284
+ # custom_request_handling: {
1285
+ # insert_headers: [ # required
1286
+ # {
1287
+ # name: "CustomHTTPHeaderName", # required
1288
+ # value: "CustomHTTPHeaderValue", # required
1289
+ # },
1290
+ # ],
1291
+ # },
1212
1292
  # },
1213
1293
  # },
1214
1294
  # override_action: {
1215
1295
  # count: {
1296
+ # custom_request_handling: {
1297
+ # insert_headers: [ # required
1298
+ # {
1299
+ # name: "CustomHTTPHeaderName", # required
1300
+ # value: "CustomHTTPHeaderValue", # required
1301
+ # },
1302
+ # ],
1303
+ # },
1216
1304
  # },
1217
1305
  # none: {
1218
1306
  # },
@@ -1235,6 +1323,12 @@ module Aws::WAFV2
1235
1323
  # value: "TagValue", # required
1236
1324
  # },
1237
1325
  # ],
1326
+ # custom_response_bodies: {
1327
+ # "EntityName" => {
1328
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1329
+ # content: "ResponseContent", # required
1330
+ # },
1331
+ # },
1238
1332
  # })
1239
1333
  #
1240
1334
  # @example Response structure
@@ -1304,6 +1398,26 @@ module Aws::WAFV2
1304
1398
  # @option params [Array<Types::Tag>] :tags
1305
1399
  # An array of key:value pairs to associate with the resource.
1306
1400
  #
1401
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
1402
+ # A map of custom response keys and content bodies. When you create a
1403
+ # rule with a block action, you can send a custom response to the web
1404
+ # request. You define these for the web ACL, and then use them in the
1405
+ # rules and default actions that you define in the web ACL.
1406
+ #
1407
+ # For information about customizing web requests and responses, see
1408
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
1409
+ # Developer Guide][2].
1410
+ #
1411
+ # For information about the limits on count and size for custom request
1412
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
1413
+ # Developer Guide][2].
1414
+ #
1415
+ #
1416
+ #
1417
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
1418
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
1419
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
1420
+ #
1307
1421
  # @return [Types::CreateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1308
1422
  #
1309
1423
  # * {Types::CreateWebACLResponse#summary #summary} => Types::WebACLSummary
@@ -1315,8 +1429,26 @@ module Aws::WAFV2
1315
1429
  # scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
1316
1430
  # default_action: { # required
1317
1431
  # block: {
1432
+ # custom_response: {
1433
+ # response_code: 1, # required
1434
+ # custom_response_body_key: "EntityName",
1435
+ # response_headers: [
1436
+ # {
1437
+ # name: "CustomHTTPHeaderName", # required
1438
+ # value: "CustomHTTPHeaderValue", # required
1439
+ # },
1440
+ # ],
1441
+ # },
1318
1442
  # },
1319
1443
  # allow: {
1444
+ # custom_request_handling: {
1445
+ # insert_headers: [ # required
1446
+ # {
1447
+ # name: "CustomHTTPHeaderName", # required
1448
+ # value: "CustomHTTPHeaderValue", # required
1449
+ # },
1450
+ # ],
1451
+ # },
1320
1452
  # },
1321
1453
  # },
1322
1454
  # description: "EntityDescription",
@@ -1570,14 +1702,48 @@ module Aws::WAFV2
1570
1702
  # },
1571
1703
  # action: {
1572
1704
  # block: {
1705
+ # custom_response: {
1706
+ # response_code: 1, # required
1707
+ # custom_response_body_key: "EntityName",
1708
+ # response_headers: [
1709
+ # {
1710
+ # name: "CustomHTTPHeaderName", # required
1711
+ # value: "CustomHTTPHeaderValue", # required
1712
+ # },
1713
+ # ],
1714
+ # },
1573
1715
  # },
1574
1716
  # allow: {
1717
+ # custom_request_handling: {
1718
+ # insert_headers: [ # required
1719
+ # {
1720
+ # name: "CustomHTTPHeaderName", # required
1721
+ # value: "CustomHTTPHeaderValue", # required
1722
+ # },
1723
+ # ],
1724
+ # },
1575
1725
  # },
1576
1726
  # count: {
1727
+ # custom_request_handling: {
1728
+ # insert_headers: [ # required
1729
+ # {
1730
+ # name: "CustomHTTPHeaderName", # required
1731
+ # value: "CustomHTTPHeaderValue", # required
1732
+ # },
1733
+ # ],
1734
+ # },
1577
1735
  # },
1578
1736
  # },
1579
1737
  # override_action: {
1580
1738
  # count: {
1739
+ # custom_request_handling: {
1740
+ # insert_headers: [ # required
1741
+ # {
1742
+ # name: "CustomHTTPHeaderName", # required
1743
+ # value: "CustomHTTPHeaderValue", # required
1744
+ # },
1745
+ # ],
1746
+ # },
1581
1747
  # },
1582
1748
  # none: {
1583
1749
  # },
@@ -1600,6 +1766,12 @@ module Aws::WAFV2
1600
1766
  # value: "TagValue", # required
1601
1767
  # },
1602
1768
  # ],
1769
+ # custom_response_bodies: {
1770
+ # "EntityName" => {
1771
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
1772
+ # content: "ResponseContent", # required
1773
+ # },
1774
+ # },
1603
1775
  # })
1604
1776
  #
1605
1777
  # @example Response structure
@@ -1978,6 +2150,17 @@ module Aws::WAFV2
1978
2150
  # resp.capacity #=> Integer
1979
2151
  # resp.rules #=> Array
1980
2152
  # resp.rules[0].name #=> String
2153
+ # resp.rules[0].action.block.custom_response.response_code #=> Integer
2154
+ # resp.rules[0].action.block.custom_response.custom_response_body_key #=> String
2155
+ # resp.rules[0].action.block.custom_response.response_headers #=> Array
2156
+ # resp.rules[0].action.block.custom_response.response_headers[0].name #=> String
2157
+ # resp.rules[0].action.block.custom_response.response_headers[0].value #=> String
2158
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2159
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2160
+ # resp.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2161
+ # resp.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2162
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2163
+ # resp.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
1981
2164
  #
1982
2165
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/DescribeManagedRuleGroup AWS API Documentation
1983
2166
  #
@@ -2405,12 +2588,29 @@ module Aws::WAFV2
2405
2588
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.name #=> String
2406
2589
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2407
2590
  # resp.rule_group.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2591
+ # resp.rule_group.rules[0].action.block.custom_response.response_code #=> Integer
2592
+ # resp.rule_group.rules[0].action.block.custom_response.custom_response_body_key #=> String
2593
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers #=> Array
2594
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].name #=> String
2595
+ # resp.rule_group.rules[0].action.block.custom_response.response_headers[0].value #=> String
2596
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2597
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2598
+ # resp.rule_group.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2599
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2600
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2601
+ # resp.rule_group.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2602
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2603
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2604
+ # resp.rule_group.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2408
2605
  # resp.rule_group.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2409
2606
  # resp.rule_group.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2410
2607
  # resp.rule_group.rules[0].visibility_config.metric_name #=> String
2411
2608
  # resp.rule_group.visibility_config.sampled_requests_enabled #=> Boolean
2412
2609
  # resp.rule_group.visibility_config.cloud_watch_metrics_enabled #=> Boolean
2413
2610
  # resp.rule_group.visibility_config.metric_name #=> String
2611
+ # resp.rule_group.custom_response_bodies #=> Hash
2612
+ # resp.rule_group.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
2613
+ # resp.rule_group.custom_response_bodies["EntityName"].content #=> String
2414
2614
  # resp.lock_token #=> String
2415
2615
  #
2416
2616
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetRuleGroup AWS API Documentation
@@ -2507,6 +2707,10 @@ module Aws::WAFV2
2507
2707
  # resp.sampled_requests[0].timestamp #=> Time
2508
2708
  # resp.sampled_requests[0].action #=> String
2509
2709
  # resp.sampled_requests[0].rule_name_within_rule_group #=> String
2710
+ # resp.sampled_requests[0].request_headers_inserted #=> Array
2711
+ # resp.sampled_requests[0].request_headers_inserted[0].name #=> String
2712
+ # resp.sampled_requests[0].request_headers_inserted[0].value #=> String
2713
+ # resp.sampled_requests[0].response_code_sent #=> Integer
2510
2714
  # resp.population_size #=> Integer
2511
2715
  # resp.time_window.start_time #=> Time
2512
2716
  # resp.time_window.end_time #=> Time
@@ -2563,6 +2767,14 @@ module Aws::WAFV2
2563
2767
  # resp.web_acl.name #=> String
2564
2768
  # resp.web_acl.id #=> String
2565
2769
  # resp.web_acl.arn #=> String
2770
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
2771
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
2772
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
2773
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
2774
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
2775
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
2776
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
2777
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2566
2778
  # resp.web_acl.description #=> String
2567
2779
  # resp.web_acl.rules #=> Array
2568
2780
  # resp.web_acl.rules[0].name #=> String
@@ -2642,6 +2854,20 @@ module Aws::WAFV2
2642
2854
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2643
2855
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2644
2856
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
2857
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
2858
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
2859
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
2860
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
2861
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
2862
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
2863
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
2864
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
2865
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
2866
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
2867
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
2868
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
2869
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2870
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2645
2871
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2646
2872
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2647
2873
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2659,6 +2885,9 @@ module Aws::WAFV2
2659
2885
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2660
2886
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2661
2887
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2888
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
2889
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2890
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2662
2891
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2663
2892
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2664
2893
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2672,10 +2901,16 @@ module Aws::WAFV2
2672
2901
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2673
2902
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2674
2903
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
2904
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
2905
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
2906
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2675
2907
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2676
2908
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2677
2909
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2678
2910
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
2911
+ # resp.web_acl.custom_response_bodies #=> Hash
2912
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
2913
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2679
2914
  # resp.lock_token #=> String
2680
2915
  #
2681
2916
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACL AWS API Documentation
@@ -2707,6 +2942,14 @@ module Aws::WAFV2
2707
2942
  # resp.web_acl.name #=> String
2708
2943
  # resp.web_acl.id #=> String
2709
2944
  # resp.web_acl.arn #=> String
2945
+ # resp.web_acl.default_action.block.custom_response.response_code #=> Integer
2946
+ # resp.web_acl.default_action.block.custom_response.custom_response_body_key #=> String
2947
+ # resp.web_acl.default_action.block.custom_response.response_headers #=> Array
2948
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].name #=> String
2949
+ # resp.web_acl.default_action.block.custom_response.response_headers[0].value #=> String
2950
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers #=> Array
2951
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].name #=> String
2952
+ # resp.web_acl.default_action.allow.custom_request_handling.insert_headers[0].value #=> String
2710
2953
  # resp.web_acl.description #=> String
2711
2954
  # resp.web_acl.rules #=> Array
2712
2955
  # resp.web_acl.rules[0].name #=> String
@@ -2786,6 +3029,20 @@ module Aws::WAFV2
2786
3029
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.name #=> String
2787
3030
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules #=> Array
2788
3031
  # resp.web_acl.rules[0].statement.managed_rule_group_statement.excluded_rules[0].name #=> String
3032
+ # resp.web_acl.rules[0].action.block.custom_response.response_code #=> Integer
3033
+ # resp.web_acl.rules[0].action.block.custom_response.custom_response_body_key #=> String
3034
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers #=> Array
3035
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].name #=> String
3036
+ # resp.web_acl.rules[0].action.block.custom_response.response_headers[0].value #=> String
3037
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers #=> Array
3038
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].name #=> String
3039
+ # resp.web_acl.rules[0].action.allow.custom_request_handling.insert_headers[0].value #=> String
3040
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers #=> Array
3041
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].name #=> String
3042
+ # resp.web_acl.rules[0].action.count.custom_request_handling.insert_headers[0].value #=> String
3043
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers #=> Array
3044
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3045
+ # resp.web_acl.rules[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2789
3046
  # resp.web_acl.rules[0].visibility_config.sampled_requests_enabled #=> Boolean
2790
3047
  # resp.web_acl.rules[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2791
3048
  # resp.web_acl.rules[0].visibility_config.metric_name #=> String
@@ -2803,6 +3060,9 @@ module Aws::WAFV2
2803
3060
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2804
3061
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2805
3062
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3063
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3064
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3065
+ # resp.web_acl.pre_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2806
3066
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2807
3067
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2808
3068
  # resp.web_acl.pre_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
@@ -2816,10 +3076,16 @@ module Aws::WAFV2
2816
3076
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.arn #=> String
2817
3077
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules #=> Array
2818
3078
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].firewall_manager_statement.rule_group_reference_statement.excluded_rules[0].name #=> String
3079
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers #=> Array
3080
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].name #=> String
3081
+ # resp.web_acl.post_process_firewall_manager_rule_groups[0].override_action.count.custom_request_handling.insert_headers[0].value #=> String
2819
3082
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.sampled_requests_enabled #=> Boolean
2820
3083
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.cloud_watch_metrics_enabled #=> Boolean
2821
3084
  # resp.web_acl.post_process_firewall_manager_rule_groups[0].visibility_config.metric_name #=> String
2822
3085
  # resp.web_acl.managed_by_firewall_manager #=> Boolean
3086
+ # resp.web_acl.custom_response_bodies #=> Hash
3087
+ # resp.web_acl.custom_response_bodies["EntityName"].content_type #=> String, one of "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON"
3088
+ # resp.web_acl.custom_response_bodies["EntityName"].content #=> String
2823
3089
  #
2824
3090
  # @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetWebACLForResource AWS API Documentation
2825
3091
  #
@@ -3537,14 +3803,6 @@ module Aws::WAFV2
3537
3803
 
3538
3804
  # Updates the specified IPSet.
3539
3805
  #
3540
- # <note markdown="1"> This operation completely replaces any IP address specifications that
3541
- # you already have in the IP set with the ones that you provide to this
3542
- # call. If you want to add to or modify the addresses that are already
3543
- # in the IP set, retrieve those by calling GetIPSet, update them, and
3544
- # provide the complete updated array of IP addresses to this call.
3545
- #
3546
- # </note>
3547
- #
3548
3806
  # @option params [required, String] :name
3549
3807
  # The name of the IP set. You cannot change the name of an `IPSet` after
3550
3808
  # you create it.
@@ -3767,6 +4025,26 @@ module Aws::WAFV2
3767
4025
  # fails with a `WAFOptimisticLockException`. If this happens, perform
3768
4026
  # another get, and use the new token returned by that operation.
3769
4027
  #
4028
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4029
+ # A map of custom response keys and content bodies. When you create a
4030
+ # rule with a block action, you can send a custom response to the web
4031
+ # request. You define these for the rule group, and then use them in the
4032
+ # rules that you define in the rule group.
4033
+ #
4034
+ # For information about customizing web requests and responses, see
4035
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
4036
+ # Developer Guide][2].
4037
+ #
4038
+ # For information about the limits on count and size for custom request
4039
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
4040
+ # Developer Guide][2].
4041
+ #
4042
+ #
4043
+ #
4044
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4045
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4046
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
4047
+ #
3770
4048
  # @return [Types::UpdateRuleGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3771
4049
  #
3772
4050
  # * {Types::UpdateRuleGroupResponse#next_lock_token #next_lock_token} => String
@@ -4028,14 +4306,48 @@ module Aws::WAFV2
4028
4306
  # },
4029
4307
  # action: {
4030
4308
  # block: {
4309
+ # custom_response: {
4310
+ # response_code: 1, # required
4311
+ # custom_response_body_key: "EntityName",
4312
+ # response_headers: [
4313
+ # {
4314
+ # name: "CustomHTTPHeaderName", # required
4315
+ # value: "CustomHTTPHeaderValue", # required
4316
+ # },
4317
+ # ],
4318
+ # },
4031
4319
  # },
4032
4320
  # allow: {
4321
+ # custom_request_handling: {
4322
+ # insert_headers: [ # required
4323
+ # {
4324
+ # name: "CustomHTTPHeaderName", # required
4325
+ # value: "CustomHTTPHeaderValue", # required
4326
+ # },
4327
+ # ],
4328
+ # },
4033
4329
  # },
4034
4330
  # count: {
4331
+ # custom_request_handling: {
4332
+ # insert_headers: [ # required
4333
+ # {
4334
+ # name: "CustomHTTPHeaderName", # required
4335
+ # value: "CustomHTTPHeaderValue", # required
4336
+ # },
4337
+ # ],
4338
+ # },
4035
4339
  # },
4036
4340
  # },
4037
4341
  # override_action: {
4038
4342
  # count: {
4343
+ # custom_request_handling: {
4344
+ # insert_headers: [ # required
4345
+ # {
4346
+ # name: "CustomHTTPHeaderName", # required
4347
+ # value: "CustomHTTPHeaderValue", # required
4348
+ # },
4349
+ # ],
4350
+ # },
4039
4351
  # },
4040
4352
  # none: {
4041
4353
  # },
@@ -4053,6 +4365,12 @@ module Aws::WAFV2
4053
4365
  # metric_name: "MetricName", # required
4054
4366
  # },
4055
4367
  # lock_token: "LockToken", # required
4368
+ # custom_response_bodies: {
4369
+ # "EntityName" => {
4370
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
4371
+ # content: "ResponseContent", # required
4372
+ # },
4373
+ # },
4056
4374
  # })
4057
4375
  #
4058
4376
  # @example Response structure
@@ -4130,6 +4448,26 @@ module Aws::WAFV2
4130
4448
  # fails with a `WAFOptimisticLockException`. If this happens, perform
4131
4449
  # another get, and use the new token returned by that operation.
4132
4450
  #
4451
+ # @option params [Hash<String,Types::CustomResponseBody>] :custom_response_bodies
4452
+ # A map of custom response keys and content bodies. When you create a
4453
+ # rule with a block action, you can send a custom response to the web
4454
+ # request. You define these for the web ACL, and then use them in the
4455
+ # rules and default actions that you define in the web ACL.
4456
+ #
4457
+ # For information about customizing web requests and responses, see
4458
+ # [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
4459
+ # Developer Guide][2].
4460
+ #
4461
+ # For information about the limits on count and size for custom request
4462
+ # and response settings, see [AWS WAF quotas][3] in the [AWS WAF
4463
+ # Developer Guide][2].
4464
+ #
4465
+ #
4466
+ #
4467
+ # [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
4468
+ # [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
4469
+ # [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
4470
+ #
4133
4471
  # @return [Types::UpdateWebACLResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4134
4472
  #
4135
4473
  # * {Types::UpdateWebACLResponse#next_lock_token #next_lock_token} => String
@@ -4142,8 +4480,26 @@ module Aws::WAFV2
4142
4480
  # id: "EntityId", # required
4143
4481
  # default_action: { # required
4144
4482
  # block: {
4483
+ # custom_response: {
4484
+ # response_code: 1, # required
4485
+ # custom_response_body_key: "EntityName",
4486
+ # response_headers: [
4487
+ # {
4488
+ # name: "CustomHTTPHeaderName", # required
4489
+ # value: "CustomHTTPHeaderValue", # required
4490
+ # },
4491
+ # ],
4492
+ # },
4145
4493
  # },
4146
4494
  # allow: {
4495
+ # custom_request_handling: {
4496
+ # insert_headers: [ # required
4497
+ # {
4498
+ # name: "CustomHTTPHeaderName", # required
4499
+ # value: "CustomHTTPHeaderValue", # required
4500
+ # },
4501
+ # ],
4502
+ # },
4147
4503
  # },
4148
4504
  # },
4149
4505
  # description: "EntityDescription",
@@ -4397,14 +4753,48 @@ module Aws::WAFV2
4397
4753
  # },
4398
4754
  # action: {
4399
4755
  # block: {
4756
+ # custom_response: {
4757
+ # response_code: 1, # required
4758
+ # custom_response_body_key: "EntityName",
4759
+ # response_headers: [
4760
+ # {
4761
+ # name: "CustomHTTPHeaderName", # required
4762
+ # value: "CustomHTTPHeaderValue", # required
4763
+ # },
4764
+ # ],
4765
+ # },
4400
4766
  # },
4401
4767
  # allow: {
4768
+ # custom_request_handling: {
4769
+ # insert_headers: [ # required
4770
+ # {
4771
+ # name: "CustomHTTPHeaderName", # required
4772
+ # value: "CustomHTTPHeaderValue", # required
4773
+ # },
4774
+ # ],
4775
+ # },
4402
4776
  # },
4403
4777
  # count: {
4778
+ # custom_request_handling: {
4779
+ # insert_headers: [ # required
4780
+ # {
4781
+ # name: "CustomHTTPHeaderName", # required
4782
+ # value: "CustomHTTPHeaderValue", # required
4783
+ # },
4784
+ # ],
4785
+ # },
4404
4786
  # },
4405
4787
  # },
4406
4788
  # override_action: {
4407
4789
  # count: {
4790
+ # custom_request_handling: {
4791
+ # insert_headers: [ # required
4792
+ # {
4793
+ # name: "CustomHTTPHeaderName", # required
4794
+ # value: "CustomHTTPHeaderValue", # required
4795
+ # },
4796
+ # ],
4797
+ # },
4408
4798
  # },
4409
4799
  # none: {
4410
4800
  # },
@@ -4422,6 +4812,12 @@ module Aws::WAFV2
4422
4812
  # metric_name: "MetricName", # required
4423
4813
  # },
4424
4814
  # lock_token: "LockToken", # required
4815
+ # custom_response_bodies: {
4816
+ # "EntityName" => {
4817
+ # content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
4818
+ # content: "ResponseContent", # required
4819
+ # },
4820
+ # },
4425
4821
  # })
4426
4822
  #
4427
4823
  # @example Response structure
@@ -4450,7 +4846,7 @@ module Aws::WAFV2
4450
4846
  params: params,
4451
4847
  config: config)
4452
4848
  context[:gem_name] = 'aws-sdk-wafv2'
4453
- context[:gem_version] = '1.18.0'
4849
+ context[:gem_version] = '1.19.0'
4454
4850
  Seahorse::Client::Request.new(handlers, context)
4455
4851
  end
4456
4852