aws-sdk-shield 1.32.0 → 1.33.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.
@@ -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