aws-sdk-wafregional 1.2.0 → 1.3.0

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