aws-sdk-wafregional 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -41,6 +41,8 @@ module Aws::WAFRegional
41
41
  CreateRegexMatchSetResponse = Shapes::StructureShape.new(name: 'CreateRegexMatchSetResponse')
42
42
  CreateRegexPatternSetRequest = Shapes::StructureShape.new(name: 'CreateRegexPatternSetRequest')
43
43
  CreateRegexPatternSetResponse = Shapes::StructureShape.new(name: 'CreateRegexPatternSetResponse')
44
+ CreateRuleGroupRequest = Shapes::StructureShape.new(name: 'CreateRuleGroupRequest')
45
+ CreateRuleGroupResponse = Shapes::StructureShape.new(name: 'CreateRuleGroupResponse')
44
46
  CreateRuleRequest = Shapes::StructureShape.new(name: 'CreateRuleRequest')
45
47
  CreateRuleResponse = Shapes::StructureShape.new(name: 'CreateRuleResponse')
46
48
  CreateSizeConstraintSetRequest = Shapes::StructureShape.new(name: 'CreateSizeConstraintSetRequest')
@@ -63,6 +65,8 @@ module Aws::WAFRegional
63
65
  DeleteRegexMatchSetResponse = Shapes::StructureShape.new(name: 'DeleteRegexMatchSetResponse')
64
66
  DeleteRegexPatternSetRequest = Shapes::StructureShape.new(name: 'DeleteRegexPatternSetRequest')
65
67
  DeleteRegexPatternSetResponse = Shapes::StructureShape.new(name: 'DeleteRegexPatternSetResponse')
68
+ DeleteRuleGroupRequest = Shapes::StructureShape.new(name: 'DeleteRuleGroupRequest')
69
+ DeleteRuleGroupResponse = Shapes::StructureShape.new(name: 'DeleteRuleGroupResponse')
66
70
  DeleteRuleRequest = Shapes::StructureShape.new(name: 'DeleteRuleRequest')
67
71
  DeleteRuleResponse = Shapes::StructureShape.new(name: 'DeleteRuleResponse')
68
72
  DeleteSizeConstraintSetRequest = Shapes::StructureShape.new(name: 'DeleteSizeConstraintSetRequest')
@@ -103,6 +107,8 @@ module Aws::WAFRegional
103
107
  GetRegexMatchSetResponse = Shapes::StructureShape.new(name: 'GetRegexMatchSetResponse')
104
108
  GetRegexPatternSetRequest = Shapes::StructureShape.new(name: 'GetRegexPatternSetRequest')
105
109
  GetRegexPatternSetResponse = Shapes::StructureShape.new(name: 'GetRegexPatternSetResponse')
110
+ GetRuleGroupRequest = Shapes::StructureShape.new(name: 'GetRuleGroupRequest')
111
+ GetRuleGroupResponse = Shapes::StructureShape.new(name: 'GetRuleGroupResponse')
106
112
  GetRuleRequest = Shapes::StructureShape.new(name: 'GetRuleRequest')
107
113
  GetRuleResponse = Shapes::StructureShape.new(name: 'GetRuleResponse')
108
114
  GetSampledRequestsMaxItems = Shapes::IntegerShape.new(name: 'GetSampledRequestsMaxItems')
@@ -135,6 +141,8 @@ module Aws::WAFRegional
135
141
  IPSetUpdate = Shapes::StructureShape.new(name: 'IPSetUpdate')
136
142
  IPSetUpdates = Shapes::ListShape.new(name: 'IPSetUpdates')
137
143
  IPString = Shapes::StringShape.new(name: 'IPString')
144
+ ListActivatedRulesInRuleGroupRequest = Shapes::StructureShape.new(name: 'ListActivatedRulesInRuleGroupRequest')
145
+ ListActivatedRulesInRuleGroupResponse = Shapes::StructureShape.new(name: 'ListActivatedRulesInRuleGroupResponse')
138
146
  ListByteMatchSetsRequest = Shapes::StructureShape.new(name: 'ListByteMatchSetsRequest')
139
147
  ListByteMatchSetsResponse = Shapes::StructureShape.new(name: 'ListByteMatchSetsResponse')
140
148
  ListGeoMatchSetsRequest = Shapes::StructureShape.new(name: 'ListGeoMatchSetsRequest')
@@ -149,12 +157,16 @@ module Aws::WAFRegional
149
157
  ListRegexPatternSetsResponse = Shapes::StructureShape.new(name: 'ListRegexPatternSetsResponse')
150
158
  ListResourcesForWebACLRequest = Shapes::StructureShape.new(name: 'ListResourcesForWebACLRequest')
151
159
  ListResourcesForWebACLResponse = Shapes::StructureShape.new(name: 'ListResourcesForWebACLResponse')
160
+ ListRuleGroupsRequest = Shapes::StructureShape.new(name: 'ListRuleGroupsRequest')
161
+ ListRuleGroupsResponse = Shapes::StructureShape.new(name: 'ListRuleGroupsResponse')
152
162
  ListRulesRequest = Shapes::StructureShape.new(name: 'ListRulesRequest')
153
163
  ListRulesResponse = Shapes::StructureShape.new(name: 'ListRulesResponse')
154
164
  ListSizeConstraintSetsRequest = Shapes::StructureShape.new(name: 'ListSizeConstraintSetsRequest')
155
165
  ListSizeConstraintSetsResponse = Shapes::StructureShape.new(name: 'ListSizeConstraintSetsResponse')
156
166
  ListSqlInjectionMatchSetsRequest = Shapes::StructureShape.new(name: 'ListSqlInjectionMatchSetsRequest')
157
167
  ListSqlInjectionMatchSetsResponse = Shapes::StructureShape.new(name: 'ListSqlInjectionMatchSetsResponse')
168
+ ListSubscribedRuleGroupsRequest = Shapes::StructureShape.new(name: 'ListSubscribedRuleGroupsRequest')
169
+ ListSubscribedRuleGroupsResponse = Shapes::StructureShape.new(name: 'ListSubscribedRuleGroupsResponse')
158
170
  ListWebACLsRequest = Shapes::StructureShape.new(name: 'ListWebACLsRequest')
159
171
  ListWebACLsResponse = Shapes::StructureShape.new(name: 'ListWebACLsResponse')
160
172
  ListXssMatchSetsRequest = Shapes::StructureShape.new(name: 'ListXssMatchSetsRequest')
@@ -197,6 +209,11 @@ module Aws::WAFRegional
197
209
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
198
210
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
199
211
  Rule = Shapes::StructureShape.new(name: 'Rule')
212
+ RuleGroup = Shapes::StructureShape.new(name: 'RuleGroup')
213
+ RuleGroupSummaries = Shapes::ListShape.new(name: 'RuleGroupSummaries')
214
+ RuleGroupSummary = Shapes::StructureShape.new(name: 'RuleGroupSummary')
215
+ RuleGroupUpdate = Shapes::StructureShape.new(name: 'RuleGroupUpdate')
216
+ RuleGroupUpdates = Shapes::ListShape.new(name: 'RuleGroupUpdates')
200
217
  RulePriority = Shapes::IntegerShape.new(name: 'RulePriority')
201
218
  RuleSummaries = Shapes::ListShape.new(name: 'RuleSummaries')
202
219
  RuleSummary = Shapes::StructureShape.new(name: 'RuleSummary')
@@ -220,6 +237,8 @@ module Aws::WAFRegional
220
237
  SqlInjectionMatchSetUpdates = Shapes::ListShape.new(name: 'SqlInjectionMatchSetUpdates')
221
238
  SqlInjectionMatchTuple = Shapes::StructureShape.new(name: 'SqlInjectionMatchTuple')
222
239
  SqlInjectionMatchTuples = Shapes::ListShape.new(name: 'SqlInjectionMatchTuples')
240
+ SubscribedRuleGroupSummaries = Shapes::ListShape.new(name: 'SubscribedRuleGroupSummaries')
241
+ SubscribedRuleGroupSummary = Shapes::StructureShape.new(name: 'SubscribedRuleGroupSummary')
223
242
  TextTransformation = Shapes::StringShape.new(name: 'TextTransformation')
224
243
  TimeWindow = Shapes::StructureShape.new(name: 'TimeWindow')
225
244
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
@@ -236,6 +255,8 @@ module Aws::WAFRegional
236
255
  UpdateRegexMatchSetResponse = Shapes::StructureShape.new(name: 'UpdateRegexMatchSetResponse')
237
256
  UpdateRegexPatternSetRequest = Shapes::StructureShape.new(name: 'UpdateRegexPatternSetRequest')
238
257
  UpdateRegexPatternSetResponse = Shapes::StructureShape.new(name: 'UpdateRegexPatternSetResponse')
258
+ UpdateRuleGroupRequest = Shapes::StructureShape.new(name: 'UpdateRuleGroupRequest')
259
+ UpdateRuleGroupResponse = Shapes::StructureShape.new(name: 'UpdateRuleGroupResponse')
239
260
  UpdateRuleRequest = Shapes::StructureShape.new(name: 'UpdateRuleRequest')
240
261
  UpdateRuleResponse = Shapes::StructureShape.new(name: 'UpdateRuleResponse')
241
262
  UpdateSizeConstraintSetRequest = Shapes::StructureShape.new(name: 'UpdateSizeConstraintSetRequest')
@@ -258,9 +279,12 @@ module Aws::WAFRegional
258
279
  WAFNonexistentItemException = Shapes::StructureShape.new(name: 'WAFNonexistentItemException')
259
280
  WAFReferencedItemException = Shapes::StructureShape.new(name: 'WAFReferencedItemException')
260
281
  WAFStaleDataException = Shapes::StructureShape.new(name: 'WAFStaleDataException')
282
+ WAFSubscriptionNotFoundException = Shapes::StructureShape.new(name: 'WAFSubscriptionNotFoundException')
261
283
  WAFUnavailableEntityException = Shapes::StructureShape.new(name: 'WAFUnavailableEntityException')
262
284
  WafAction = Shapes::StructureShape.new(name: 'WafAction')
263
285
  WafActionType = Shapes::StringShape.new(name: 'WafActionType')
286
+ WafOverrideAction = Shapes::StructureShape.new(name: 'WafOverrideAction')
287
+ WafOverrideActionType = Shapes::StringShape.new(name: 'WafOverrideActionType')
264
288
  WafRuleType = Shapes::StringShape.new(name: 'WafRuleType')
265
289
  WebACL = Shapes::StructureShape.new(name: 'WebACL')
266
290
  WebACLSummaries = Shapes::ListShape.new(name: 'WebACLSummaries')
@@ -278,7 +302,8 @@ module Aws::WAFRegional
278
302
 
279
303
  ActivatedRule.add_member(:priority, Shapes::ShapeRef.new(shape: RulePriority, required: true, location_name: "Priority"))
280
304
  ActivatedRule.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
281
- ActivatedRule.add_member(:action, Shapes::ShapeRef.new(shape: WafAction, required: true, location_name: "Action"))
305
+ ActivatedRule.add_member(:action, Shapes::ShapeRef.new(shape: WafAction, location_name: "Action"))
306
+ ActivatedRule.add_member(:override_action, Shapes::ShapeRef.new(shape: WafOverrideAction, location_name: "OverrideAction"))
282
307
  ActivatedRule.add_member(:type, Shapes::ShapeRef.new(shape: WafRuleType, location_name: "Type"))
283
308
  ActivatedRule.struct_class = Types::ActivatedRule
284
309
 
@@ -366,6 +391,15 @@ module Aws::WAFRegional
366
391
  CreateRegexPatternSetResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
367
392
  CreateRegexPatternSetResponse.struct_class = Types::CreateRegexPatternSetResponse
368
393
 
394
+ CreateRuleGroupRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "Name"))
395
+ CreateRuleGroupRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
396
+ CreateRuleGroupRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
397
+ CreateRuleGroupRequest.struct_class = Types::CreateRuleGroupRequest
398
+
399
+ CreateRuleGroupResponse.add_member(:rule_group, Shapes::ShapeRef.new(shape: RuleGroup, location_name: "RuleGroup"))
400
+ CreateRuleGroupResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
401
+ CreateRuleGroupResponse.struct_class = Types::CreateRuleGroupResponse
402
+
369
403
  CreateRuleRequest.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "Name"))
370
404
  CreateRuleRequest.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
371
405
  CreateRuleRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
@@ -451,6 +485,13 @@ module Aws::WAFRegional
451
485
  DeleteRegexPatternSetResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
452
486
  DeleteRegexPatternSetResponse.struct_class = Types::DeleteRegexPatternSetResponse
453
487
 
488
+ DeleteRuleGroupRequest.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
489
+ DeleteRuleGroupRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
490
+ DeleteRuleGroupRequest.struct_class = Types::DeleteRuleGroupRequest
491
+
492
+ DeleteRuleGroupResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
493
+ DeleteRuleGroupResponse.struct_class = Types::DeleteRuleGroupResponse
494
+
454
495
  DeleteRuleRequest.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
455
496
  DeleteRuleRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
456
497
  DeleteRuleRequest.struct_class = Types::DeleteRuleRequest
@@ -573,6 +614,12 @@ module Aws::WAFRegional
573
614
  GetRegexPatternSetResponse.add_member(:regex_pattern_set, Shapes::ShapeRef.new(shape: RegexPatternSet, location_name: "RegexPatternSet"))
574
615
  GetRegexPatternSetResponse.struct_class = Types::GetRegexPatternSetResponse
575
616
 
617
+ GetRuleGroupRequest.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
618
+ GetRuleGroupRequest.struct_class = Types::GetRuleGroupRequest
619
+
620
+ GetRuleGroupResponse.add_member(:rule_group, Shapes::ShapeRef.new(shape: RuleGroup, location_name: "RuleGroup"))
621
+ GetRuleGroupResponse.struct_class = Types::GetRuleGroupResponse
622
+
576
623
  GetRuleRequest.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
577
624
  GetRuleRequest.struct_class = Types::GetRuleRequest
578
625
 
@@ -657,6 +704,15 @@ module Aws::WAFRegional
657
704
 
658
705
  IPSetUpdates.member = Shapes::ShapeRef.new(shape: IPSetUpdate)
659
706
 
707
+ ListActivatedRulesInRuleGroupRequest.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "RuleGroupId"))
708
+ ListActivatedRulesInRuleGroupRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
709
+ ListActivatedRulesInRuleGroupRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
710
+ ListActivatedRulesInRuleGroupRequest.struct_class = Types::ListActivatedRulesInRuleGroupRequest
711
+
712
+ ListActivatedRulesInRuleGroupResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
713
+ ListActivatedRulesInRuleGroupResponse.add_member(:activated_rules, Shapes::ShapeRef.new(shape: ActivatedRules, location_name: "ActivatedRules"))
714
+ ListActivatedRulesInRuleGroupResponse.struct_class = Types::ListActivatedRulesInRuleGroupResponse
715
+
660
716
  ListByteMatchSetsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
661
717
  ListByteMatchSetsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
662
718
  ListByteMatchSetsRequest.struct_class = Types::ListByteMatchSetsRequest
@@ -711,6 +767,14 @@ module Aws::WAFRegional
711
767
  ListResourcesForWebACLResponse.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArns, location_name: "ResourceArns"))
712
768
  ListResourcesForWebACLResponse.struct_class = Types::ListResourcesForWebACLResponse
713
769
 
770
+ ListRuleGroupsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
771
+ ListRuleGroupsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
772
+ ListRuleGroupsRequest.struct_class = Types::ListRuleGroupsRequest
773
+
774
+ ListRuleGroupsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
775
+ ListRuleGroupsResponse.add_member(:rule_groups, Shapes::ShapeRef.new(shape: RuleGroupSummaries, location_name: "RuleGroups"))
776
+ ListRuleGroupsResponse.struct_class = Types::ListRuleGroupsResponse
777
+
714
778
  ListRulesRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
715
779
  ListRulesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
716
780
  ListRulesRequest.struct_class = Types::ListRulesRequest
@@ -735,6 +799,14 @@ module Aws::WAFRegional
735
799
  ListSqlInjectionMatchSetsResponse.add_member(:sql_injection_match_sets, Shapes::ShapeRef.new(shape: SqlInjectionMatchSetSummaries, location_name: "SqlInjectionMatchSets"))
736
800
  ListSqlInjectionMatchSetsResponse.struct_class = Types::ListSqlInjectionMatchSetsResponse
737
801
 
802
+ ListSubscribedRuleGroupsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
803
+ ListSubscribedRuleGroupsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
804
+ ListSubscribedRuleGroupsRequest.struct_class = Types::ListSubscribedRuleGroupsRequest
805
+
806
+ ListSubscribedRuleGroupsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
807
+ ListSubscribedRuleGroupsResponse.add_member(:rule_groups, Shapes::ShapeRef.new(shape: SubscribedRuleGroupSummaries, location_name: "RuleGroups"))
808
+ ListSubscribedRuleGroupsResponse.struct_class = Types::ListSubscribedRuleGroupsResponse
809
+
738
810
  ListWebACLsRequest.add_member(:next_marker, Shapes::ShapeRef.new(shape: NextMarker, location_name: "NextMarker"))
739
811
  ListWebACLsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: PaginationLimit, location_name: "Limit"))
740
812
  ListWebACLsRequest.struct_class = Types::ListWebACLsRequest
@@ -819,6 +891,23 @@ module Aws::WAFRegional
819
891
  Rule.add_member(:predicates, Shapes::ShapeRef.new(shape: Predicates, required: true, location_name: "Predicates"))
820
892
  Rule.struct_class = Types::Rule
821
893
 
894
+ RuleGroup.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
895
+ RuleGroup.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "Name"))
896
+ RuleGroup.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "MetricName"))
897
+ RuleGroup.struct_class = Types::RuleGroup
898
+
899
+ RuleGroupSummaries.member = Shapes::ShapeRef.new(shape: RuleGroupSummary)
900
+
901
+ RuleGroupSummary.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
902
+ RuleGroupSummary.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "Name"))
903
+ RuleGroupSummary.struct_class = Types::RuleGroupSummary
904
+
905
+ RuleGroupUpdate.add_member(:action, Shapes::ShapeRef.new(shape: ChangeAction, required: true, location_name: "Action"))
906
+ RuleGroupUpdate.add_member(:activated_rule, Shapes::ShapeRef.new(shape: ActivatedRule, required: true, location_name: "ActivatedRule"))
907
+ RuleGroupUpdate.struct_class = Types::RuleGroupUpdate
908
+
909
+ RuleGroupUpdates.member = Shapes::ShapeRef.new(shape: RuleGroupUpdate)
910
+
822
911
  RuleSummaries.member = Shapes::ShapeRef.new(shape: RuleSummary)
823
912
 
824
913
  RuleSummary.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
@@ -835,6 +924,7 @@ module Aws::WAFRegional
835
924
  SampledHTTPRequest.add_member(:weight, Shapes::ShapeRef.new(shape: SampleWeight, required: true, location_name: "Weight"))
836
925
  SampledHTTPRequest.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
837
926
  SampledHTTPRequest.add_member(:action, Shapes::ShapeRef.new(shape: Action, location_name: "Action"))
927
+ SampledHTTPRequest.add_member(:rule_within_rule_group, Shapes::ShapeRef.new(shape: ResourceId, location_name: "RuleWithinRuleGroup"))
838
928
  SampledHTTPRequest.struct_class = Types::SampledHTTPRequest
839
929
 
840
930
  SampledHTTPRequests.member = Shapes::ShapeRef.new(shape: SampledHTTPRequest)
@@ -887,6 +977,13 @@ module Aws::WAFRegional
887
977
 
888
978
  SqlInjectionMatchTuples.member = Shapes::ShapeRef.new(shape: SqlInjectionMatchTuple)
889
979
 
980
+ SubscribedRuleGroupSummaries.member = Shapes::ShapeRef.new(shape: SubscribedRuleGroupSummary)
981
+
982
+ SubscribedRuleGroupSummary.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
983
+ SubscribedRuleGroupSummary.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "Name"))
984
+ SubscribedRuleGroupSummary.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, required: true, location_name: "MetricName"))
985
+ SubscribedRuleGroupSummary.struct_class = Types::SubscribedRuleGroupSummary
986
+
890
987
  TimeWindow.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartTime"))
891
988
  TimeWindow.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTime"))
892
989
  TimeWindow.struct_class = Types::TimeWindow
@@ -940,6 +1037,14 @@ module Aws::WAFRegional
940
1037
  UpdateRegexPatternSetResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
941
1038
  UpdateRegexPatternSetResponse.struct_class = Types::UpdateRegexPatternSetResponse
942
1039
 
1040
+ UpdateRuleGroupRequest.add_member(:rule_group_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleGroupId"))
1041
+ UpdateRuleGroupRequest.add_member(:updates, Shapes::ShapeRef.new(shape: RuleGroupUpdates, required: true, location_name: "Updates"))
1042
+ UpdateRuleGroupRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
1043
+ UpdateRuleGroupRequest.struct_class = Types::UpdateRuleGroupRequest
1044
+
1045
+ UpdateRuleGroupResponse.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, location_name: "ChangeToken"))
1046
+ UpdateRuleGroupResponse.struct_class = Types::UpdateRuleGroupResponse
1047
+
943
1048
  UpdateRuleRequest.add_member(:rule_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "RuleId"))
944
1049
  UpdateRuleRequest.add_member(:change_token, Shapes::ShapeRef.new(shape: ChangeToken, required: true, location_name: "ChangeToken"))
945
1050
  UpdateRuleRequest.add_member(:updates, Shapes::ShapeRef.new(shape: RuleUpdates, required: true, location_name: "Updates"))
@@ -984,6 +1089,9 @@ module Aws::WAFRegional
984
1089
  WafAction.add_member(:type, Shapes::ShapeRef.new(shape: WafActionType, required: true, location_name: "Type"))
985
1090
  WafAction.struct_class = Types::WafAction
986
1091
 
1092
+ WafOverrideAction.add_member(:type, Shapes::ShapeRef.new(shape: WafOverrideActionType, required: true, location_name: "Type"))
1093
+ WafOverrideAction.struct_class = Types::WafOverrideAction
1094
+
987
1095
  WebACL.add_member(:web_acl_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "WebACLId"))
988
1096
  WebACL.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "Name"))
989
1097
  WebACL.add_member(:metric_name, Shapes::ShapeRef.new(shape: MetricName, location_name: "MetricName"))
@@ -1146,6 +1254,18 @@ module Aws::WAFRegional
1146
1254
  o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1147
1255
  end)
1148
1256
 
1257
+ api.add_operation(:create_rule_group, Seahorse::Model::Operation.new.tap do |o|
1258
+ o.name = "CreateRuleGroup"
1259
+ o.http_method = "POST"
1260
+ o.http_request_uri = "/"
1261
+ o.input = Shapes::ShapeRef.new(shape: CreateRuleGroupRequest)
1262
+ o.output = Shapes::ShapeRef.new(shape: CreateRuleGroupResponse)
1263
+ o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1264
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1265
+ o.errors << Shapes::ShapeRef.new(shape: WAFDisallowedNameException)
1266
+ o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1267
+ end)
1268
+
1149
1269
  api.add_operation(:create_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
1150
1270
  o.name = "CreateSizeConstraintSet"
1151
1271
  o.http_method = "POST"
@@ -1300,6 +1420,19 @@ module Aws::WAFRegional
1300
1420
  o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
1301
1421
  end)
1302
1422
 
1423
+ api.add_operation(:delete_rule_group, Seahorse::Model::Operation.new.tap do |o|
1424
+ o.name = "DeleteRuleGroup"
1425
+ o.http_method = "POST"
1426
+ o.http_request_uri = "/"
1427
+ o.input = Shapes::ShapeRef.new(shape: DeleteRuleGroupRequest)
1428
+ o.output = Shapes::ShapeRef.new(shape: DeleteRuleGroupResponse)
1429
+ o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1430
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1431
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1432
+ o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
1433
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonEmptyEntityException)
1434
+ end)
1435
+
1303
1436
  api.add_operation(:delete_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
1304
1437
  o.name = "DeleteSizeConstraintSet"
1305
1438
  o.http_method = "POST"
@@ -1476,6 +1609,16 @@ module Aws::WAFRegional
1476
1609
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1477
1610
  end)
1478
1611
 
1612
+ api.add_operation(:get_rule_group, Seahorse::Model::Operation.new.tap do |o|
1613
+ o.name = "GetRuleGroup"
1614
+ o.http_method = "POST"
1615
+ o.http_request_uri = "/"
1616
+ o.input = Shapes::ShapeRef.new(shape: GetRuleGroupRequest)
1617
+ o.output = Shapes::ShapeRef.new(shape: GetRuleGroupResponse)
1618
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1619
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1620
+ end)
1621
+
1479
1622
  api.add_operation(:get_sampled_requests, Seahorse::Model::Operation.new.tap do |o|
1480
1623
  o.name = "GetSampledRequests"
1481
1624
  o.http_method = "POST"
@@ -1543,6 +1686,17 @@ module Aws::WAFRegional
1543
1686
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1544
1687
  end)
1545
1688
 
1689
+ api.add_operation(:list_activated_rules_in_rule_group, Seahorse::Model::Operation.new.tap do |o|
1690
+ o.name = "ListActivatedRulesInRuleGroup"
1691
+ o.http_method = "POST"
1692
+ o.http_request_uri = "/"
1693
+ o.input = Shapes::ShapeRef.new(shape: ListActivatedRulesInRuleGroupRequest)
1694
+ o.output = Shapes::ShapeRef.new(shape: ListActivatedRulesInRuleGroupResponse)
1695
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1696
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1697
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1698
+ end)
1699
+
1546
1700
  api.add_operation(:list_byte_match_sets, Seahorse::Model::Operation.new.tap do |o|
1547
1701
  o.name = "ListByteMatchSets"
1548
1702
  o.http_method = "POST"
@@ -1614,6 +1768,15 @@ module Aws::WAFRegional
1614
1768
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1615
1769
  end)
1616
1770
 
1771
+ api.add_operation(:list_rule_groups, Seahorse::Model::Operation.new.tap do |o|
1772
+ o.name = "ListRuleGroups"
1773
+ o.http_method = "POST"
1774
+ o.http_request_uri = "/"
1775
+ o.input = Shapes::ShapeRef.new(shape: ListRuleGroupsRequest)
1776
+ o.output = Shapes::ShapeRef.new(shape: ListRuleGroupsResponse)
1777
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1778
+ end)
1779
+
1617
1780
  api.add_operation(:list_rules, Seahorse::Model::Operation.new.tap do |o|
1618
1781
  o.name = "ListRules"
1619
1782
  o.http_method = "POST"
@@ -1644,6 +1807,16 @@ module Aws::WAFRegional
1644
1807
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
1645
1808
  end)
1646
1809
 
1810
+ api.add_operation(:list_subscribed_rule_groups, Seahorse::Model::Operation.new.tap do |o|
1811
+ o.name = "ListSubscribedRuleGroups"
1812
+ o.http_method = "POST"
1813
+ o.http_request_uri = "/"
1814
+ o.input = Shapes::ShapeRef.new(shape: ListSubscribedRuleGroupsRequest)
1815
+ o.output = Shapes::ShapeRef.new(shape: ListSubscribedRuleGroupsResponse)
1816
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1817
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1818
+ end)
1819
+
1647
1820
  api.add_operation(:list_web_acls, Seahorse::Model::Operation.new.tap do |o|
1648
1821
  o.name = "ListWebACLs"
1649
1822
  o.http_method = "POST"
@@ -1756,6 +1929,7 @@ module Aws::WAFRegional
1756
1929
  o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1757
1930
  o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1758
1931
  o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1932
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1759
1933
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
1760
1934
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1761
1935
  o.errors << Shapes::ShapeRef.new(shape: WAFInvalidAccountException)
@@ -1779,6 +1953,21 @@ module Aws::WAFRegional
1779
1953
  o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1780
1954
  end)
1781
1955
 
1956
+ api.add_operation(:update_rule_group, Seahorse::Model::Operation.new.tap do |o|
1957
+ o.name = "UpdateRuleGroup"
1958
+ o.http_method = "POST"
1959
+ o.http_request_uri = "/"
1960
+ o.input = Shapes::ShapeRef.new(shape: UpdateRuleGroupRequest)
1961
+ o.output = Shapes::ShapeRef.new(shape: UpdateRuleGroupResponse)
1962
+ o.errors << Shapes::ShapeRef.new(shape: WAFStaleDataException)
1963
+ o.errors << Shapes::ShapeRef.new(shape: WAFInternalErrorException)
1964
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentContainerException)
1965
+ o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1966
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidOperationException)
1967
+ o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
1968
+ o.errors << Shapes::ShapeRef.new(shape: WAFInvalidParameterException)
1969
+ end)
1970
+
1782
1971
  api.add_operation(:update_size_constraint_set, Seahorse::Model::Operation.new.tap do |o|
1783
1972
  o.name = "UpdateSizeConstraintSet"
1784
1973
  o.http_method = "POST"
@@ -1827,6 +2016,7 @@ module Aws::WAFRegional
1827
2016
  o.errors << Shapes::ShapeRef.new(shape: WAFNonexistentItemException)
1828
2017
  o.errors << Shapes::ShapeRef.new(shape: WAFReferencedItemException)
1829
2018
  o.errors << Shapes::ShapeRef.new(shape: WAFLimitsExceededException)
2019
+ o.errors << Shapes::ShapeRef.new(shape: WAFSubscriptionNotFoundException)
1830
2020
  end)
1831
2021
 
1832
2022
  api.add_operation(:update_xss_match_set, Seahorse::Model::Operation.new.tap do |o|
@@ -22,10 +22,13 @@ module Aws::WAFRegional
22
22
  # {
23
23
  # priority: 1, # required
24
24
  # rule_id: "ResourceId", # required
25
- # action: { # required
25
+ # action: {
26
26
  # type: "BLOCK", # required, accepts BLOCK, ALLOW, COUNT
27
27
  # },
28
- # type: "REGULAR", # accepts REGULAR, RATE_BASED
28
+ # override_action: {
29
+ # type: "NONE", # required, accepts NONE, COUNT
30
+ # },
31
+ # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
29
32
  # }
30
33
  #
31
34
  # @!attribute [rw] priority
@@ -58,15 +61,39 @@ module Aws::WAFRegional
58
61
  # * `COUNT`\: AWS WAF increments a counter of requests that match the
59
62
  # conditions in the rule and then continues to inspect the web
60
63
  # request based on the remaining rules in the web ACL.
64
+ #
65
+ # The `Action` data type within `ActivatedRule` is used only when
66
+ # submitting an `UpdateWebACL` request. `ActivatedRule|Action` is not
67
+ # applicable and therefore not available for `UpdateRuleGroup`.
61
68
  # @return [Types::WafAction]
62
69
  #
70
+ # @!attribute [rw] override_action
71
+ # Use the `OverrideAction` to test your `RuleGroup`.
72
+ #
73
+ # Any rule in a `RuleGroup` can potentially block a request. If you
74
+ # set the `OverrideAction` to `None`, the `RuleGroup` will block a
75
+ # request if any individual rule in the `RuleGroup` matches the
76
+ # request and is configured to block that request. However if you
77
+ # first want to test the `RuleGroup`, set the `OverrideAction` to
78
+ # `Count`. The `RuleGroup` will then override any block action
79
+ # specified by individual rules contained within the group. Instead of
80
+ # blocking matching requests, those requests will be counted. You can
81
+ # view a record of counted requests using GetSampledRequests.
82
+ #
83
+ # The `OverrideAction` data type within `ActivatedRule` is used only
84
+ # when submitting an `UpdateRuleGroup` request.
85
+ # `ActivatedRule|OverrideAction` is not applicable and therefore not
86
+ # available for `UpdateWebACL`.
87
+ # @return [Types::WafOverrideAction]
88
+ #
63
89
  # @!attribute [rw] type
64
- # The rule type, either `REGULAR`, as defined by Rule, or
65
- # `RATE_BASED`, as defined by RateBasedRule. The default is REGULAR.
66
- # Although this field is optional, be aware that if you try to add a
67
- # RATE\_BASED rule to a web ACL without setting the type, the
68
- # UpdateWebACL request will fail because the request tries to add a
69
- # REGULAR rule with the specified ID, which does not exist.
90
+ # The rule type, either `REGULAR`, as defined by Rule, `RATE_BASED`,
91
+ # as defined by RateBasedRule, or `GROUP`, as defined by RuleGroup.
92
+ # The default is REGULAR. Although this field is optional, be aware
93
+ # that if you try to add a RATE\_BASED rule to a web ACL without
94
+ # setting the type, the UpdateWebACL request will fail because the
95
+ # request tries to add a REGULAR rule with the specified ID, which
96
+ # does not exist.
70
97
  # @return [String]
71
98
  #
72
99
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ActivatedRule AWS API Documentation
@@ -75,6 +102,7 @@ module Aws::WAFRegional
75
102
  :priority,
76
103
  :rule_id,
77
104
  :action,
105
+ :override_action,
78
106
  :type)
79
107
  include Aws::Structure
80
108
  end
@@ -721,6 +749,58 @@ module Aws::WAFRegional
721
749
  include Aws::Structure
722
750
  end
723
751
 
752
+ # @note When making an API call, you may pass CreateRuleGroupRequest
753
+ # data as a hash:
754
+ #
755
+ # {
756
+ # name: "ResourceName", # required
757
+ # metric_name: "MetricName", # required
758
+ # change_token: "ChangeToken", # required
759
+ # }
760
+ #
761
+ # @!attribute [rw] name
762
+ # A friendly name or description of the RuleGroup. You can't change
763
+ # `Name` after you create a `RuleGroup`.
764
+ # @return [String]
765
+ #
766
+ # @!attribute [rw] metric_name
767
+ # A friendly name or description for the metrics for this `RuleGroup`.
768
+ # The name can contain only alphanumeric characters (A-Z, a-z, 0-9);
769
+ # the name can't contain whitespace. You can't change the name of
770
+ # the metric after you create the `RuleGroup`.
771
+ # @return [String]
772
+ #
773
+ # @!attribute [rw] change_token
774
+ # The value returned by the most recent call to GetChangeToken.
775
+ # @return [String]
776
+ #
777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroupRequest AWS API Documentation
778
+ #
779
+ class CreateRuleGroupRequest < Struct.new(
780
+ :name,
781
+ :metric_name,
782
+ :change_token)
783
+ include Aws::Structure
784
+ end
785
+
786
+ # @!attribute [rw] rule_group
787
+ # An empty RuleGroup.
788
+ # @return [Types::RuleGroup]
789
+ #
790
+ # @!attribute [rw] change_token
791
+ # The `ChangeToken` that you used to submit the `CreateRuleGroup`
792
+ # request. You can also use this value to query the status of the
793
+ # request. For more information, see GetChangeTokenStatus.
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/CreateRuleGroupResponse AWS API Documentation
797
+ #
798
+ class CreateRuleGroupResponse < Struct.new(
799
+ :rule_group,
800
+ :change_token)
801
+ include Aws::Structure
802
+ end
803
+
724
804
  # @note When making an API call, you may pass CreateRuleRequest
725
805
  # data as a hash:
726
806
  #
@@ -1209,6 +1289,44 @@ module Aws::WAFRegional
1209
1289
  include Aws::Structure
1210
1290
  end
1211
1291
 
1292
+ # @note When making an API call, you may pass DeleteRuleGroupRequest
1293
+ # data as a hash:
1294
+ #
1295
+ # {
1296
+ # rule_group_id: "ResourceId", # required
1297
+ # change_token: "ChangeToken", # required
1298
+ # }
1299
+ #
1300
+ # @!attribute [rw] rule_group_id
1301
+ # The `RuleGroupId` of the RuleGroup that you want to delete.
1302
+ # `RuleGroupId` is returned by CreateRuleGroup and by ListRuleGroups.
1303
+ # @return [String]
1304
+ #
1305
+ # @!attribute [rw] change_token
1306
+ # The value returned by the most recent call to GetChangeToken.
1307
+ # @return [String]
1308
+ #
1309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroupRequest AWS API Documentation
1310
+ #
1311
+ class DeleteRuleGroupRequest < Struct.new(
1312
+ :rule_group_id,
1313
+ :change_token)
1314
+ include Aws::Structure
1315
+ end
1316
+
1317
+ # @!attribute [rw] change_token
1318
+ # The `ChangeToken` that you used to submit the `DeleteRuleGroup`
1319
+ # request. You can also use this value to query the status of the
1320
+ # request. For more information, see GetChangeTokenStatus.
1321
+ # @return [String]
1322
+ #
1323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/DeleteRuleGroupResponse AWS API Documentation
1324
+ #
1325
+ class DeleteRuleGroupResponse < Struct.new(
1326
+ :change_token)
1327
+ include Aws::Structure
1328
+ end
1329
+
1212
1330
  # @note When making an API call, you may pass DeleteRuleRequest
1213
1331
  # data as a hash:
1214
1332
  #
@@ -1908,6 +2026,37 @@ module Aws::WAFRegional
1908
2026
  include Aws::Structure
1909
2027
  end
1910
2028
 
2029
+ # @note When making an API call, you may pass GetRuleGroupRequest
2030
+ # data as a hash:
2031
+ #
2032
+ # {
2033
+ # rule_group_id: "ResourceId", # required
2034
+ # }
2035
+ #
2036
+ # @!attribute [rw] rule_group_id
2037
+ # The `RuleGroupId` of the RuleGroup that you want to get.
2038
+ # `RuleGroupId` is returned by CreateRuleGroup and by ListRuleGroups.
2039
+ # @return [String]
2040
+ #
2041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroupRequest AWS API Documentation
2042
+ #
2043
+ class GetRuleGroupRequest < Struct.new(
2044
+ :rule_group_id)
2045
+ include Aws::Structure
2046
+ end
2047
+
2048
+ # @!attribute [rw] rule_group
2049
+ # Information about the RuleGroup that you specified in the
2050
+ # `GetRuleGroup` request.
2051
+ # @return [Types::RuleGroup]
2052
+ #
2053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/GetRuleGroupResponse AWS API Documentation
2054
+ #
2055
+ class GetRuleGroupResponse < Struct.new(
2056
+ :rule_group)
2057
+ include Aws::Structure
2058
+ end
2059
+
1911
2060
  # @note When making an API call, you may pass GetRuleRequest
1912
2061
  # data as a hash:
1913
2062
  #
@@ -1964,10 +2113,11 @@ module Aws::WAFRegional
1964
2113
  # @return [String]
1965
2114
  #
1966
2115
  # @!attribute [rw] rule_id
1967
- # `RuleId` is one of two values:
2116
+ # `RuleId` is one of three values:
1968
2117
  #
1969
- # * The `RuleId` of the `Rule` for which you want `GetSampledRequests`
1970
- # to return a sample of requests.
2118
+ # * The `RuleId` of the `Rule` or the `RuleGroupId` of the `RuleGroup`
2119
+ # for which you want `GetSampledRequests` to return a sample of
2120
+ # requests.
1971
2121
  #
1972
2122
  # * `Default_Action`, which causes `GetSampledRequests` to return a
1973
2123
  # sample of the requests that didn't match any of the rules in the
@@ -2470,6 +2620,68 @@ module Aws::WAFRegional
2470
2620
  include Aws::Structure
2471
2621
  end
2472
2622
 
2623
+ # @note When making an API call, you may pass ListActivatedRulesInRuleGroupRequest
2624
+ # data as a hash:
2625
+ #
2626
+ # {
2627
+ # rule_group_id: "ResourceId",
2628
+ # next_marker: "NextMarker",
2629
+ # limit: 1,
2630
+ # }
2631
+ #
2632
+ # @!attribute [rw] rule_group_id
2633
+ # The `RuleGroupId` of the RuleGroup for which you want to get a list
2634
+ # of ActivatedRule objects.
2635
+ # @return [String]
2636
+ #
2637
+ # @!attribute [rw] next_marker
2638
+ # If you specify a value for `Limit` and you have more
2639
+ # `ActivatedRules` than the value of `Limit`, AWS WAF returns a
2640
+ # `NextMarker` value in the response that allows you to list another
2641
+ # group of `ActivatedRules`. For the second and subsequent
2642
+ # `ListActivatedRulesInRuleGroup` requests, specify the value of
2643
+ # `NextMarker` from the previous response to get information about
2644
+ # another batch of `ActivatedRules`.
2645
+ # @return [String]
2646
+ #
2647
+ # @!attribute [rw] limit
2648
+ # Specifies the number of `ActivatedRules` that you want AWS WAF to
2649
+ # return for this request. If you have more `ActivatedRules` than the
2650
+ # number that you specify for `Limit`, the response includes a
2651
+ # `NextMarker` value that you can use to get another batch of
2652
+ # `ActivatedRules`.
2653
+ # @return [Integer]
2654
+ #
2655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroupRequest AWS API Documentation
2656
+ #
2657
+ class ListActivatedRulesInRuleGroupRequest < Struct.new(
2658
+ :rule_group_id,
2659
+ :next_marker,
2660
+ :limit)
2661
+ include Aws::Structure
2662
+ end
2663
+
2664
+ # @!attribute [rw] next_marker
2665
+ # If you have more `ActivatedRules` than the number that you specified
2666
+ # for `Limit` in the request, the response includes a `NextMarker`
2667
+ # value. To list more `ActivatedRules`, submit another
2668
+ # `ListActivatedRulesInRuleGroup` request, and specify the
2669
+ # `NextMarker` value from the response in the `NextMarker` value in
2670
+ # the next request.
2671
+ # @return [String]
2672
+ #
2673
+ # @!attribute [rw] activated_rules
2674
+ # An array of `ActivatedRules` objects.
2675
+ # @return [Array<Types::ActivatedRule>]
2676
+ #
2677
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListActivatedRulesInRuleGroupResponse AWS API Documentation
2678
+ #
2679
+ class ListActivatedRulesInRuleGroupResponse < Struct.new(
2680
+ :next_marker,
2681
+ :activated_rules)
2682
+ include Aws::Structure
2683
+ end
2684
+
2473
2685
  # @note When making an API call, you may pass ListByteMatchSetsRequest
2474
2686
  # data as a hash:
2475
2687
  #
@@ -2824,6 +3036,58 @@ module Aws::WAFRegional
2824
3036
  include Aws::Structure
2825
3037
  end
2826
3038
 
3039
+ # @note When making an API call, you may pass ListRuleGroupsRequest
3040
+ # data as a hash:
3041
+ #
3042
+ # {
3043
+ # next_marker: "NextMarker",
3044
+ # limit: 1,
3045
+ # }
3046
+ #
3047
+ # @!attribute [rw] next_marker
3048
+ # If you specify a value for `Limit` and you have more `RuleGroups`
3049
+ # than the value of `Limit`, AWS WAF returns a `NextMarker` value in
3050
+ # the response that allows you to list another group of `RuleGroups`.
3051
+ # For the second and subsequent `ListRuleGroups` requests, specify the
3052
+ # value of `NextMarker` from the previous response to get information
3053
+ # about another batch of `RuleGroups`.
3054
+ # @return [String]
3055
+ #
3056
+ # @!attribute [rw] limit
3057
+ # Specifies the number of `RuleGroups` that you want AWS WAF to return
3058
+ # for this request. If you have more `RuleGroups` than the number that
3059
+ # you specify for `Limit`, the response includes a `NextMarker` value
3060
+ # that you can use to get another batch of `RuleGroups`.
3061
+ # @return [Integer]
3062
+ #
3063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroupsRequest AWS API Documentation
3064
+ #
3065
+ class ListRuleGroupsRequest < Struct.new(
3066
+ :next_marker,
3067
+ :limit)
3068
+ include Aws::Structure
3069
+ end
3070
+
3071
+ # @!attribute [rw] next_marker
3072
+ # If you have more `RuleGroups` than the number that you specified for
3073
+ # `Limit` in the request, the response includes a `NextMarker` value.
3074
+ # To list more `RuleGroups`, submit another `ListRuleGroups` request,
3075
+ # and specify the `NextMarker` value from the response in the
3076
+ # `NextMarker` value in the next request.
3077
+ # @return [String]
3078
+ #
3079
+ # @!attribute [rw] rule_groups
3080
+ # An array of RuleGroup objects.
3081
+ # @return [Array<Types::RuleGroupSummary>]
3082
+ #
3083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListRuleGroupsResponse AWS API Documentation
3084
+ #
3085
+ class ListRuleGroupsResponse < Struct.new(
3086
+ :next_marker,
3087
+ :rule_groups)
3088
+ include Aws::Structure
3089
+ end
3090
+
2827
3091
  # @note When making an API call, you may pass ListRulesRequest
2828
3092
  # data as a hash:
2829
3093
  #
@@ -2991,6 +3255,59 @@ module Aws::WAFRegional
2991
3255
  include Aws::Structure
2992
3256
  end
2993
3257
 
3258
+ # @note When making an API call, you may pass ListSubscribedRuleGroupsRequest
3259
+ # data as a hash:
3260
+ #
3261
+ # {
3262
+ # next_marker: "NextMarker",
3263
+ # limit: 1,
3264
+ # }
3265
+ #
3266
+ # @!attribute [rw] next_marker
3267
+ # If you specify a value for `Limit` and you have more
3268
+ # `ByteMatchSets`subscribed rule groups than the value of `Limit`, AWS
3269
+ # WAF returns a `NextMarker` value in the response that allows you to
3270
+ # list another group of subscribed rule groups. For the second and
3271
+ # subsequent `ListSubscribedRuleGroupsRequest` requests, specify the
3272
+ # value of `NextMarker` from the previous response to get information
3273
+ # about another batch of subscribed rule groups.
3274
+ # @return [String]
3275
+ #
3276
+ # @!attribute [rw] limit
3277
+ # Specifies the number of subscribed rule groups that you want AWS WAF
3278
+ # to return for this request. If you have more objects than the number
3279
+ # you specify for `Limit`, the response includes a `NextMarker` value
3280
+ # that you can use to get another batch of objects.
3281
+ # @return [Integer]
3282
+ #
3283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroupsRequest AWS API Documentation
3284
+ #
3285
+ class ListSubscribedRuleGroupsRequest < Struct.new(
3286
+ :next_marker,
3287
+ :limit)
3288
+ include Aws::Structure
3289
+ end
3290
+
3291
+ # @!attribute [rw] next_marker
3292
+ # If you have more objects than the number that you specified for
3293
+ # `Limit` in the request, the response includes a `NextMarker` value.
3294
+ # To list more objects, submit another `ListSubscribedRuleGroups`
3295
+ # request, and specify the `NextMarker` value from the response in the
3296
+ # `NextMarker` value in the next request.
3297
+ # @return [String]
3298
+ #
3299
+ # @!attribute [rw] rule_groups
3300
+ # An array of RuleGroup objects.
3301
+ # @return [Array<Types::SubscribedRuleGroupSummary>]
3302
+ #
3303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/ListSubscribedRuleGroupsResponse AWS API Documentation
3304
+ #
3305
+ class ListSubscribedRuleGroupsResponse < Struct.new(
3306
+ :next_marker,
3307
+ :rule_groups)
3308
+ include Aws::Structure
3309
+ end
3310
+
2994
3311
  # @note When making an API call, you may pass ListWebACLsRequest
2995
3312
  # data as a hash:
2996
3313
  #
@@ -3612,6 +3929,115 @@ module Aws::WAFRegional
3612
3929
  include Aws::Structure
3613
3930
  end
3614
3931
 
3932
+ # A collection of predefined rules that you can add to a web ACL.
3933
+ #
3934
+ # Rule groups are subject to the following limits:
3935
+ #
3936
+ # * Three rule groups per account. You can request an increase to this
3937
+ # limit by contacting customer support.
3938
+ #
3939
+ # * One rule group per web ACL.
3940
+ #
3941
+ # * Ten rules per rule group.
3942
+ #
3943
+ # @!attribute [rw] rule_group_id
3944
+ # A unique identifier for a `RuleGroup`. You use `RuleGroupId` to get
3945
+ # more information about a `RuleGroup` (see GetRuleGroup), update a
3946
+ # `RuleGroup` (see UpdateRuleGroup), insert a `RuleGroup` into a
3947
+ # `WebACL` or delete a one from a `WebACL` (see UpdateWebACL), or
3948
+ # delete a `RuleGroup` from AWS WAF (see DeleteRuleGroup).
3949
+ #
3950
+ # `RuleGroupId` is returned by CreateRuleGroup and by ListRuleGroups.
3951
+ # @return [String]
3952
+ #
3953
+ # @!attribute [rw] name
3954
+ # The friendly name or description for the `RuleGroup`. You can't
3955
+ # change the name of a `RuleGroup` after you create it.
3956
+ # @return [String]
3957
+ #
3958
+ # @!attribute [rw] metric_name
3959
+ # A friendly name or description for the metrics for this `RuleGroup`.
3960
+ # The name can contain only alphanumeric characters (A-Z, a-z, 0-9);
3961
+ # the name can't contain whitespace. You can't change the name of
3962
+ # the metric after you create the `RuleGroup`.
3963
+ # @return [String]
3964
+ #
3965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RuleGroup AWS API Documentation
3966
+ #
3967
+ class RuleGroup < Struct.new(
3968
+ :rule_group_id,
3969
+ :name,
3970
+ :metric_name)
3971
+ include Aws::Structure
3972
+ end
3973
+
3974
+ # Contains the identifier and the friendly name or description of the
3975
+ # `RuleGroup`.
3976
+ #
3977
+ # @!attribute [rw] rule_group_id
3978
+ # A unique identifier for a `RuleGroup`. You use `RuleGroupId` to get
3979
+ # more information about a `RuleGroup` (see GetRuleGroup), update a
3980
+ # `RuleGroup` (see UpdateRuleGroup), insert a `RuleGroup` into a
3981
+ # `WebACL` or delete one from a `WebACL` (see UpdateWebACL), or delete
3982
+ # a `RuleGroup` from AWS WAF (see DeleteRuleGroup).
3983
+ #
3984
+ # `RuleGroupId` is returned by CreateRuleGroup and by ListRuleGroups.
3985
+ # @return [String]
3986
+ #
3987
+ # @!attribute [rw] name
3988
+ # A friendly name or description of the RuleGroup. You can't change
3989
+ # the name of a `RuleGroup` after you create it.
3990
+ # @return [String]
3991
+ #
3992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RuleGroupSummary AWS API Documentation
3993
+ #
3994
+ class RuleGroupSummary < Struct.new(
3995
+ :rule_group_id,
3996
+ :name)
3997
+ include Aws::Structure
3998
+ end
3999
+
4000
+ # Specifies an `ActivatedRule` and indicates whether you want to add it
4001
+ # to a `RuleGroup` or delete it from a `RuleGroup`.
4002
+ #
4003
+ # @note When making an API call, you may pass RuleGroupUpdate
4004
+ # data as a hash:
4005
+ #
4006
+ # {
4007
+ # action: "INSERT", # required, accepts INSERT, DELETE
4008
+ # activated_rule: { # required
4009
+ # priority: 1, # required
4010
+ # rule_id: "ResourceId", # required
4011
+ # action: {
4012
+ # type: "BLOCK", # required, accepts BLOCK, ALLOW, COUNT
4013
+ # },
4014
+ # override_action: {
4015
+ # type: "NONE", # required, accepts NONE, COUNT
4016
+ # },
4017
+ # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
4018
+ # },
4019
+ # }
4020
+ #
4021
+ # @!attribute [rw] action
4022
+ # Specify `INSERT` to add an `ActivatedRule` to a `RuleGroup`. Use
4023
+ # `DELETE` to remove an `ActivatedRule` from a `RuleGroup`.
4024
+ # @return [String]
4025
+ #
4026
+ # @!attribute [rw] activated_rule
4027
+ # The `ActivatedRule` object specifies a `Rule` that you want to
4028
+ # insert or delete, the priority of the `Rule` in the `WebACL`, and
4029
+ # the action that you want AWS WAF to take when a web request matches
4030
+ # the `Rule` (`ALLOW`, `BLOCK`, or `COUNT`).
4031
+ # @return [Types::ActivatedRule]
4032
+ #
4033
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/RuleGroupUpdate AWS API Documentation
4034
+ #
4035
+ class RuleGroupUpdate < Struct.new(
4036
+ :action,
4037
+ :activated_rule)
4038
+ include Aws::Structure
4039
+ end
4040
+
3615
4041
  # Contains the identifier and the friendly name or description of the
3616
4042
  # `Rule`.
3617
4043
  #
@@ -3698,13 +4124,21 @@ module Aws::WAFRegional
3698
4124
  # `BLOCK`, or `COUNT`.
3699
4125
  # @return [String]
3700
4126
  #
4127
+ # @!attribute [rw] rule_within_rule_group
4128
+ # This value is returned if the `GetSampledRequests` request specifies
4129
+ # the ID of a `RuleGroup` rather than the ID of an individual rule.
4130
+ # `RuleWithinRuleGroup` is the rule within the specified `RuleGroup`
4131
+ # that matched the request listed in the response.
4132
+ # @return [String]
4133
+ #
3701
4134
  # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/SampledHTTPRequest AWS API Documentation
3702
4135
  #
3703
4136
  class SampledHTTPRequest < Struct.new(
3704
4137
  :request,
3705
4138
  :weight,
3706
4139
  :timestamp,
3707
- :action)
4140
+ :action,
4141
+ :rule_within_rule_group)
3708
4142
  include Aws::Structure
3709
4143
  end
3710
4144
 
@@ -4175,6 +4609,33 @@ module Aws::WAFRegional
4175
4609
  include Aws::Structure
4176
4610
  end
4177
4611
 
4612
+ # A summary of the rule groups you are subscribed to.
4613
+ #
4614
+ # @!attribute [rw] rule_group_id
4615
+ # A unique identifier for a `RuleGroup`.
4616
+ # @return [String]
4617
+ #
4618
+ # @!attribute [rw] name
4619
+ # A friendly name or description of the `RuleGroup`. You can't change
4620
+ # the name of a `RuleGroup` after you create it.
4621
+ # @return [String]
4622
+ #
4623
+ # @!attribute [rw] metric_name
4624
+ # A friendly name or description for the metrics for this `RuleGroup`.
4625
+ # The name can contain only alphanumeric characters (A-Z, a-z, 0-9);
4626
+ # the name can't contain whitespace. You can't change the name of
4627
+ # the metric after you create the `RuleGroup`.
4628
+ # @return [String]
4629
+ #
4630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/SubscribedRuleGroupSummary AWS API Documentation
4631
+ #
4632
+ class SubscribedRuleGroupSummary < Struct.new(
4633
+ :rule_group_id,
4634
+ :name,
4635
+ :metric_name)
4636
+ include Aws::Structure
4637
+ end
4638
+
4178
4639
  # In a GetSampledRequests request, the `StartTime` and `EndTime` objects
4179
4640
  # specify the time range for which you want AWS WAF to return a sample
4180
4641
  # of web requests.
@@ -4584,6 +5045,72 @@ module Aws::WAFRegional
4584
5045
  include Aws::Structure
4585
5046
  end
4586
5047
 
5048
+ # @note When making an API call, you may pass UpdateRuleGroupRequest
5049
+ # data as a hash:
5050
+ #
5051
+ # {
5052
+ # rule_group_id: "ResourceId", # required
5053
+ # updates: [ # required
5054
+ # {
5055
+ # action: "INSERT", # required, accepts INSERT, DELETE
5056
+ # activated_rule: { # required
5057
+ # priority: 1, # required
5058
+ # rule_id: "ResourceId", # required
5059
+ # action: {
5060
+ # type: "BLOCK", # required, accepts BLOCK, ALLOW, COUNT
5061
+ # },
5062
+ # override_action: {
5063
+ # type: "NONE", # required, accepts NONE, COUNT
5064
+ # },
5065
+ # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5066
+ # },
5067
+ # },
5068
+ # ],
5069
+ # change_token: "ChangeToken", # required
5070
+ # }
5071
+ #
5072
+ # @!attribute [rw] rule_group_id
5073
+ # The `RuleGroupId` of the RuleGroup that you want to update.
5074
+ # `RuleGroupId` is returned by CreateRuleGroup and by ListRuleGroups.
5075
+ # @return [String]
5076
+ #
5077
+ # @!attribute [rw] updates
5078
+ # An array of `RuleGroupUpdate` objects that you want to insert into
5079
+ # or delete from a RuleGroup.
5080
+ #
5081
+ # You can only insert `REGULAR` rules into a rule group.
5082
+ #
5083
+ # The `Action` data type within `ActivatedRule` is used only when
5084
+ # submitting an `UpdateWebACL` request. `ActivatedRule|Action` is not
5085
+ # applicable and therefore not available for `UpdateRuleGroup`.
5086
+ # @return [Array<Types::RuleGroupUpdate>]
5087
+ #
5088
+ # @!attribute [rw] change_token
5089
+ # The value returned by the most recent call to GetChangeToken.
5090
+ # @return [String]
5091
+ #
5092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroupRequest AWS API Documentation
5093
+ #
5094
+ class UpdateRuleGroupRequest < Struct.new(
5095
+ :rule_group_id,
5096
+ :updates,
5097
+ :change_token)
5098
+ include Aws::Structure
5099
+ end
5100
+
5101
+ # @!attribute [rw] change_token
5102
+ # The `ChangeToken` that you used to submit the `UpdateRuleGroup`
5103
+ # request. You can also use this value to query the status of the
5104
+ # request. For more information, see GetChangeTokenStatus.
5105
+ # @return [String]
5106
+ #
5107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/UpdateRuleGroupResponse AWS API Documentation
5108
+ #
5109
+ class UpdateRuleGroupResponse < Struct.new(
5110
+ :change_token)
5111
+ include Aws::Structure
5112
+ end
5113
+
4587
5114
  # @note When making an API call, you may pass UpdateRuleRequest
4588
5115
  # data as a hash:
4589
5116
  #
@@ -4796,10 +5323,13 @@ module Aws::WAFRegional
4796
5323
  # activated_rule: { # required
4797
5324
  # priority: 1, # required
4798
5325
  # rule_id: "ResourceId", # required
4799
- # action: { # required
5326
+ # action: {
4800
5327
  # type: "BLOCK", # required, accepts BLOCK, ALLOW, COUNT
4801
5328
  # },
4802
- # type: "REGULAR", # accepts REGULAR, RATE_BASED
5329
+ # override_action: {
5330
+ # type: "NONE", # required, accepts NONE, COUNT
5331
+ # },
5332
+ # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
4803
5333
  # },
4804
5334
  # },
4805
5335
  # ],
@@ -4826,7 +5356,11 @@ module Aws::WAFRegional
4826
5356
  #
4827
5357
  # * WebACLUpdate: Contains `Action` and `ActivatedRule`
4828
5358
  #
4829
- # * ActivatedRule: Contains `Action`, `Priority`, `RuleId`, and `Type`
5359
+ # * ActivatedRule: Contains `Action`, `Priority`, `RuleId`, and
5360
+ # `Type`. The `OverrideAction` data type within `ActivatedRule` is
5361
+ # used only when submitting an `UpdateRuleGroup` request.
5362
+ # `ActivatedRule|OverrideAction` is not applicable and therefore not
5363
+ # available for `UpdateWebACL`.
4830
5364
  #
4831
5365
  # * WafAction: Contains `Type`
4832
5366
  # @return [Array<Types::WebACLUpdate>]
@@ -4964,6 +5498,29 @@ module Aws::WAFRegional
4964
5498
  include Aws::Structure
4965
5499
  end
4966
5500
 
5501
+ # The action to take if any rule within the `RuleGroup` matches a
5502
+ # request.
5503
+ #
5504
+ # @note When making an API call, you may pass WafOverrideAction
5505
+ # data as a hash:
5506
+ #
5507
+ # {
5508
+ # type: "NONE", # required, accepts NONE, COUNT
5509
+ # }
5510
+ #
5511
+ # @!attribute [rw] type
5512
+ # `COUNT` overrides the action specified by the individual rule within
5513
+ # a `RuleGroup` . If set to `NONE`, the rule's action will take
5514
+ # place.
5515
+ # @return [String]
5516
+ #
5517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/waf-regional-2016-11-28/WafOverrideAction AWS API Documentation
5518
+ #
5519
+ class WafOverrideAction < Struct.new(
5520
+ :type)
5521
+ include Aws::Structure
5522
+ end
5523
+
4967
5524
  # Contains the `Rules` that identify the requests that you want to
4968
5525
  # allow, block, or count. In a `WebACL`, you also specify a default
4969
5526
  # action (`ALLOW` or `BLOCK`), and the action for each `Rule` that you
@@ -5052,10 +5609,13 @@ module Aws::WAFRegional
5052
5609
  # activated_rule: { # required
5053
5610
  # priority: 1, # required
5054
5611
  # rule_id: "ResourceId", # required
5055
- # action: { # required
5612
+ # action: {
5056
5613
  # type: "BLOCK", # required, accepts BLOCK, ALLOW, COUNT
5057
5614
  # },
5058
- # type: "REGULAR", # accepts REGULAR, RATE_BASED
5615
+ # override_action: {
5616
+ # type: "NONE", # required, accepts NONE, COUNT
5617
+ # },
5618
+ # type: "REGULAR", # accepts REGULAR, RATE_BASED, GROUP
5059
5619
  # },
5060
5620
  # }
5061
5621
  #