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 +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-wafv2.rb +1 -1
- data/lib/aws-sdk-wafv2/client.rb +405 -9
- data/lib/aws-sdk-wafv2/client_api.rb +43 -0
- data/lib/aws-sdk-wafv2/types.rb +785 -45
- metadata +4 -4
@@ -42,6 +42,14 @@ module Aws::WAFV2
|
|
42
42
|
CreateRuleGroupResponse = Shapes::StructureShape.new(name: 'CreateRuleGroupResponse')
|
43
43
|
CreateWebACLRequest = Shapes::StructureShape.new(name: 'CreateWebACLRequest')
|
44
44
|
CreateWebACLResponse = Shapes::StructureShape.new(name: 'CreateWebACLResponse')
|
45
|
+
CustomHTTPHeader = Shapes::StructureShape.new(name: 'CustomHTTPHeader')
|
46
|
+
CustomHTTPHeaderName = Shapes::StringShape.new(name: 'CustomHTTPHeaderName')
|
47
|
+
CustomHTTPHeaderValue = Shapes::StringShape.new(name: 'CustomHTTPHeaderValue')
|
48
|
+
CustomHTTPHeaders = Shapes::ListShape.new(name: 'CustomHTTPHeaders')
|
49
|
+
CustomRequestHandling = Shapes::StructureShape.new(name: 'CustomRequestHandling')
|
50
|
+
CustomResponse = Shapes::StructureShape.new(name: 'CustomResponse')
|
51
|
+
CustomResponseBodies = Shapes::MapShape.new(name: 'CustomResponseBodies')
|
52
|
+
CustomResponseBody = Shapes::StructureShape.new(name: 'CustomResponseBody')
|
45
53
|
DefaultAction = Shapes::StructureShape.new(name: 'DefaultAction')
|
46
54
|
DeleteFirewallManagerRuleGroupsRequest = Shapes::StructureShape.new(name: 'DeleteFirewallManagerRuleGroupsRequest')
|
47
55
|
DeleteFirewallManagerRuleGroupsResponse = Shapes::StructureShape.new(name: 'DeleteFirewallManagerRuleGroupsResponse')
|
@@ -174,6 +182,9 @@ module Aws::WAFV2
|
|
174
182
|
ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
|
175
183
|
ResourceArns = Shapes::ListShape.new(name: 'ResourceArns')
|
176
184
|
ResourceType = Shapes::StringShape.new(name: 'ResourceType')
|
185
|
+
ResponseContent = Shapes::StringShape.new(name: 'ResponseContent')
|
186
|
+
ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
|
187
|
+
ResponseStatusCode = Shapes::IntegerShape.new(name: 'ResponseStatusCode')
|
177
188
|
Rule = Shapes::StructureShape.new(name: 'Rule')
|
178
189
|
RuleAction = Shapes::StructureShape.new(name: 'RuleAction')
|
179
190
|
RuleGroup = Shapes::StructureShape.new(name: 'RuleGroup')
|
@@ -248,6 +259,7 @@ module Aws::WAFV2
|
|
248
259
|
|
249
260
|
AllQueryArguments.struct_class = Types::AllQueryArguments
|
250
261
|
|
262
|
+
AllowAction.add_member(:custom_request_handling, Shapes::ShapeRef.new(shape: CustomRequestHandling, location_name: "CustomRequestHandling"))
|
251
263
|
AllowAction.struct_class = Types::AllowAction
|
252
264
|
|
253
265
|
AndStatement.add_member(:statements, Shapes::ShapeRef.new(shape: Statements, required: true, location_name: "Statements"))
|
@@ -259,6 +271,7 @@ module Aws::WAFV2
|
|
259
271
|
|
260
272
|
AssociateWebACLResponse.struct_class = Types::AssociateWebACLResponse
|
261
273
|
|
274
|
+
BlockAction.add_member(:custom_response, Shapes::ShapeRef.new(shape: CustomResponse, location_name: "CustomResponse"))
|
262
275
|
BlockAction.struct_class = Types::BlockAction
|
263
276
|
|
264
277
|
Body.struct_class = Types::Body
|
@@ -276,6 +289,7 @@ module Aws::WAFV2
|
|
276
289
|
CheckCapacityResponse.add_member(:capacity, Shapes::ShapeRef.new(shape: ConsumedCapacity, location_name: "Capacity"))
|
277
290
|
CheckCapacityResponse.struct_class = Types::CheckCapacityResponse
|
278
291
|
|
292
|
+
CountAction.add_member(:custom_request_handling, Shapes::ShapeRef.new(shape: CustomRequestHandling, location_name: "CustomRequestHandling"))
|
279
293
|
CountAction.struct_class = Types::CountAction
|
280
294
|
|
281
295
|
CountryCodes.member = Shapes::ShapeRef.new(shape: CountryCode)
|
@@ -308,6 +322,7 @@ module Aws::WAFV2
|
|
308
322
|
CreateRuleGroupRequest.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
|
309
323
|
CreateRuleGroupRequest.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
310
324
|
CreateRuleGroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
325
|
+
CreateRuleGroupRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
311
326
|
CreateRuleGroupRequest.struct_class = Types::CreateRuleGroupRequest
|
312
327
|
|
313
328
|
CreateRuleGroupResponse.add_member(:summary, Shapes::ShapeRef.new(shape: RuleGroupSummary, location_name: "Summary"))
|
@@ -320,11 +335,33 @@ module Aws::WAFV2
|
|
320
335
|
CreateWebACLRequest.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
|
321
336
|
CreateWebACLRequest.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
322
337
|
CreateWebACLRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
338
|
+
CreateWebACLRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
323
339
|
CreateWebACLRequest.struct_class = Types::CreateWebACLRequest
|
324
340
|
|
325
341
|
CreateWebACLResponse.add_member(:summary, Shapes::ShapeRef.new(shape: WebACLSummary, location_name: "Summary"))
|
326
342
|
CreateWebACLResponse.struct_class = Types::CreateWebACLResponse
|
327
343
|
|
344
|
+
CustomHTTPHeader.add_member(:name, Shapes::ShapeRef.new(shape: CustomHTTPHeaderName, required: true, location_name: "Name"))
|
345
|
+
CustomHTTPHeader.add_member(:value, Shapes::ShapeRef.new(shape: CustomHTTPHeaderValue, required: true, location_name: "Value"))
|
346
|
+
CustomHTTPHeader.struct_class = Types::CustomHTTPHeader
|
347
|
+
|
348
|
+
CustomHTTPHeaders.member = Shapes::ShapeRef.new(shape: CustomHTTPHeader)
|
349
|
+
|
350
|
+
CustomRequestHandling.add_member(:insert_headers, Shapes::ShapeRef.new(shape: CustomHTTPHeaders, required: true, location_name: "InsertHeaders"))
|
351
|
+
CustomRequestHandling.struct_class = Types::CustomRequestHandling
|
352
|
+
|
353
|
+
CustomResponse.add_member(:response_code, Shapes::ShapeRef.new(shape: ResponseStatusCode, required: true, location_name: "ResponseCode"))
|
354
|
+
CustomResponse.add_member(:custom_response_body_key, Shapes::ShapeRef.new(shape: EntityName, location_name: "CustomResponseBodyKey"))
|
355
|
+
CustomResponse.add_member(:response_headers, Shapes::ShapeRef.new(shape: CustomHTTPHeaders, location_name: "ResponseHeaders"))
|
356
|
+
CustomResponse.struct_class = Types::CustomResponse
|
357
|
+
|
358
|
+
CustomResponseBodies.key = Shapes::ShapeRef.new(shape: EntityName)
|
359
|
+
CustomResponseBodies.value = Shapes::ShapeRef.new(shape: CustomResponseBody)
|
360
|
+
|
361
|
+
CustomResponseBody.add_member(:content_type, Shapes::ShapeRef.new(shape: ResponseContentType, required: true, location_name: "ContentType"))
|
362
|
+
CustomResponseBody.add_member(:content, Shapes::ShapeRef.new(shape: ResponseContent, required: true, location_name: "Content"))
|
363
|
+
CustomResponseBody.struct_class = Types::CustomResponseBody
|
364
|
+
|
328
365
|
DefaultAction.add_member(:block, Shapes::ShapeRef.new(shape: BlockAction, location_name: "Block"))
|
329
366
|
DefaultAction.add_member(:allow, Shapes::ShapeRef.new(shape: AllowAction, location_name: "Allow"))
|
330
367
|
DefaultAction.struct_class = Types::DefaultAction
|
@@ -737,6 +774,7 @@ module Aws::WAFV2
|
|
737
774
|
RuleGroup.add_member(:description, Shapes::ShapeRef.new(shape: EntityDescription, location_name: "Description"))
|
738
775
|
RuleGroup.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
|
739
776
|
RuleGroup.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
777
|
+
RuleGroup.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
740
778
|
RuleGroup.struct_class = Types::RuleGroup
|
741
779
|
|
742
780
|
RuleGroupReferenceStatement.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ARN"))
|
@@ -765,6 +803,8 @@ module Aws::WAFV2
|
|
765
803
|
SampledHTTPRequest.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
|
766
804
|
SampledHTTPRequest.add_member(:action, Shapes::ShapeRef.new(shape: Action, location_name: "Action"))
|
767
805
|
SampledHTTPRequest.add_member(:rule_name_within_rule_group, Shapes::ShapeRef.new(shape: EntityName, location_name: "RuleNameWithinRuleGroup"))
|
806
|
+
SampledHTTPRequest.add_member(:request_headers_inserted, Shapes::ShapeRef.new(shape: HTTPHeaders, location_name: "RequestHeadersInserted"))
|
807
|
+
SampledHTTPRequest.add_member(:response_code_sent, Shapes::ShapeRef.new(shape: ResponseStatusCode, location_name: "ResponseCodeSent"))
|
768
808
|
SampledHTTPRequest.struct_class = Types::SampledHTTPRequest
|
769
809
|
|
770
810
|
SampledHTTPRequests.member = Shapes::ShapeRef.new(shape: SampledHTTPRequest)
|
@@ -865,6 +905,7 @@ module Aws::WAFV2
|
|
865
905
|
UpdateRuleGroupRequest.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
|
866
906
|
UpdateRuleGroupRequest.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
867
907
|
UpdateRuleGroupRequest.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, required: true, location_name: "LockToken"))
|
908
|
+
UpdateRuleGroupRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
868
909
|
UpdateRuleGroupRequest.struct_class = Types::UpdateRuleGroupRequest
|
869
910
|
|
870
911
|
UpdateRuleGroupResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
|
@@ -878,6 +919,7 @@ module Aws::WAFV2
|
|
878
919
|
UpdateWebACLRequest.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
|
879
920
|
UpdateWebACLRequest.add_member(:visibility_config, Shapes::ShapeRef.new(shape: VisibilityConfig, required: true, location_name: "VisibilityConfig"))
|
880
921
|
UpdateWebACLRequest.add_member(:lock_token, Shapes::ShapeRef.new(shape: LockToken, required: true, location_name: "LockToken"))
|
922
|
+
UpdateWebACLRequest.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
881
923
|
UpdateWebACLRequest.struct_class = Types::UpdateWebACLRequest
|
882
924
|
|
883
925
|
UpdateWebACLResponse.add_member(:next_lock_token, Shapes::ShapeRef.new(shape: LockToken, location_name: "NextLockToken"))
|
@@ -949,6 +991,7 @@ module Aws::WAFV2
|
|
949
991
|
WebACL.add_member(:pre_process_firewall_manager_rule_groups, Shapes::ShapeRef.new(shape: FirewallManagerRuleGroups, location_name: "PreProcessFirewallManagerRuleGroups"))
|
950
992
|
WebACL.add_member(:post_process_firewall_manager_rule_groups, Shapes::ShapeRef.new(shape: FirewallManagerRuleGroups, location_name: "PostProcessFirewallManagerRuleGroups"))
|
951
993
|
WebACL.add_member(:managed_by_firewall_manager, Shapes::ShapeRef.new(shape: Boolean, location_name: "ManagedByFirewallManager"))
|
994
|
+
WebACL.add_member(:custom_response_bodies, Shapes::ShapeRef.new(shape: CustomResponseBodies, location_name: "CustomResponseBodies"))
|
952
995
|
WebACL.struct_class = Types::WebACL
|
953
996
|
|
954
997
|
WebACLSummaries.member = Shapes::ShapeRef.new(shape: WebACLSummary)
|
data/lib/aws-sdk-wafv2/types.rb
CHANGED
@@ -34,16 +34,46 @@ module Aws::WAFV2
|
|
34
34
|
#
|
35
35
|
class AllQueryArguments < Aws::EmptyStructure; end
|
36
36
|
|
37
|
-
# Specifies that AWS WAF should allow
|
37
|
+
# Specifies that AWS WAF should allow the request and optionally defines
|
38
|
+
# additional custom handling for the request.
|
38
39
|
#
|
39
|
-
# This is used
|
40
|
-
#
|
40
|
+
# This is used in the context of other settings, for example to specify
|
41
|
+
# values for RuleAction and web ACL DefaultAction.
|
41
42
|
#
|
42
|
-
# @
|
43
|
+
# @note When making an API call, you may pass AllowAction
|
44
|
+
# data as a hash:
|
45
|
+
#
|
46
|
+
# {
|
47
|
+
# custom_request_handling: {
|
48
|
+
# insert_headers: [ # required
|
49
|
+
# {
|
50
|
+
# name: "CustomHTTPHeaderName", # required
|
51
|
+
# value: "CustomHTTPHeaderValue", # required
|
52
|
+
# },
|
53
|
+
# ],
|
54
|
+
# },
|
55
|
+
# }
|
56
|
+
#
|
57
|
+
# @!attribute [rw] custom_request_handling
|
58
|
+
# Defines custom handling for the web request.
|
59
|
+
#
|
60
|
+
# For information about customizing web requests and responses, see
|
61
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
62
|
+
# WAF Developer Guide][2].
|
63
|
+
#
|
64
|
+
#
|
65
|
+
#
|
66
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
67
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
68
|
+
# @return [Types::CustomRequestHandling]
|
43
69
|
#
|
44
70
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/AllowAction AWS API Documentation
|
45
71
|
#
|
46
|
-
class AllowAction <
|
72
|
+
class AllowAction < Struct.new(
|
73
|
+
:custom_request_handling)
|
74
|
+
SENSITIVE = []
|
75
|
+
include Aws::Structure
|
76
|
+
end
|
47
77
|
|
48
78
|
# A logical rule statement used to combine other rule statements with
|
49
79
|
# AND logic. You provide more than one Statement within the
|
@@ -353,16 +383,48 @@ module Aws::WAFV2
|
|
353
383
|
#
|
354
384
|
class AssociateWebACLResponse < Aws::EmptyStructure; end
|
355
385
|
|
356
|
-
# Specifies that AWS WAF should block
|
386
|
+
# Specifies that AWS WAF should block the request and optionally defines
|
387
|
+
# additional custom handling for the response to the web request.
|
357
388
|
#
|
358
|
-
# This is used
|
359
|
-
#
|
389
|
+
# This is used in the context of other settings, for example to specify
|
390
|
+
# values for RuleAction and web ACL DefaultAction.
|
360
391
|
#
|
361
|
-
# @
|
392
|
+
# @note When making an API call, you may pass BlockAction
|
393
|
+
# data as a hash:
|
394
|
+
#
|
395
|
+
# {
|
396
|
+
# custom_response: {
|
397
|
+
# response_code: 1, # required
|
398
|
+
# custom_response_body_key: "EntityName",
|
399
|
+
# response_headers: [
|
400
|
+
# {
|
401
|
+
# name: "CustomHTTPHeaderName", # required
|
402
|
+
# value: "CustomHTTPHeaderValue", # required
|
403
|
+
# },
|
404
|
+
# ],
|
405
|
+
# },
|
406
|
+
# }
|
407
|
+
#
|
408
|
+
# @!attribute [rw] custom_response
|
409
|
+
# Defines a custom response for the web request.
|
410
|
+
#
|
411
|
+
# For information about customizing web requests and responses, see
|
412
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
413
|
+
# WAF Developer Guide][2].
|
414
|
+
#
|
415
|
+
#
|
416
|
+
#
|
417
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
418
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
419
|
+
# @return [Types::CustomResponse]
|
362
420
|
#
|
363
421
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/BlockAction AWS API Documentation
|
364
422
|
#
|
365
|
-
class BlockAction <
|
423
|
+
class BlockAction < Struct.new(
|
424
|
+
:custom_response)
|
425
|
+
SENSITIVE = []
|
426
|
+
include Aws::Structure
|
427
|
+
end
|
366
428
|
|
367
429
|
# The body of a web request. This immediately follows the request
|
368
430
|
# headers.
|
@@ -781,14 +843,48 @@ module Aws::WAFV2
|
|
781
843
|
# },
|
782
844
|
# action: {
|
783
845
|
# block: {
|
846
|
+
# custom_response: {
|
847
|
+
# response_code: 1, # required
|
848
|
+
# custom_response_body_key: "EntityName",
|
849
|
+
# response_headers: [
|
850
|
+
# {
|
851
|
+
# name: "CustomHTTPHeaderName", # required
|
852
|
+
# value: "CustomHTTPHeaderValue", # required
|
853
|
+
# },
|
854
|
+
# ],
|
855
|
+
# },
|
784
856
|
# },
|
785
857
|
# allow: {
|
858
|
+
# custom_request_handling: {
|
859
|
+
# insert_headers: [ # required
|
860
|
+
# {
|
861
|
+
# name: "CustomHTTPHeaderName", # required
|
862
|
+
# value: "CustomHTTPHeaderValue", # required
|
863
|
+
# },
|
864
|
+
# ],
|
865
|
+
# },
|
786
866
|
# },
|
787
867
|
# count: {
|
868
|
+
# custom_request_handling: {
|
869
|
+
# insert_headers: [ # required
|
870
|
+
# {
|
871
|
+
# name: "CustomHTTPHeaderName", # required
|
872
|
+
# value: "CustomHTTPHeaderValue", # required
|
873
|
+
# },
|
874
|
+
# ],
|
875
|
+
# },
|
788
876
|
# },
|
789
877
|
# },
|
790
878
|
# override_action: {
|
791
879
|
# count: {
|
880
|
+
# custom_request_handling: {
|
881
|
+
# insert_headers: [ # required
|
882
|
+
# {
|
883
|
+
# name: "CustomHTTPHeaderName", # required
|
884
|
+
# value: "CustomHTTPHeaderValue", # required
|
885
|
+
# },
|
886
|
+
# ],
|
887
|
+
# },
|
792
888
|
# },
|
793
889
|
# none: {
|
794
890
|
# },
|
@@ -843,16 +939,46 @@ module Aws::WAFV2
|
|
843
939
|
include Aws::Structure
|
844
940
|
end
|
845
941
|
|
846
|
-
# Specifies that AWS WAF should count
|
942
|
+
# Specifies that AWS WAF should count the request. Optionally defines
|
943
|
+
# additional custom handling for the request.
|
847
944
|
#
|
848
|
-
# This is used
|
849
|
-
#
|
945
|
+
# This is used in the context of other settings, for example to specify
|
946
|
+
# values for RuleAction and web ACL DefaultAction.
|
850
947
|
#
|
851
|
-
# @
|
948
|
+
# @note When making an API call, you may pass CountAction
|
949
|
+
# data as a hash:
|
950
|
+
#
|
951
|
+
# {
|
952
|
+
# custom_request_handling: {
|
953
|
+
# insert_headers: [ # required
|
954
|
+
# {
|
955
|
+
# name: "CustomHTTPHeaderName", # required
|
956
|
+
# value: "CustomHTTPHeaderValue", # required
|
957
|
+
# },
|
958
|
+
# ],
|
959
|
+
# },
|
960
|
+
# }
|
961
|
+
#
|
962
|
+
# @!attribute [rw] custom_request_handling
|
963
|
+
# Defines custom handling for the web request.
|
964
|
+
#
|
965
|
+
# For information about customizing web requests and responses, see
|
966
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
967
|
+
# WAF Developer Guide][2].
|
968
|
+
#
|
969
|
+
#
|
970
|
+
#
|
971
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
972
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
973
|
+
# @return [Types::CustomRequestHandling]
|
852
974
|
#
|
853
975
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CountAction AWS API Documentation
|
854
976
|
#
|
855
|
-
class CountAction <
|
977
|
+
class CountAction < Struct.new(
|
978
|
+
:custom_request_handling)
|
979
|
+
SENSITIVE = []
|
980
|
+
include Aws::Structure
|
981
|
+
end
|
856
982
|
|
857
983
|
# @note When making an API call, you may pass CreateIPSetRequest
|
858
984
|
# data as a hash:
|
@@ -1304,14 +1430,48 @@ module Aws::WAFV2
|
|
1304
1430
|
# },
|
1305
1431
|
# action: {
|
1306
1432
|
# block: {
|
1433
|
+
# custom_response: {
|
1434
|
+
# response_code: 1, # required
|
1435
|
+
# custom_response_body_key: "EntityName",
|
1436
|
+
# response_headers: [
|
1437
|
+
# {
|
1438
|
+
# name: "CustomHTTPHeaderName", # required
|
1439
|
+
# value: "CustomHTTPHeaderValue", # required
|
1440
|
+
# },
|
1441
|
+
# ],
|
1442
|
+
# },
|
1307
1443
|
# },
|
1308
1444
|
# allow: {
|
1445
|
+
# custom_request_handling: {
|
1446
|
+
# insert_headers: [ # required
|
1447
|
+
# {
|
1448
|
+
# name: "CustomHTTPHeaderName", # required
|
1449
|
+
# value: "CustomHTTPHeaderValue", # required
|
1450
|
+
# },
|
1451
|
+
# ],
|
1452
|
+
# },
|
1309
1453
|
# },
|
1310
1454
|
# count: {
|
1455
|
+
# custom_request_handling: {
|
1456
|
+
# insert_headers: [ # required
|
1457
|
+
# {
|
1458
|
+
# name: "CustomHTTPHeaderName", # required
|
1459
|
+
# value: "CustomHTTPHeaderValue", # required
|
1460
|
+
# },
|
1461
|
+
# ],
|
1462
|
+
# },
|
1311
1463
|
# },
|
1312
1464
|
# },
|
1313
1465
|
# override_action: {
|
1314
1466
|
# count: {
|
1467
|
+
# custom_request_handling: {
|
1468
|
+
# insert_headers: [ # required
|
1469
|
+
# {
|
1470
|
+
# name: "CustomHTTPHeaderName", # required
|
1471
|
+
# value: "CustomHTTPHeaderValue", # required
|
1472
|
+
# },
|
1473
|
+
# ],
|
1474
|
+
# },
|
1315
1475
|
# },
|
1316
1476
|
# none: {
|
1317
1477
|
# },
|
@@ -1334,6 +1494,12 @@ module Aws::WAFV2
|
|
1334
1494
|
# value: "TagValue", # required
|
1335
1495
|
# },
|
1336
1496
|
# ],
|
1497
|
+
# custom_response_bodies: {
|
1498
|
+
# "EntityName" => {
|
1499
|
+
# content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
|
1500
|
+
# content: "ResponseContent", # required
|
1501
|
+
# },
|
1502
|
+
# },
|
1337
1503
|
# }
|
1338
1504
|
#
|
1339
1505
|
# @!attribute [rw] name
|
@@ -1394,6 +1560,27 @@ module Aws::WAFV2
|
|
1394
1560
|
# An array of key:value pairs to associate with the resource.
|
1395
1561
|
# @return [Array<Types::Tag>]
|
1396
1562
|
#
|
1563
|
+
# @!attribute [rw] custom_response_bodies
|
1564
|
+
# A map of custom response keys and content bodies. When you create a
|
1565
|
+
# rule with a block action, you can send a custom response to the web
|
1566
|
+
# request. You define these for the rule group, and then use them in
|
1567
|
+
# the rules that you define in the rule group.
|
1568
|
+
#
|
1569
|
+
# For information about customizing web requests and responses, see
|
1570
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
1571
|
+
# WAF Developer Guide][2].
|
1572
|
+
#
|
1573
|
+
# For information about the limits on count and size for custom
|
1574
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
1575
|
+
# WAF Developer Guide][2].
|
1576
|
+
#
|
1577
|
+
#
|
1578
|
+
#
|
1579
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
1580
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
1581
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
1582
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
1583
|
+
#
|
1397
1584
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRuleGroupRequest AWS API Documentation
|
1398
1585
|
#
|
1399
1586
|
class CreateRuleGroupRequest < Struct.new(
|
@@ -1403,7 +1590,8 @@ module Aws::WAFV2
|
|
1403
1590
|
:description,
|
1404
1591
|
:rules,
|
1405
1592
|
:visibility_config,
|
1406
|
-
:tags
|
1593
|
+
:tags,
|
1594
|
+
:custom_response_bodies)
|
1407
1595
|
SENSITIVE = []
|
1408
1596
|
include Aws::Structure
|
1409
1597
|
end
|
@@ -1432,8 +1620,26 @@ module Aws::WAFV2
|
|
1432
1620
|
# scope: "CLOUDFRONT", # required, accepts CLOUDFRONT, REGIONAL
|
1433
1621
|
# default_action: { # required
|
1434
1622
|
# block: {
|
1623
|
+
# custom_response: {
|
1624
|
+
# response_code: 1, # required
|
1625
|
+
# custom_response_body_key: "EntityName",
|
1626
|
+
# response_headers: [
|
1627
|
+
# {
|
1628
|
+
# name: "CustomHTTPHeaderName", # required
|
1629
|
+
# value: "CustomHTTPHeaderValue", # required
|
1630
|
+
# },
|
1631
|
+
# ],
|
1632
|
+
# },
|
1435
1633
|
# },
|
1436
1634
|
# allow: {
|
1635
|
+
# custom_request_handling: {
|
1636
|
+
# insert_headers: [ # required
|
1637
|
+
# {
|
1638
|
+
# name: "CustomHTTPHeaderName", # required
|
1639
|
+
# value: "CustomHTTPHeaderValue", # required
|
1640
|
+
# },
|
1641
|
+
# ],
|
1642
|
+
# },
|
1437
1643
|
# },
|
1438
1644
|
# },
|
1439
1645
|
# description: "EntityDescription",
|
@@ -1687,14 +1893,48 @@ module Aws::WAFV2
|
|
1687
1893
|
# },
|
1688
1894
|
# action: {
|
1689
1895
|
# block: {
|
1896
|
+
# custom_response: {
|
1897
|
+
# response_code: 1, # required
|
1898
|
+
# custom_response_body_key: "EntityName",
|
1899
|
+
# response_headers: [
|
1900
|
+
# {
|
1901
|
+
# name: "CustomHTTPHeaderName", # required
|
1902
|
+
# value: "CustomHTTPHeaderValue", # required
|
1903
|
+
# },
|
1904
|
+
# ],
|
1905
|
+
# },
|
1690
1906
|
# },
|
1691
1907
|
# allow: {
|
1908
|
+
# custom_request_handling: {
|
1909
|
+
# insert_headers: [ # required
|
1910
|
+
# {
|
1911
|
+
# name: "CustomHTTPHeaderName", # required
|
1912
|
+
# value: "CustomHTTPHeaderValue", # required
|
1913
|
+
# },
|
1914
|
+
# ],
|
1915
|
+
# },
|
1692
1916
|
# },
|
1693
1917
|
# count: {
|
1918
|
+
# custom_request_handling: {
|
1919
|
+
# insert_headers: [ # required
|
1920
|
+
# {
|
1921
|
+
# name: "CustomHTTPHeaderName", # required
|
1922
|
+
# value: "CustomHTTPHeaderValue", # required
|
1923
|
+
# },
|
1924
|
+
# ],
|
1925
|
+
# },
|
1694
1926
|
# },
|
1695
1927
|
# },
|
1696
1928
|
# override_action: {
|
1697
1929
|
# count: {
|
1930
|
+
# custom_request_handling: {
|
1931
|
+
# insert_headers: [ # required
|
1932
|
+
# {
|
1933
|
+
# name: "CustomHTTPHeaderName", # required
|
1934
|
+
# value: "CustomHTTPHeaderValue", # required
|
1935
|
+
# },
|
1936
|
+
# ],
|
1937
|
+
# },
|
1698
1938
|
# },
|
1699
1939
|
# none: {
|
1700
1940
|
# },
|
@@ -1717,6 +1957,12 @@ module Aws::WAFV2
|
|
1717
1957
|
# value: "TagValue", # required
|
1718
1958
|
# },
|
1719
1959
|
# ],
|
1960
|
+
# custom_response_bodies: {
|
1961
|
+
# "EntityName" => {
|
1962
|
+
# content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
|
1963
|
+
# content: "ResponseContent", # required
|
1964
|
+
# },
|
1965
|
+
# },
|
1720
1966
|
# }
|
1721
1967
|
#
|
1722
1968
|
# @!attribute [rw] name
|
@@ -1764,6 +2010,27 @@ module Aws::WAFV2
|
|
1764
2010
|
# An array of key:value pairs to associate with the resource.
|
1765
2011
|
# @return [Array<Types::Tag>]
|
1766
2012
|
#
|
2013
|
+
# @!attribute [rw] custom_response_bodies
|
2014
|
+
# A map of custom response keys and content bodies. When you create a
|
2015
|
+
# rule with a block action, you can send a custom response to the web
|
2016
|
+
# request. You define these for the web ACL, and then use them in the
|
2017
|
+
# rules and default actions that you define in the web ACL.
|
2018
|
+
#
|
2019
|
+
# For information about customizing web requests and responses, see
|
2020
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
2021
|
+
# WAF Developer Guide][2].
|
2022
|
+
#
|
2023
|
+
# For information about the limits on count and size for custom
|
2024
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
2025
|
+
# WAF Developer Guide][2].
|
2026
|
+
#
|
2027
|
+
#
|
2028
|
+
#
|
2029
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
2030
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2031
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
2032
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
2033
|
+
#
|
1767
2034
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateWebACLRequest AWS API Documentation
|
1768
2035
|
#
|
1769
2036
|
class CreateWebACLRequest < Struct.new(
|
@@ -1773,7 +2040,8 @@ module Aws::WAFV2
|
|
1773
2040
|
:description,
|
1774
2041
|
:rules,
|
1775
2042
|
:visibility_config,
|
1776
|
-
:tags
|
2043
|
+
:tags,
|
2044
|
+
:custom_response_bodies)
|
1777
2045
|
SENSITIVE = []
|
1778
2046
|
include Aws::Structure
|
1779
2047
|
end
|
@@ -1793,17 +2061,232 @@ module Aws::WAFV2
|
|
1793
2061
|
include Aws::Structure
|
1794
2062
|
end
|
1795
2063
|
|
2064
|
+
# A custom header for custom request and response handling. This is used
|
2065
|
+
# in CustomResponse and CustomRequestHandling.
|
2066
|
+
#
|
2067
|
+
# @note When making an API call, you may pass CustomHTTPHeader
|
2068
|
+
# data as a hash:
|
2069
|
+
#
|
2070
|
+
# {
|
2071
|
+
# name: "CustomHTTPHeaderName", # required
|
2072
|
+
# value: "CustomHTTPHeaderValue", # required
|
2073
|
+
# }
|
2074
|
+
#
|
2075
|
+
# @!attribute [rw] name
|
2076
|
+
# The name of the custom header.
|
2077
|
+
#
|
2078
|
+
# For custom request header insertion, when AWS WAF inserts the header
|
2079
|
+
# into the request, it prefixes this name `x-amzn-waf-`, to avoid
|
2080
|
+
# confusion with the headers that are already in the request. For
|
2081
|
+
# example, for the header name `sample`, AWS WAF inserts the header
|
2082
|
+
# `x-amzn-waf-sample`.
|
2083
|
+
# @return [String]
|
2084
|
+
#
|
2085
|
+
# @!attribute [rw] value
|
2086
|
+
# The value of the custom header.
|
2087
|
+
# @return [String]
|
2088
|
+
#
|
2089
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CustomHTTPHeader AWS API Documentation
|
2090
|
+
#
|
2091
|
+
class CustomHTTPHeader < Struct.new(
|
2092
|
+
:name,
|
2093
|
+
:value)
|
2094
|
+
SENSITIVE = []
|
2095
|
+
include Aws::Structure
|
2096
|
+
end
|
2097
|
+
|
2098
|
+
# Custom request handling behavior that inserts custom headers into a
|
2099
|
+
# web request. You can add custom request handling for the rule actions
|
2100
|
+
# allow and count.
|
2101
|
+
#
|
2102
|
+
# For information about customizing web requests and responses, see
|
2103
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
|
2104
|
+
# Developer Guide][2].
|
2105
|
+
#
|
2106
|
+
#
|
2107
|
+
#
|
2108
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
2109
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2110
|
+
#
|
2111
|
+
# @note When making an API call, you may pass CustomRequestHandling
|
2112
|
+
# data as a hash:
|
2113
|
+
#
|
2114
|
+
# {
|
2115
|
+
# insert_headers: [ # required
|
2116
|
+
# {
|
2117
|
+
# name: "CustomHTTPHeaderName", # required
|
2118
|
+
# value: "CustomHTTPHeaderValue", # required
|
2119
|
+
# },
|
2120
|
+
# ],
|
2121
|
+
# }
|
2122
|
+
#
|
2123
|
+
# @!attribute [rw] insert_headers
|
2124
|
+
# The HTTP headers to insert into the request. Duplicate header names
|
2125
|
+
# are not allowed.
|
2126
|
+
#
|
2127
|
+
# For information about the limits on count and size for custom
|
2128
|
+
# request and response settings, see [AWS WAF quotas][1] in the [AWS
|
2129
|
+
# WAF Developer Guide][2].
|
2130
|
+
#
|
2131
|
+
#
|
2132
|
+
#
|
2133
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
2134
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2135
|
+
# @return [Array<Types::CustomHTTPHeader>]
|
2136
|
+
#
|
2137
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CustomRequestHandling AWS API Documentation
|
2138
|
+
#
|
2139
|
+
class CustomRequestHandling < Struct.new(
|
2140
|
+
:insert_headers)
|
2141
|
+
SENSITIVE = []
|
2142
|
+
include Aws::Structure
|
2143
|
+
end
|
2144
|
+
|
2145
|
+
# A custom response to send to the client. You can define a custom
|
2146
|
+
# response for rule actions and default web ACL actions that are set to
|
2147
|
+
# BlockAction.
|
2148
|
+
#
|
2149
|
+
# For information about customizing web requests and responses, see
|
2150
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS WAF
|
2151
|
+
# Developer Guide][2].
|
2152
|
+
#
|
2153
|
+
#
|
2154
|
+
#
|
2155
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
2156
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2157
|
+
#
|
2158
|
+
# @note When making an API call, you may pass CustomResponse
|
2159
|
+
# data as a hash:
|
2160
|
+
#
|
2161
|
+
# {
|
2162
|
+
# response_code: 1, # required
|
2163
|
+
# custom_response_body_key: "EntityName",
|
2164
|
+
# response_headers: [
|
2165
|
+
# {
|
2166
|
+
# name: "CustomHTTPHeaderName", # required
|
2167
|
+
# value: "CustomHTTPHeaderValue", # required
|
2168
|
+
# },
|
2169
|
+
# ],
|
2170
|
+
# }
|
2171
|
+
#
|
2172
|
+
# @!attribute [rw] response_code
|
2173
|
+
# The HTTP status code to return to the client.
|
2174
|
+
#
|
2175
|
+
# For a list of status codes that you can use in your custom
|
2176
|
+
# reqponses, see [Supported status codes for custom response][1] in
|
2177
|
+
# the [AWS WAF Developer Guide][2].
|
2178
|
+
#
|
2179
|
+
#
|
2180
|
+
#
|
2181
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-status-codes.html
|
2182
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2183
|
+
# @return [Integer]
|
2184
|
+
#
|
2185
|
+
# @!attribute [rw] custom_response_body_key
|
2186
|
+
# References the response body that you want AWS WAF to return to the
|
2187
|
+
# web request client. You can define a custom response for a rule
|
2188
|
+
# action or a default web ACL action that is set to block. To do this,
|
2189
|
+
# you first define the response body key and value in the
|
2190
|
+
# `CustomResponseBodies` setting for the WebACL or RuleGroup where you
|
2191
|
+
# want to use it. Then, in the rule action or web ACL default action
|
2192
|
+
# `BlockAction` setting, you reference the response body using this
|
2193
|
+
# key.
|
2194
|
+
# @return [String]
|
2195
|
+
#
|
2196
|
+
# @!attribute [rw] response_headers
|
2197
|
+
# The HTTP headers to use in the response. Duplicate header names are
|
2198
|
+
# not allowed.
|
2199
|
+
#
|
2200
|
+
# For information about the limits on count and size for custom
|
2201
|
+
# request and response settings, see [AWS WAF quotas][1] in the [AWS
|
2202
|
+
# WAF Developer Guide][2].
|
2203
|
+
#
|
2204
|
+
#
|
2205
|
+
#
|
2206
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
2207
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2208
|
+
# @return [Array<Types::CustomHTTPHeader>]
|
2209
|
+
#
|
2210
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CustomResponse AWS API Documentation
|
2211
|
+
#
|
2212
|
+
class CustomResponse < Struct.new(
|
2213
|
+
:response_code,
|
2214
|
+
:custom_response_body_key,
|
2215
|
+
:response_headers)
|
2216
|
+
SENSITIVE = []
|
2217
|
+
include Aws::Structure
|
2218
|
+
end
|
2219
|
+
|
2220
|
+
# The response body to use in a custom response to a web request. This
|
2221
|
+
# is referenced by key from CustomResponse `CustomResponseBodyKey`.
|
2222
|
+
#
|
2223
|
+
# @note When making an API call, you may pass CustomResponseBody
|
2224
|
+
# data as a hash:
|
2225
|
+
#
|
2226
|
+
# {
|
2227
|
+
# content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
|
2228
|
+
# content: "ResponseContent", # required
|
2229
|
+
# }
|
2230
|
+
#
|
2231
|
+
# @!attribute [rw] content_type
|
2232
|
+
# The type of content in the payload that you are defining in the
|
2233
|
+
# `Content` string.
|
2234
|
+
# @return [String]
|
2235
|
+
#
|
2236
|
+
# @!attribute [rw] content
|
2237
|
+
# The payload of the custom response.
|
2238
|
+
#
|
2239
|
+
# You can use JSON escape strings in JSON content. To do this, you
|
2240
|
+
# must specify JSON content in the `ContentType` setting.
|
2241
|
+
#
|
2242
|
+
# For information about the limits on count and size for custom
|
2243
|
+
# request and response settings, see [AWS WAF quotas][1] in the [AWS
|
2244
|
+
# WAF Developer Guide][2].
|
2245
|
+
#
|
2246
|
+
#
|
2247
|
+
#
|
2248
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
2249
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
2250
|
+
# @return [String]
|
2251
|
+
#
|
2252
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CustomResponseBody AWS API Documentation
|
2253
|
+
#
|
2254
|
+
class CustomResponseBody < Struct.new(
|
2255
|
+
:content_type,
|
2256
|
+
:content)
|
2257
|
+
SENSITIVE = []
|
2258
|
+
include Aws::Structure
|
2259
|
+
end
|
2260
|
+
|
1796
2261
|
# In a WebACL, this is the action that you want AWS WAF to perform when
|
1797
2262
|
# a web request doesn't match any of the rules in the `WebACL`. The
|
1798
|
-
# default action must be a terminating action, so
|
2263
|
+
# default action must be a terminating action, so you can't use count.
|
1799
2264
|
#
|
1800
2265
|
# @note When making an API call, you may pass DefaultAction
|
1801
2266
|
# data as a hash:
|
1802
2267
|
#
|
1803
2268
|
# {
|
1804
2269
|
# block: {
|
2270
|
+
# custom_response: {
|
2271
|
+
# response_code: 1, # required
|
2272
|
+
# custom_response_body_key: "EntityName",
|
2273
|
+
# response_headers: [
|
2274
|
+
# {
|
2275
|
+
# name: "CustomHTTPHeaderName", # required
|
2276
|
+
# value: "CustomHTTPHeaderValue", # required
|
2277
|
+
# },
|
2278
|
+
# ],
|
2279
|
+
# },
|
1805
2280
|
# },
|
1806
2281
|
# allow: {
|
2282
|
+
# custom_request_handling: {
|
2283
|
+
# insert_headers: [ # required
|
2284
|
+
# {
|
2285
|
+
# name: "CustomHTTPHeaderName", # required
|
2286
|
+
# value: "CustomHTTPHeaderValue", # required
|
2287
|
+
# },
|
2288
|
+
# ],
|
2289
|
+
# },
|
1807
2290
|
# },
|
1808
2291
|
# }
|
1809
2292
|
#
|
@@ -3544,12 +4027,12 @@ module Aws::WAFV2
|
|
3544
4027
|
# @return [String]
|
3545
4028
|
#
|
3546
4029
|
# @!attribute [rw] invalid_fallback_behavior
|
3547
|
-
#
|
3548
|
-
# body.
|
4030
|
+
# The inspection behavior to fall back to if the JSON in the request
|
4031
|
+
# body is invalid. For AWS WAF, invalid JSON is any content that
|
4032
|
+
# isn't complete syntactical JSON, content whose root node isn't an
|
4033
|
+
# object or an array, and duplicate keys in the content.
|
3549
4034
|
#
|
3550
|
-
#
|
3551
|
-
# applies the text transformations and inspection criteria that you
|
3552
|
-
# defined for the JSON inspection to the body text string.
|
4035
|
+
# You can specify the following fallback behaviors:
|
3553
4036
|
#
|
3554
4037
|
# * `MATCH` - Treat the web request as matching the rule statement.
|
3555
4038
|
# AWS WAF applies the rule action to the request.
|
@@ -3557,22 +4040,13 @@ module Aws::WAFV2
|
|
3557
4040
|
# * `NO_MATCH` - Treat the web request as not matching the rule
|
3558
4041
|
# statement.
|
3559
4042
|
#
|
3560
|
-
#
|
3561
|
-
#
|
3562
|
-
#
|
3563
|
-
# AWS WAF does its best to parse the entire JSON body, but might be
|
3564
|
-
# forced to stop for reasons such as invalid characters, duplicate
|
3565
|
-
# keys, truncation, and any content whose root node isn't an object
|
3566
|
-
# or an array.
|
3567
|
-
#
|
3568
|
-
# AWS WAF parses the JSON in the following examples as two valid key,
|
3569
|
-
# value pairs:
|
3570
|
-
#
|
3571
|
-
# * Missing comma: `\{"key1":"value1""key2":"value2"\}`
|
3572
|
-
#
|
3573
|
-
# * Missing colon: `\{"key1":"value1","key2""value2"\}`
|
4043
|
+
# * `EVALUATE_AS_STRING` - Inspect the body as plain text. This option
|
4044
|
+
# applies the text transformations and inspection criteria that you
|
4045
|
+
# defined for the JSON inspection to the body text string.
|
3574
4046
|
#
|
3575
|
-
#
|
4047
|
+
# If you don't provide this setting, when AWS WAF encounters invalid
|
4048
|
+
# JSON, it parses and inspects what it can, up to the first invalid
|
4049
|
+
# JSON that it encounters.
|
3576
4050
|
# @return [String]
|
3577
4051
|
#
|
3578
4052
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/JsonBody AWS API Documentation
|
@@ -4329,8 +4803,8 @@ module Aws::WAFV2
|
|
4329
4803
|
# try out a rule without performing any actions. You set the
|
4330
4804
|
# `OverrideAction` on the Rule.
|
4331
4805
|
#
|
4332
|
-
# This is used
|
4333
|
-
#
|
4806
|
+
# This is used in the context of other settings, for example to specify
|
4807
|
+
# values for RuleAction and web ACL DefaultAction.
|
4334
4808
|
#
|
4335
4809
|
# @api private
|
4336
4810
|
#
|
@@ -4890,6 +5364,14 @@ module Aws::WAFV2
|
|
4890
5364
|
#
|
4891
5365
|
# {
|
4892
5366
|
# count: {
|
5367
|
+
# custom_request_handling: {
|
5368
|
+
# insert_headers: [ # required
|
5369
|
+
# {
|
5370
|
+
# name: "CustomHTTPHeaderName", # required
|
5371
|
+
# value: "CustomHTTPHeaderValue", # required
|
5372
|
+
# },
|
5373
|
+
# ],
|
5374
|
+
# },
|
4893
5375
|
# },
|
4894
5376
|
# none: {
|
4895
5377
|
# },
|
@@ -5847,14 +6329,48 @@ module Aws::WAFV2
|
|
5847
6329
|
# },
|
5848
6330
|
# action: {
|
5849
6331
|
# block: {
|
6332
|
+
# custom_response: {
|
6333
|
+
# response_code: 1, # required
|
6334
|
+
# custom_response_body_key: "EntityName",
|
6335
|
+
# response_headers: [
|
6336
|
+
# {
|
6337
|
+
# name: "CustomHTTPHeaderName", # required
|
6338
|
+
# value: "CustomHTTPHeaderValue", # required
|
6339
|
+
# },
|
6340
|
+
# ],
|
6341
|
+
# },
|
5850
6342
|
# },
|
5851
6343
|
# allow: {
|
6344
|
+
# custom_request_handling: {
|
6345
|
+
# insert_headers: [ # required
|
6346
|
+
# {
|
6347
|
+
# name: "CustomHTTPHeaderName", # required
|
6348
|
+
# value: "CustomHTTPHeaderValue", # required
|
6349
|
+
# },
|
6350
|
+
# ],
|
6351
|
+
# },
|
5852
6352
|
# },
|
5853
6353
|
# count: {
|
6354
|
+
# custom_request_handling: {
|
6355
|
+
# insert_headers: [ # required
|
6356
|
+
# {
|
6357
|
+
# name: "CustomHTTPHeaderName", # required
|
6358
|
+
# value: "CustomHTTPHeaderValue", # required
|
6359
|
+
# },
|
6360
|
+
# ],
|
6361
|
+
# },
|
5854
6362
|
# },
|
5855
6363
|
# },
|
5856
6364
|
# override_action: {
|
5857
6365
|
# count: {
|
6366
|
+
# custom_request_handling: {
|
6367
|
+
# insert_headers: [ # required
|
6368
|
+
# {
|
6369
|
+
# name: "CustomHTTPHeaderName", # required
|
6370
|
+
# value: "CustomHTTPHeaderValue", # required
|
6371
|
+
# },
|
6372
|
+
# ],
|
6373
|
+
# },
|
5858
6374
|
# },
|
5859
6375
|
# none: {
|
5860
6376
|
# },
|
@@ -5949,10 +6465,36 @@ module Aws::WAFV2
|
|
5949
6465
|
#
|
5950
6466
|
# {
|
5951
6467
|
# block: {
|
6468
|
+
# custom_response: {
|
6469
|
+
# response_code: 1, # required
|
6470
|
+
# custom_response_body_key: "EntityName",
|
6471
|
+
# response_headers: [
|
6472
|
+
# {
|
6473
|
+
# name: "CustomHTTPHeaderName", # required
|
6474
|
+
# value: "CustomHTTPHeaderValue", # required
|
6475
|
+
# },
|
6476
|
+
# ],
|
6477
|
+
# },
|
5952
6478
|
# },
|
5953
6479
|
# allow: {
|
6480
|
+
# custom_request_handling: {
|
6481
|
+
# insert_headers: [ # required
|
6482
|
+
# {
|
6483
|
+
# name: "CustomHTTPHeaderName", # required
|
6484
|
+
# value: "CustomHTTPHeaderValue", # required
|
6485
|
+
# },
|
6486
|
+
# ],
|
6487
|
+
# },
|
5954
6488
|
# },
|
5955
6489
|
# count: {
|
6490
|
+
# custom_request_handling: {
|
6491
|
+
# insert_headers: [ # required
|
6492
|
+
# {
|
6493
|
+
# name: "CustomHTTPHeaderName", # required
|
6494
|
+
# value: "CustomHTTPHeaderValue", # required
|
6495
|
+
# },
|
6496
|
+
# ],
|
6497
|
+
# },
|
5956
6498
|
# },
|
5957
6499
|
# }
|
5958
6500
|
#
|
@@ -6033,6 +6575,27 @@ module Aws::WAFV2
|
|
6033
6575
|
# collection.
|
6034
6576
|
# @return [Types::VisibilityConfig]
|
6035
6577
|
#
|
6578
|
+
# @!attribute [rw] custom_response_bodies
|
6579
|
+
# A map of custom response keys and content bodies. When you create a
|
6580
|
+
# rule with a block action, you can send a custom response to the web
|
6581
|
+
# request. You define these for the rule group, and then use them in
|
6582
|
+
# the rules that you define in the rule group.
|
6583
|
+
#
|
6584
|
+
# For information about customizing web requests and responses, see
|
6585
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
6586
|
+
# WAF Developer Guide][2].
|
6587
|
+
#
|
6588
|
+
# For information about the limits on count and size for custom
|
6589
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
6590
|
+
# WAF Developer Guide][2].
|
6591
|
+
#
|
6592
|
+
#
|
6593
|
+
#
|
6594
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
6595
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
6596
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
6597
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
6598
|
+
#
|
6036
6599
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/RuleGroup AWS API Documentation
|
6037
6600
|
#
|
6038
6601
|
class RuleGroup < Struct.new(
|
@@ -6042,7 +6605,8 @@ module Aws::WAFV2
|
|
6042
6605
|
:arn,
|
6043
6606
|
:description,
|
6044
6607
|
:rules,
|
6045
|
-
:visibility_config
|
6608
|
+
:visibility_config,
|
6609
|
+
:custom_response_bodies)
|
6046
6610
|
SENSITIVE = []
|
6047
6611
|
include Aws::Structure
|
6048
6612
|
end
|
@@ -6194,6 +6758,16 @@ module Aws::WAFV2
|
|
6194
6758
|
# a rule group, this field is absent.
|
6195
6759
|
# @return [String]
|
6196
6760
|
#
|
6761
|
+
# @!attribute [rw] request_headers_inserted
|
6762
|
+
# Custom request headers inserted by AWS WAF into the request,
|
6763
|
+
# according to the custom request configuration for the matching rule
|
6764
|
+
# action.
|
6765
|
+
# @return [Array<Types::HTTPHeader>]
|
6766
|
+
#
|
6767
|
+
# @!attribute [rw] response_code_sent
|
6768
|
+
# The response code that was sent for the request.
|
6769
|
+
# @return [Integer]
|
6770
|
+
#
|
6197
6771
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/SampledHTTPRequest AWS API Documentation
|
6198
6772
|
#
|
6199
6773
|
class SampledHTTPRequest < Struct.new(
|
@@ -6201,7 +6775,9 @@ module Aws::WAFV2
|
|
6201
6775
|
:weight,
|
6202
6776
|
:timestamp,
|
6203
6777
|
:action,
|
6204
|
-
:rule_name_within_rule_group
|
6778
|
+
:rule_name_within_rule_group,
|
6779
|
+
:request_headers_inserted,
|
6780
|
+
:response_code_sent)
|
6205
6781
|
SENSITIVE = []
|
6206
6782
|
include Aws::Structure
|
6207
6783
|
end
|
@@ -8537,14 +9113,48 @@ module Aws::WAFV2
|
|
8537
9113
|
# },
|
8538
9114
|
# action: {
|
8539
9115
|
# block: {
|
9116
|
+
# custom_response: {
|
9117
|
+
# response_code: 1, # required
|
9118
|
+
# custom_response_body_key: "EntityName",
|
9119
|
+
# response_headers: [
|
9120
|
+
# {
|
9121
|
+
# name: "CustomHTTPHeaderName", # required
|
9122
|
+
# value: "CustomHTTPHeaderValue", # required
|
9123
|
+
# },
|
9124
|
+
# ],
|
9125
|
+
# },
|
8540
9126
|
# },
|
8541
9127
|
# allow: {
|
9128
|
+
# custom_request_handling: {
|
9129
|
+
# insert_headers: [ # required
|
9130
|
+
# {
|
9131
|
+
# name: "CustomHTTPHeaderName", # required
|
9132
|
+
# value: "CustomHTTPHeaderValue", # required
|
9133
|
+
# },
|
9134
|
+
# ],
|
9135
|
+
# },
|
8542
9136
|
# },
|
8543
9137
|
# count: {
|
9138
|
+
# custom_request_handling: {
|
9139
|
+
# insert_headers: [ # required
|
9140
|
+
# {
|
9141
|
+
# name: "CustomHTTPHeaderName", # required
|
9142
|
+
# value: "CustomHTTPHeaderValue", # required
|
9143
|
+
# },
|
9144
|
+
# ],
|
9145
|
+
# },
|
8544
9146
|
# },
|
8545
9147
|
# },
|
8546
9148
|
# override_action: {
|
8547
9149
|
# count: {
|
9150
|
+
# custom_request_handling: {
|
9151
|
+
# insert_headers: [ # required
|
9152
|
+
# {
|
9153
|
+
# name: "CustomHTTPHeaderName", # required
|
9154
|
+
# value: "CustomHTTPHeaderValue", # required
|
9155
|
+
# },
|
9156
|
+
# ],
|
9157
|
+
# },
|
8548
9158
|
# },
|
8549
9159
|
# none: {
|
8550
9160
|
# },
|
@@ -8562,6 +9172,12 @@ module Aws::WAFV2
|
|
8562
9172
|
# metric_name: "MetricName", # required
|
8563
9173
|
# },
|
8564
9174
|
# lock_token: "LockToken", # required
|
9175
|
+
# custom_response_bodies: {
|
9176
|
+
# "EntityName" => {
|
9177
|
+
# content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
|
9178
|
+
# content: "ResponseContent", # required
|
9179
|
+
# },
|
9180
|
+
# },
|
8565
9181
|
# }
|
8566
9182
|
#
|
8567
9183
|
# @!attribute [rw] name
|
@@ -8618,6 +9234,27 @@ module Aws::WAFV2
|
|
8618
9234
|
# operation.
|
8619
9235
|
# @return [String]
|
8620
9236
|
#
|
9237
|
+
# @!attribute [rw] custom_response_bodies
|
9238
|
+
# A map of custom response keys and content bodies. When you create a
|
9239
|
+
# rule with a block action, you can send a custom response to the web
|
9240
|
+
# request. You define these for the rule group, and then use them in
|
9241
|
+
# the rules that you define in the rule group.
|
9242
|
+
#
|
9243
|
+
# For information about customizing web requests and responses, see
|
9244
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
9245
|
+
# WAF Developer Guide][2].
|
9246
|
+
#
|
9247
|
+
# For information about the limits on count and size for custom
|
9248
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
9249
|
+
# WAF Developer Guide][2].
|
9250
|
+
#
|
9251
|
+
#
|
9252
|
+
#
|
9253
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
9254
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
9255
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
9256
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
9257
|
+
#
|
8621
9258
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateRuleGroupRequest AWS API Documentation
|
8622
9259
|
#
|
8623
9260
|
class UpdateRuleGroupRequest < Struct.new(
|
@@ -8627,7 +9264,8 @@ module Aws::WAFV2
|
|
8627
9264
|
:description,
|
8628
9265
|
:rules,
|
8629
9266
|
:visibility_config,
|
8630
|
-
:lock_token
|
9267
|
+
:lock_token,
|
9268
|
+
:custom_response_bodies)
|
8631
9269
|
SENSITIVE = []
|
8632
9270
|
include Aws::Structure
|
8633
9271
|
end
|
@@ -8655,8 +9293,26 @@ module Aws::WAFV2
|
|
8655
9293
|
# id: "EntityId", # required
|
8656
9294
|
# default_action: { # required
|
8657
9295
|
# block: {
|
9296
|
+
# custom_response: {
|
9297
|
+
# response_code: 1, # required
|
9298
|
+
# custom_response_body_key: "EntityName",
|
9299
|
+
# response_headers: [
|
9300
|
+
# {
|
9301
|
+
# name: "CustomHTTPHeaderName", # required
|
9302
|
+
# value: "CustomHTTPHeaderValue", # required
|
9303
|
+
# },
|
9304
|
+
# ],
|
9305
|
+
# },
|
8658
9306
|
# },
|
8659
9307
|
# allow: {
|
9308
|
+
# custom_request_handling: {
|
9309
|
+
# insert_headers: [ # required
|
9310
|
+
# {
|
9311
|
+
# name: "CustomHTTPHeaderName", # required
|
9312
|
+
# value: "CustomHTTPHeaderValue", # required
|
9313
|
+
# },
|
9314
|
+
# ],
|
9315
|
+
# },
|
8660
9316
|
# },
|
8661
9317
|
# },
|
8662
9318
|
# description: "EntityDescription",
|
@@ -8910,14 +9566,48 @@ module Aws::WAFV2
|
|
8910
9566
|
# },
|
8911
9567
|
# action: {
|
8912
9568
|
# block: {
|
9569
|
+
# custom_response: {
|
9570
|
+
# response_code: 1, # required
|
9571
|
+
# custom_response_body_key: "EntityName",
|
9572
|
+
# response_headers: [
|
9573
|
+
# {
|
9574
|
+
# name: "CustomHTTPHeaderName", # required
|
9575
|
+
# value: "CustomHTTPHeaderValue", # required
|
9576
|
+
# },
|
9577
|
+
# ],
|
9578
|
+
# },
|
8913
9579
|
# },
|
8914
9580
|
# allow: {
|
9581
|
+
# custom_request_handling: {
|
9582
|
+
# insert_headers: [ # required
|
9583
|
+
# {
|
9584
|
+
# name: "CustomHTTPHeaderName", # required
|
9585
|
+
# value: "CustomHTTPHeaderValue", # required
|
9586
|
+
# },
|
9587
|
+
# ],
|
9588
|
+
# },
|
8915
9589
|
# },
|
8916
9590
|
# count: {
|
9591
|
+
# custom_request_handling: {
|
9592
|
+
# insert_headers: [ # required
|
9593
|
+
# {
|
9594
|
+
# name: "CustomHTTPHeaderName", # required
|
9595
|
+
# value: "CustomHTTPHeaderValue", # required
|
9596
|
+
# },
|
9597
|
+
# ],
|
9598
|
+
# },
|
8917
9599
|
# },
|
8918
9600
|
# },
|
8919
9601
|
# override_action: {
|
8920
9602
|
# count: {
|
9603
|
+
# custom_request_handling: {
|
9604
|
+
# insert_headers: [ # required
|
9605
|
+
# {
|
9606
|
+
# name: "CustomHTTPHeaderName", # required
|
9607
|
+
# value: "CustomHTTPHeaderValue", # required
|
9608
|
+
# },
|
9609
|
+
# ],
|
9610
|
+
# },
|
8921
9611
|
# },
|
8922
9612
|
# none: {
|
8923
9613
|
# },
|
@@ -8935,6 +9625,12 @@ module Aws::WAFV2
|
|
8935
9625
|
# metric_name: "MetricName", # required
|
8936
9626
|
# },
|
8937
9627
|
# lock_token: "LockToken", # required
|
9628
|
+
# custom_response_bodies: {
|
9629
|
+
# "EntityName" => {
|
9630
|
+
# content_type: "TEXT_PLAIN", # required, accepts TEXT_PLAIN, TEXT_HTML, APPLICATION_JSON
|
9631
|
+
# content: "ResponseContent", # required
|
9632
|
+
# },
|
9633
|
+
# },
|
8938
9634
|
# }
|
8939
9635
|
#
|
8940
9636
|
# @!attribute [rw] name
|
@@ -8996,6 +9692,27 @@ module Aws::WAFV2
|
|
8996
9692
|
# operation.
|
8997
9693
|
# @return [String]
|
8998
9694
|
#
|
9695
|
+
# @!attribute [rw] custom_response_bodies
|
9696
|
+
# A map of custom response keys and content bodies. When you create a
|
9697
|
+
# rule with a block action, you can send a custom response to the web
|
9698
|
+
# request. You define these for the web ACL, and then use them in the
|
9699
|
+
# rules and default actions that you define in the web ACL.
|
9700
|
+
#
|
9701
|
+
# For information about customizing web requests and responses, see
|
9702
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
9703
|
+
# WAF Developer Guide][2].
|
9704
|
+
#
|
9705
|
+
# For information about the limits on count and size for custom
|
9706
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
9707
|
+
# WAF Developer Guide][2].
|
9708
|
+
#
|
9709
|
+
#
|
9710
|
+
#
|
9711
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
9712
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
9713
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
9714
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
9715
|
+
#
|
8999
9716
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/UpdateWebACLRequest AWS API Documentation
|
9000
9717
|
#
|
9001
9718
|
class UpdateWebACLRequest < Struct.new(
|
@@ -9006,7 +9723,8 @@ module Aws::WAFV2
|
|
9006
9723
|
:description,
|
9007
9724
|
:rules,
|
9008
9725
|
:visibility_config,
|
9009
|
-
:lock_token
|
9726
|
+
:lock_token,
|
9727
|
+
:custom_response_bodies)
|
9010
9728
|
SENSITIVE = []
|
9011
9729
|
include Aws::Structure
|
9012
9730
|
end
|
@@ -9442,6 +10160,27 @@ module Aws::WAFV2
|
|
9442
10160
|
# any Firewall Manager rule groups in the web ACL.
|
9443
10161
|
# @return [Boolean]
|
9444
10162
|
#
|
10163
|
+
# @!attribute [rw] custom_response_bodies
|
10164
|
+
# A map of custom response keys and content bodies. When you create a
|
10165
|
+
# rule with a block action, you can send a custom response to the web
|
10166
|
+
# request. You define these for the web ACL, and then use them in the
|
10167
|
+
# rules and default actions that you define in the web ACL.
|
10168
|
+
#
|
10169
|
+
# For information about customizing web requests and responses, see
|
10170
|
+
# [Customizing web requests and responses in AWS WAF][1] in the [AWS
|
10171
|
+
# WAF Developer Guide][2].
|
10172
|
+
#
|
10173
|
+
# For information about the limits on count and size for custom
|
10174
|
+
# request and response settings, see [AWS WAF quotas][3] in the [AWS
|
10175
|
+
# WAF Developer Guide][2].
|
10176
|
+
#
|
10177
|
+
#
|
10178
|
+
#
|
10179
|
+
# [1]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html
|
10180
|
+
# [2]: https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html
|
10181
|
+
# [3]: https://docs.aws.amazon.com/waf/latest/developerguide/limits.html
|
10182
|
+
# @return [Hash<String,Types::CustomResponseBody>]
|
10183
|
+
#
|
9445
10184
|
# @see http://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/WebACL AWS API Documentation
|
9446
10185
|
#
|
9447
10186
|
class WebACL < Struct.new(
|
@@ -9455,7 +10194,8 @@ module Aws::WAFV2
|
|
9455
10194
|
:capacity,
|
9456
10195
|
:pre_process_firewall_manager_rule_groups,
|
9457
10196
|
:post_process_firewall_manager_rule_groups,
|
9458
|
-
:managed_by_firewall_manager
|
10197
|
+
:managed_by_firewall_manager,
|
10198
|
+
:custom_response_bodies)
|
9459
10199
|
SENSITIVE = []
|
9460
10200
|
include Aws::Structure
|
9461
10201
|
end
|