aws-sdk-shield 1.32.0 → 1.33.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -29,28 +29,40 @@ module Aws::Shield
29
29
  AttackProperties = Shapes::ListShape.new(name: 'AttackProperties')
30
30
  AttackProperty = Shapes::StructureShape.new(name: 'AttackProperty')
31
31
  AttackPropertyIdentifier = Shapes::StringShape.new(name: 'AttackPropertyIdentifier')
32
+ AttackStatisticsDataItem = Shapes::StructureShape.new(name: 'AttackStatisticsDataItem')
33
+ AttackStatisticsDataList = Shapes::ListShape.new(name: 'AttackStatisticsDataList')
32
34
  AttackSummaries = Shapes::ListShape.new(name: 'AttackSummaries')
33
35
  AttackSummary = Shapes::StructureShape.new(name: 'AttackSummary')
34
36
  AttackTimestamp = Shapes::TimestampShape.new(name: 'AttackTimestamp')
35
37
  AttackVectorDescription = Shapes::StructureShape.new(name: 'AttackVectorDescription')
36
38
  AttackVectorDescriptionList = Shapes::ListShape.new(name: 'AttackVectorDescriptionList')
39
+ AttackVolume = Shapes::StructureShape.new(name: 'AttackVolume')
40
+ AttackVolumeStatistics = Shapes::StructureShape.new(name: 'AttackVolumeStatistics')
37
41
  AutoRenew = Shapes::StringShape.new(name: 'AutoRenew')
38
42
  ContactNotes = Shapes::StringShape.new(name: 'ContactNotes')
39
43
  Contributor = Shapes::StructureShape.new(name: 'Contributor')
44
+ CreateProtectionGroupRequest = Shapes::StructureShape.new(name: 'CreateProtectionGroupRequest')
45
+ CreateProtectionGroupResponse = Shapes::StructureShape.new(name: 'CreateProtectionGroupResponse')
40
46
  CreateProtectionRequest = Shapes::StructureShape.new(name: 'CreateProtectionRequest')
41
47
  CreateProtectionResponse = Shapes::StructureShape.new(name: 'CreateProtectionResponse')
42
48
  CreateSubscriptionRequest = Shapes::StructureShape.new(name: 'CreateSubscriptionRequest')
43
49
  CreateSubscriptionResponse = Shapes::StructureShape.new(name: 'CreateSubscriptionResponse')
50
+ DeleteProtectionGroupRequest = Shapes::StructureShape.new(name: 'DeleteProtectionGroupRequest')
51
+ DeleteProtectionGroupResponse = Shapes::StructureShape.new(name: 'DeleteProtectionGroupResponse')
44
52
  DeleteProtectionRequest = Shapes::StructureShape.new(name: 'DeleteProtectionRequest')
45
53
  DeleteProtectionResponse = Shapes::StructureShape.new(name: 'DeleteProtectionResponse')
46
54
  DeleteSubscriptionRequest = Shapes::StructureShape.new(name: 'DeleteSubscriptionRequest')
47
55
  DeleteSubscriptionResponse = Shapes::StructureShape.new(name: 'DeleteSubscriptionResponse')
48
56
  DescribeAttackRequest = Shapes::StructureShape.new(name: 'DescribeAttackRequest')
49
57
  DescribeAttackResponse = Shapes::StructureShape.new(name: 'DescribeAttackResponse')
58
+ DescribeAttackStatisticsRequest = Shapes::StructureShape.new(name: 'DescribeAttackStatisticsRequest')
59
+ DescribeAttackStatisticsResponse = Shapes::StructureShape.new(name: 'DescribeAttackStatisticsResponse')
50
60
  DescribeDRTAccessRequest = Shapes::StructureShape.new(name: 'DescribeDRTAccessRequest')
51
61
  DescribeDRTAccessResponse = Shapes::StructureShape.new(name: 'DescribeDRTAccessResponse')
52
62
  DescribeEmergencyContactSettingsRequest = Shapes::StructureShape.new(name: 'DescribeEmergencyContactSettingsRequest')
53
63
  DescribeEmergencyContactSettingsResponse = Shapes::StructureShape.new(name: 'DescribeEmergencyContactSettingsResponse')
64
+ DescribeProtectionGroupRequest = Shapes::StructureShape.new(name: 'DescribeProtectionGroupRequest')
65
+ DescribeProtectionGroupResponse = Shapes::StructureShape.new(name: 'DescribeProtectionGroupResponse')
54
66
  DescribeProtectionRequest = Shapes::StructureShape.new(name: 'DescribeProtectionRequest')
55
67
  DescribeProtectionResponse = Shapes::StructureShape.new(name: 'DescribeProtectionResponse')
56
68
  DescribeSubscriptionRequest = Shapes::StructureShape.new(name: 'DescribeSubscriptionRequest')
@@ -88,8 +100,12 @@ module Aws::Shield
88
100
  LimitsExceededException = Shapes::StructureShape.new(name: 'LimitsExceededException')
89
101
  ListAttacksRequest = Shapes::StructureShape.new(name: 'ListAttacksRequest')
90
102
  ListAttacksResponse = Shapes::StructureShape.new(name: 'ListAttacksResponse')
103
+ ListProtectionGroupsRequest = Shapes::StructureShape.new(name: 'ListProtectionGroupsRequest')
104
+ ListProtectionGroupsResponse = Shapes::StructureShape.new(name: 'ListProtectionGroupsResponse')
91
105
  ListProtectionsRequest = Shapes::StructureShape.new(name: 'ListProtectionsRequest')
92
106
  ListProtectionsResponse = Shapes::StructureShape.new(name: 'ListProtectionsResponse')
107
+ ListResourcesInProtectionGroupRequest = Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupRequest')
108
+ ListResourcesInProtectionGroupResponse = Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupResponse')
93
109
  LockedSubscriptionException = Shapes::StructureShape.new(name: 'LockedSubscriptionException')
94
110
  LogBucket = Shapes::StringShape.new(name: 'LogBucket')
95
111
  LogBucketList = Shapes::ListShape.new(name: 'LogBucketList')
@@ -101,13 +117,25 @@ module Aws::Shield
101
117
  OptimisticLockException = Shapes::StructureShape.new(name: 'OptimisticLockException')
102
118
  PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
103
119
  ProactiveEngagementStatus = Shapes::StringShape.new(name: 'ProactiveEngagementStatus')
120
+ ProtectedResourceType = Shapes::StringShape.new(name: 'ProtectedResourceType')
104
121
  Protection = Shapes::StructureShape.new(name: 'Protection')
122
+ ProtectionGroup = Shapes::StructureShape.new(name: 'ProtectionGroup')
123
+ ProtectionGroupAggregation = Shapes::StringShape.new(name: 'ProtectionGroupAggregation')
124
+ ProtectionGroupArbitraryPatternLimits = Shapes::StructureShape.new(name: 'ProtectionGroupArbitraryPatternLimits')
125
+ ProtectionGroupId = Shapes::StringShape.new(name: 'ProtectionGroupId')
126
+ ProtectionGroupLimits = Shapes::StructureShape.new(name: 'ProtectionGroupLimits')
127
+ ProtectionGroupMembers = Shapes::ListShape.new(name: 'ProtectionGroupMembers')
128
+ ProtectionGroupPattern = Shapes::StringShape.new(name: 'ProtectionGroupPattern')
129
+ ProtectionGroupPatternTypeLimits = Shapes::StructureShape.new(name: 'ProtectionGroupPatternTypeLimits')
130
+ ProtectionGroups = Shapes::ListShape.new(name: 'ProtectionGroups')
105
131
  ProtectionId = Shapes::StringShape.new(name: 'ProtectionId')
132
+ ProtectionLimits = Shapes::StructureShape.new(name: 'ProtectionLimits')
106
133
  ProtectionName = Shapes::StringShape.new(name: 'ProtectionName')
107
134
  Protections = Shapes::ListShape.new(name: 'Protections')
108
135
  ResourceAlreadyExistsException = Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
109
136
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
110
137
  ResourceArnFilterList = Shapes::ListShape.new(name: 'ResourceArnFilterList')
138
+ ResourceArnList = Shapes::ListShape.new(name: 'ResourceArnList')
111
139
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
112
140
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
113
141
  String = Shapes::StringShape.new(name: 'String')
@@ -115,6 +143,7 @@ module Aws::Shield
115
143
  SubResourceSummaryList = Shapes::ListShape.new(name: 'SubResourceSummaryList')
116
144
  SubResourceType = Shapes::StringShape.new(name: 'SubResourceType')
117
145
  Subscription = Shapes::StructureShape.new(name: 'Subscription')
146
+ SubscriptionLimits = Shapes::StructureShape.new(name: 'SubscriptionLimits')
118
147
  SubscriptionState = Shapes::StringShape.new(name: 'SubscriptionState')
119
148
  SummarizedAttackVector = Shapes::StructureShape.new(name: 'SummarizedAttackVector')
120
149
  SummarizedAttackVectorList = Shapes::ListShape.new(name: 'SummarizedAttackVectorList')
@@ -127,8 +156,13 @@ module Aws::Shield
127
156
  Unit = Shapes::StringShape.new(name: 'Unit')
128
157
  UpdateEmergencyContactSettingsRequest = Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsRequest')
129
158
  UpdateEmergencyContactSettingsResponse = Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsResponse')
159
+ UpdateProtectionGroupRequest = Shapes::StructureShape.new(name: 'UpdateProtectionGroupRequest')
160
+ UpdateProtectionGroupResponse = Shapes::StructureShape.new(name: 'UpdateProtectionGroupResponse')
130
161
  UpdateSubscriptionRequest = Shapes::StructureShape.new(name: 'UpdateSubscriptionRequest')
131
162
  UpdateSubscriptionResponse = Shapes::StructureShape.new(name: 'UpdateSubscriptionResponse')
163
+ ValidationExceptionField = Shapes::StructureShape.new(name: 'ValidationExceptionField')
164
+ ValidationExceptionFieldList = Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
165
+ ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
132
166
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
133
167
 
134
168
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -177,6 +211,12 @@ module Aws::Shield
177
211
  AttackProperty.add_member(:total, Shapes::ShapeRef.new(shape: Long, location_name: "Total"))
178
212
  AttackProperty.struct_class = Types::AttackProperty
179
213
 
214
+ AttackStatisticsDataItem.add_member(:attack_volume, Shapes::ShapeRef.new(shape: AttackVolume, location_name: "AttackVolume"))
215
+ AttackStatisticsDataItem.add_member(:attack_count, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "AttackCount"))
216
+ AttackStatisticsDataItem.struct_class = Types::AttackStatisticsDataItem
217
+
218
+ AttackStatisticsDataList.member = Shapes::ShapeRef.new(shape: AttackStatisticsDataItem)
219
+
180
220
  AttackSummaries.member = Shapes::ShapeRef.new(shape: AttackSummary)
181
221
 
182
222
  AttackSummary.add_member(:attack_id, Shapes::ShapeRef.new(shape: String, location_name: "AttackId"))
@@ -191,10 +231,27 @@ module Aws::Shield
191
231
 
192
232
  AttackVectorDescriptionList.member = Shapes::ShapeRef.new(shape: AttackVectorDescription)
193
233
 
234
+ AttackVolume.add_member(:bits_per_second, Shapes::ShapeRef.new(shape: AttackVolumeStatistics, location_name: "BitsPerSecond"))
235
+ AttackVolume.add_member(:packets_per_second, Shapes::ShapeRef.new(shape: AttackVolumeStatistics, location_name: "PacketsPerSecond"))
236
+ AttackVolume.add_member(:requests_per_second, Shapes::ShapeRef.new(shape: AttackVolumeStatistics, location_name: "RequestsPerSecond"))
237
+ AttackVolume.struct_class = Types::AttackVolume
238
+
239
+ AttackVolumeStatistics.add_member(:max, Shapes::ShapeRef.new(shape: Double, required: true, location_name: "Max"))
240
+ AttackVolumeStatistics.struct_class = Types::AttackVolumeStatistics
241
+
194
242
  Contributor.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
195
243
  Contributor.add_member(:value, Shapes::ShapeRef.new(shape: Long, location_name: "Value"))
196
244
  Contributor.struct_class = Types::Contributor
197
245
 
246
+ CreateProtectionGroupRequest.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
247
+ CreateProtectionGroupRequest.add_member(:aggregation, Shapes::ShapeRef.new(shape: ProtectionGroupAggregation, required: true, location_name: "Aggregation"))
248
+ CreateProtectionGroupRequest.add_member(:pattern, Shapes::ShapeRef.new(shape: ProtectionGroupPattern, required: true, location_name: "Pattern"))
249
+ CreateProtectionGroupRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ProtectedResourceType, location_name: "ResourceType"))
250
+ CreateProtectionGroupRequest.add_member(:members, Shapes::ShapeRef.new(shape: ProtectionGroupMembers, location_name: "Members"))
251
+ CreateProtectionGroupRequest.struct_class = Types::CreateProtectionGroupRequest
252
+
253
+ CreateProtectionGroupResponse.struct_class = Types::CreateProtectionGroupResponse
254
+
198
255
  CreateProtectionRequest.add_member(:name, Shapes::ShapeRef.new(shape: ProtectionName, required: true, location_name: "Name"))
199
256
  CreateProtectionRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "ResourceArn"))
200
257
  CreateProtectionRequest.struct_class = Types::CreateProtectionRequest
@@ -206,6 +263,11 @@ module Aws::Shield
206
263
 
207
264
  CreateSubscriptionResponse.struct_class = Types::CreateSubscriptionResponse
208
265
 
266
+ DeleteProtectionGroupRequest.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
267
+ DeleteProtectionGroupRequest.struct_class = Types::DeleteProtectionGroupRequest
268
+
269
+ DeleteProtectionGroupResponse.struct_class = Types::DeleteProtectionGroupResponse
270
+
209
271
  DeleteProtectionRequest.add_member(:protection_id, Shapes::ShapeRef.new(shape: ProtectionId, required: true, location_name: "ProtectionId"))
210
272
  DeleteProtectionRequest.struct_class = Types::DeleteProtectionRequest
211
273
 
@@ -221,6 +283,12 @@ module Aws::Shield
221
283
  DescribeAttackResponse.add_member(:attack, Shapes::ShapeRef.new(shape: AttackDetail, location_name: "Attack"))
222
284
  DescribeAttackResponse.struct_class = Types::DescribeAttackResponse
223
285
 
286
+ DescribeAttackStatisticsRequest.struct_class = Types::DescribeAttackStatisticsRequest
287
+
288
+ DescribeAttackStatisticsResponse.add_member(:time_range, Shapes::ShapeRef.new(shape: TimeRange, required: true, location_name: "TimeRange"))
289
+ DescribeAttackStatisticsResponse.add_member(:data_items, Shapes::ShapeRef.new(shape: AttackStatisticsDataList, required: true, location_name: "DataItems"))
290
+ DescribeAttackStatisticsResponse.struct_class = Types::DescribeAttackStatisticsResponse
291
+
224
292
  DescribeDRTAccessRequest.struct_class = Types::DescribeDRTAccessRequest
225
293
 
226
294
  DescribeDRTAccessResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn"))
@@ -232,6 +300,12 @@ module Aws::Shield
232
300
  DescribeEmergencyContactSettingsResponse.add_member(:emergency_contact_list, Shapes::ShapeRef.new(shape: EmergencyContactList, location_name: "EmergencyContactList"))
233
301
  DescribeEmergencyContactSettingsResponse.struct_class = Types::DescribeEmergencyContactSettingsResponse
234
302
 
303
+ DescribeProtectionGroupRequest.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
304
+ DescribeProtectionGroupRequest.struct_class = Types::DescribeProtectionGroupRequest
305
+
306
+ DescribeProtectionGroupResponse.add_member(:protection_group, Shapes::ShapeRef.new(shape: ProtectionGroup, required: true, location_name: "ProtectionGroup"))
307
+ DescribeProtectionGroupResponse.struct_class = Types::DescribeProtectionGroupResponse
308
+
235
309
  DescribeProtectionRequest.add_member(:protection_id, Shapes::ShapeRef.new(shape: ProtectionId, location_name: "ProtectionId"))
236
310
  DescribeProtectionRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "ResourceArn"))
237
311
  DescribeProtectionRequest.struct_class = Types::DescribeProtectionRequest
@@ -291,6 +365,8 @@ module Aws::Shield
291
365
  InvalidPaginationTokenException.struct_class = Types::InvalidPaginationTokenException
292
366
 
293
367
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
368
+ InvalidParameterException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, location_name: "reason"))
369
+ InvalidParameterException.add_member(:fields, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "fields"))
294
370
  InvalidParameterException.struct_class = Types::InvalidParameterException
295
371
 
296
372
  InvalidResourceException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -318,6 +394,14 @@ module Aws::Shield
318
394
  ListAttacksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
319
395
  ListAttacksResponse.struct_class = Types::ListAttacksResponse
320
396
 
397
+ ListProtectionGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
398
+ ListProtectionGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
399
+ ListProtectionGroupsRequest.struct_class = Types::ListProtectionGroupsRequest
400
+
401
+ ListProtectionGroupsResponse.add_member(:protection_groups, Shapes::ShapeRef.new(shape: ProtectionGroups, required: true, location_name: "ProtectionGroups"))
402
+ ListProtectionGroupsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
403
+ ListProtectionGroupsResponse.struct_class = Types::ListProtectionGroupsResponse
404
+
321
405
  ListProtectionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
322
406
  ListProtectionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
323
407
  ListProtectionsRequest.struct_class = Types::ListProtectionsRequest
@@ -326,6 +410,15 @@ module Aws::Shield
326
410
  ListProtectionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
327
411
  ListProtectionsResponse.struct_class = Types::ListProtectionsResponse
328
412
 
413
+ ListResourcesInProtectionGroupRequest.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
414
+ ListResourcesInProtectionGroupRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
415
+ ListResourcesInProtectionGroupRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
416
+ ListResourcesInProtectionGroupRequest.struct_class = Types::ListResourcesInProtectionGroupRequest
417
+
418
+ ListResourcesInProtectionGroupResponse.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArnList, required: true, location_name: "ResourceArns"))
419
+ ListResourcesInProtectionGroupResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
420
+ ListResourcesInProtectionGroupResponse.struct_class = Types::ListResourcesInProtectionGroupResponse
421
+
329
422
  LockedSubscriptionException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
330
423
  LockedSubscriptionException.struct_class = Types::LockedSubscriptionException
331
424
 
@@ -348,14 +441,42 @@ module Aws::Shield
348
441
  Protection.add_member(:health_check_ids, Shapes::ShapeRef.new(shape: HealthCheckIds, location_name: "HealthCheckIds"))
349
442
  Protection.struct_class = Types::Protection
350
443
 
444
+ ProtectionGroup.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
445
+ ProtectionGroup.add_member(:aggregation, Shapes::ShapeRef.new(shape: ProtectionGroupAggregation, required: true, location_name: "Aggregation"))
446
+ ProtectionGroup.add_member(:pattern, Shapes::ShapeRef.new(shape: ProtectionGroupPattern, required: true, location_name: "Pattern"))
447
+ ProtectionGroup.add_member(:resource_type, Shapes::ShapeRef.new(shape: ProtectedResourceType, location_name: "ResourceType"))
448
+ ProtectionGroup.add_member(:members, Shapes::ShapeRef.new(shape: ProtectionGroupMembers, required: true, location_name: "Members"))
449
+ ProtectionGroup.struct_class = Types::ProtectionGroup
450
+
451
+ ProtectionGroupArbitraryPatternLimits.add_member(:max_members, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "MaxMembers"))
452
+ ProtectionGroupArbitraryPatternLimits.struct_class = Types::ProtectionGroupArbitraryPatternLimits
453
+
454
+ ProtectionGroupLimits.add_member(:max_protection_groups, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "MaxProtectionGroups"))
455
+ ProtectionGroupLimits.add_member(:pattern_type_limits, Shapes::ShapeRef.new(shape: ProtectionGroupPatternTypeLimits, required: true, location_name: "PatternTypeLimits"))
456
+ ProtectionGroupLimits.struct_class = Types::ProtectionGroupLimits
457
+
458
+ ProtectionGroupMembers.member = Shapes::ShapeRef.new(shape: ResourceArn)
459
+
460
+ ProtectionGroupPatternTypeLimits.add_member(:arbitrary_pattern_limits, Shapes::ShapeRef.new(shape: ProtectionGroupArbitraryPatternLimits, required: true, location_name: "ArbitraryPatternLimits"))
461
+ ProtectionGroupPatternTypeLimits.struct_class = Types::ProtectionGroupPatternTypeLimits
462
+
463
+ ProtectionGroups.member = Shapes::ShapeRef.new(shape: ProtectionGroup)
464
+
465
+ ProtectionLimits.add_member(:protected_resource_type_limits, Shapes::ShapeRef.new(shape: Limits, required: true, location_name: "ProtectedResourceTypeLimits"))
466
+ ProtectionLimits.struct_class = Types::ProtectionLimits
467
+
351
468
  Protections.member = Shapes::ShapeRef.new(shape: Protection)
352
469
 
353
470
  ResourceAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
471
+ ResourceAlreadyExistsException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
354
472
  ResourceAlreadyExistsException.struct_class = Types::ResourceAlreadyExistsException
355
473
 
356
474
  ResourceArnFilterList.member = Shapes::ShapeRef.new(shape: ResourceArn)
357
475
 
476
+ ResourceArnList.member = Shapes::ShapeRef.new(shape: ResourceArn)
477
+
358
478
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
479
+ ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, location_name: "resourceType"))
359
480
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
360
481
 
361
482
  SubResourceSummary.add_member(:type, Shapes::ShapeRef.new(shape: SubResourceType, location_name: "Type"))
@@ -372,8 +493,13 @@ module Aws::Shield
372
493
  Subscription.add_member(:auto_renew, Shapes::ShapeRef.new(shape: AutoRenew, location_name: "AutoRenew"))
373
494
  Subscription.add_member(:limits, Shapes::ShapeRef.new(shape: Limits, location_name: "Limits"))
374
495
  Subscription.add_member(:proactive_engagement_status, Shapes::ShapeRef.new(shape: ProactiveEngagementStatus, location_name: "ProactiveEngagementStatus"))
496
+ Subscription.add_member(:subscription_limits, Shapes::ShapeRef.new(shape: SubscriptionLimits, required: true, location_name: "SubscriptionLimits"))
375
497
  Subscription.struct_class = Types::Subscription
376
498
 
499
+ SubscriptionLimits.add_member(:protection_limits, Shapes::ShapeRef.new(shape: ProtectionLimits, required: true, location_name: "ProtectionLimits"))
500
+ SubscriptionLimits.add_member(:protection_group_limits, Shapes::ShapeRef.new(shape: ProtectionGroupLimits, required: true, location_name: "ProtectionGroupLimits"))
501
+ SubscriptionLimits.struct_class = Types::SubscriptionLimits
502
+
377
503
  SummarizedAttackVector.add_member(:vector_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VectorType"))
378
504
  SummarizedAttackVector.add_member(:vector_counters, Shapes::ShapeRef.new(shape: SummarizedCounterList, location_name: "VectorCounters"))
379
505
  SummarizedAttackVector.struct_class = Types::SummarizedAttackVector
@@ -401,11 +527,26 @@ module Aws::Shield
401
527
 
402
528
  UpdateEmergencyContactSettingsResponse.struct_class = Types::UpdateEmergencyContactSettingsResponse
403
529
 
530
+ UpdateProtectionGroupRequest.add_member(:protection_group_id, Shapes::ShapeRef.new(shape: ProtectionGroupId, required: true, location_name: "ProtectionGroupId"))
531
+ UpdateProtectionGroupRequest.add_member(:aggregation, Shapes::ShapeRef.new(shape: ProtectionGroupAggregation, required: true, location_name: "Aggregation"))
532
+ UpdateProtectionGroupRequest.add_member(:pattern, Shapes::ShapeRef.new(shape: ProtectionGroupPattern, required: true, location_name: "Pattern"))
533
+ UpdateProtectionGroupRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ProtectedResourceType, location_name: "ResourceType"))
534
+ UpdateProtectionGroupRequest.add_member(:members, Shapes::ShapeRef.new(shape: ProtectionGroupMembers, location_name: "Members"))
535
+ UpdateProtectionGroupRequest.struct_class = Types::UpdateProtectionGroupRequest
536
+
537
+ UpdateProtectionGroupResponse.struct_class = Types::UpdateProtectionGroupResponse
538
+
404
539
  UpdateSubscriptionRequest.add_member(:auto_renew, Shapes::ShapeRef.new(shape: AutoRenew, location_name: "AutoRenew"))
405
540
  UpdateSubscriptionRequest.struct_class = Types::UpdateSubscriptionRequest
406
541
 
407
542
  UpdateSubscriptionResponse.struct_class = Types::UpdateSubscriptionResponse
408
543
 
544
+ ValidationExceptionField.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
545
+ ValidationExceptionField.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
546
+ ValidationExceptionField.struct_class = Types::ValidationExceptionField
547
+
548
+ ValidationExceptionFieldList.member = Shapes::ShapeRef.new(shape: ValidationExceptionField)
549
+
409
550
 
410
551
  # @api private
411
552
  API = Seahorse::Model::Api.new.tap do |api|
@@ -496,6 +637,20 @@ module Aws::Shield
496
637
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
497
638
  end)
498
639
 
640
+ api.add_operation(:create_protection_group, Seahorse::Model::Operation.new.tap do |o|
641
+ o.name = "CreateProtectionGroup"
642
+ o.http_method = "POST"
643
+ o.http_request_uri = "/"
644
+ o.input = Shapes::ShapeRef.new(shape: CreateProtectionGroupRequest)
645
+ o.output = Shapes::ShapeRef.new(shape: CreateProtectionGroupResponse)
646
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
647
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
648
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
649
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
650
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
651
+ o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
652
+ end)
653
+
499
654
  api.add_operation(:create_subscription, Seahorse::Model::Operation.new.tap do |o|
500
655
  o.name = "CreateSubscription"
501
656
  o.http_method = "POST"
@@ -517,6 +672,17 @@ module Aws::Shield
517
672
  o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
518
673
  end)
519
674
 
675
+ api.add_operation(:delete_protection_group, Seahorse::Model::Operation.new.tap do |o|
676
+ o.name = "DeleteProtectionGroup"
677
+ o.http_method = "POST"
678
+ o.http_request_uri = "/"
679
+ o.input = Shapes::ShapeRef.new(shape: DeleteProtectionGroupRequest)
680
+ o.output = Shapes::ShapeRef.new(shape: DeleteProtectionGroupResponse)
681
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
682
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
683
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
684
+ end)
685
+
520
686
  api.add_operation(:delete_subscription, Seahorse::Model::Operation.new.tap do |o|
521
687
  o.name = "DeleteSubscription"
522
688
  o.http_method = "POST"
@@ -539,6 +705,15 @@ module Aws::Shield
539
705
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
540
706
  end)
541
707
 
708
+ api.add_operation(:describe_attack_statistics, Seahorse::Model::Operation.new.tap do |o|
709
+ o.name = "DescribeAttackStatistics"
710
+ o.http_method = "POST"
711
+ o.http_request_uri = "/"
712
+ o.input = Shapes::ShapeRef.new(shape: DescribeAttackStatisticsRequest)
713
+ o.output = Shapes::ShapeRef.new(shape: DescribeAttackStatisticsResponse)
714
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
715
+ end)
716
+
542
717
  api.add_operation(:describe_drt_access, Seahorse::Model::Operation.new.tap do |o|
543
718
  o.name = "DescribeDRTAccess"
544
719
  o.http_method = "POST"
@@ -570,6 +745,16 @@ module Aws::Shield
570
745
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
571
746
  end)
572
747
 
748
+ api.add_operation(:describe_protection_group, Seahorse::Model::Operation.new.tap do |o|
749
+ o.name = "DescribeProtectionGroup"
750
+ o.http_method = "POST"
751
+ o.http_request_uri = "/"
752
+ o.input = Shapes::ShapeRef.new(shape: DescribeProtectionGroupRequest)
753
+ o.output = Shapes::ShapeRef.new(shape: DescribeProtectionGroupResponse)
754
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
755
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
756
+ end)
757
+
573
758
  api.add_operation(:describe_subscription, Seahorse::Model::Operation.new.tap do |o|
574
759
  o.name = "DescribeSubscription"
575
760
  o.http_method = "POST"
@@ -670,6 +855,23 @@ module Aws::Shield
670
855
  )
671
856
  end)
672
857
 
858
+ api.add_operation(:list_protection_groups, Seahorse::Model::Operation.new.tap do |o|
859
+ o.name = "ListProtectionGroups"
860
+ o.http_method = "POST"
861
+ o.http_request_uri = "/"
862
+ o.input = Shapes::ShapeRef.new(shape: ListProtectionGroupsRequest)
863
+ o.output = Shapes::ShapeRef.new(shape: ListProtectionGroupsResponse)
864
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
865
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
866
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
867
+ o[:pager] = Aws::Pager.new(
868
+ limit_key: "max_results",
869
+ tokens: {
870
+ "next_token" => "next_token"
871
+ }
872
+ )
873
+ end)
874
+
673
875
  api.add_operation(:list_protections, Seahorse::Model::Operation.new.tap do |o|
674
876
  o.name = "ListProtections"
675
877
  o.http_method = "POST"
@@ -687,6 +889,23 @@ module Aws::Shield
687
889
  )
688
890
  end)
689
891
 
892
+ api.add_operation(:list_resources_in_protection_group, Seahorse::Model::Operation.new.tap do |o|
893
+ o.name = "ListResourcesInProtectionGroup"
894
+ o.http_method = "POST"
895
+ o.http_request_uri = "/"
896
+ o.input = Shapes::ShapeRef.new(shape: ListResourcesInProtectionGroupRequest)
897
+ o.output = Shapes::ShapeRef.new(shape: ListResourcesInProtectionGroupResponse)
898
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
899
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
900
+ o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
901
+ o[:pager] = Aws::Pager.new(
902
+ limit_key: "max_results",
903
+ tokens: {
904
+ "next_token" => "next_token"
905
+ }
906
+ )
907
+ end)
908
+
690
909
  api.add_operation(:update_emergency_contact_settings, Seahorse::Model::Operation.new.tap do |o|
691
910
  o.name = "UpdateEmergencyContactSettings"
692
911
  o.http_method = "POST"
@@ -699,6 +918,18 @@ module Aws::Shield
699
918
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
700
919
  end)
701
920
 
921
+ api.add_operation(:update_protection_group, Seahorse::Model::Operation.new.tap do |o|
922
+ o.name = "UpdateProtectionGroup"
923
+ o.http_method = "POST"
924
+ o.http_request_uri = "/"
925
+ o.input = Shapes::ShapeRef.new(shape: UpdateProtectionGroupRequest)
926
+ o.output = Shapes::ShapeRef.new(shape: UpdateProtectionGroupResponse)
927
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
928
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
929
+ o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
930
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
931
+ end)
932
+
702
933
  api.add_operation(:update_subscription, Seahorse::Model::Operation.new.tap do |o|
703
934
  o.name = "UpdateSubscription"
704
935
  o.http_method = "POST"
@@ -135,6 +135,16 @@ module Aws::Shield
135
135
  def message
136
136
  @message || @data[:message]
137
137
  end
138
+
139
+ # @return [String]
140
+ def reason
141
+ @data[:reason]
142
+ end
143
+
144
+ # @return [String]
145
+ def fields
146
+ @data[:fields]
147
+ end
138
148
  end
139
149
 
140
150
  class InvalidResourceException < ServiceError
@@ -235,6 +245,11 @@ module Aws::Shield
235
245
  def message
236
246
  @message || @data[:message]
237
247
  end
248
+
249
+ # @return [String]
250
+ def resource_type
251
+ @data[:resource_type]
252
+ end
238
253
  end
239
254
 
240
255
  class ResourceNotFoundException < ServiceError
@@ -250,6 +265,11 @@ module Aws::Shield
250
265
  def message
251
266
  @message || @data[:message]
252
267
  end
268
+
269
+ # @return [String]
270
+ def resource_type
271
+ @data[:resource_type]
272
+ end
253
273
  end
254
274
 
255
275
  end