aws-sdk-wafv2 1.18.0 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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