Module: Aws::Shield::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-shield/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AccessDeniedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDeniedException')
AccessDeniedForDependencyException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AccessDeniedForDependencyException')
ApplicationLayerAutomaticResponseConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ApplicationLayerAutomaticResponseConfiguration')
ApplicationLayerAutomaticResponseStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ApplicationLayerAutomaticResponseStatus')
AssociateDRTLogBucketRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateDRTLogBucketRequest')
AssociateDRTLogBucketResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateDRTLogBucketResponse')
AssociateDRTRoleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateDRTRoleRequest')
AssociateDRTRoleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateDRTRoleResponse')
AssociateHealthCheckRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateHealthCheckRequest')
AssociateHealthCheckResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateHealthCheckResponse')
AssociateProactiveEngagementDetailsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateProactiveEngagementDetailsRequest')
AssociateProactiveEngagementDetailsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateProactiveEngagementDetailsResponse')
AttackDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackDetail')
AttackId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttackId')
AttackLayer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttackLayer')
AttackProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttackProperties')
AttackProperty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackProperty')
AttackPropertyIdentifier =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AttackPropertyIdentifier')
AttackStatisticsDataItem =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackStatisticsDataItem')
AttackStatisticsDataList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttackStatisticsDataList')
AttackSummaries =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttackSummaries')
AttackSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackSummary')
AttackTimestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'AttackTimestamp')
AttackVectorDescription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackVectorDescription')
AttackVectorDescriptionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AttackVectorDescriptionList')
AttackVolume =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackVolume')
AttackVolumeStatistics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AttackVolumeStatistics')
AutoRenew =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AutoRenew')
BlockAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BlockAction')
ContactNotes =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ContactNotes')
Contributor =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Contributor')
CountAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CountAction')
CreateProtectionGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProtectionGroupRequest')
CreateProtectionGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProtectionGroupResponse')
CreateProtectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProtectionRequest')
CreateProtectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateProtectionResponse')
CreateSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionRequest')
CreateSubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionResponse')
DeleteProtectionGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProtectionGroupRequest')
DeleteProtectionGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProtectionGroupResponse')
DeleteProtectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProtectionRequest')
DeleteProtectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteProtectionResponse')
DeleteSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSubscriptionRequest')
DeleteSubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSubscriptionResponse')
DescribeAttackRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAttackRequest')
DescribeAttackResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAttackResponse')
DescribeAttackStatisticsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAttackStatisticsRequest')
DescribeAttackStatisticsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeAttackStatisticsResponse')
DescribeDRTAccessRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDRTAccessRequest')
DescribeDRTAccessResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeDRTAccessResponse')
DescribeEmergencyContactSettingsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeEmergencyContactSettingsRequest')
DescribeEmergencyContactSettingsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeEmergencyContactSettingsResponse')
DescribeProtectionGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProtectionGroupRequest')
DescribeProtectionGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProtectionGroupResponse')
DescribeProtectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProtectionRequest')
DescribeProtectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeProtectionResponse')
DescribeSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeSubscriptionRequest')
DescribeSubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeSubscriptionResponse')
DisableApplicationLayerAutomaticResponseRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableApplicationLayerAutomaticResponseRequest')
DisableApplicationLayerAutomaticResponseResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableApplicationLayerAutomaticResponseResponse')
DisableProactiveEngagementRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableProactiveEngagementRequest')
DisableProactiveEngagementResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableProactiveEngagementResponse')
DisassociateDRTLogBucketRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateDRTLogBucketRequest')
DisassociateDRTLogBucketResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateDRTLogBucketResponse')
DisassociateDRTRoleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateDRTRoleRequest')
DisassociateDRTRoleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateDRTRoleResponse')
DisassociateHealthCheckRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateHealthCheckRequest')
DisassociateHealthCheckResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateHealthCheckResponse')
Double =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::FloatShape.new(name: 'Double')
DurationInSeconds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'DurationInSeconds')
EmailAddress =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EmailAddress')
EmergencyContact =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EmergencyContact')
EmergencyContactList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EmergencyContactList')
EnableApplicationLayerAutomaticResponseRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableApplicationLayerAutomaticResponseRequest')
EnableApplicationLayerAutomaticResponseResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableApplicationLayerAutomaticResponseResponse')
EnableProactiveEngagementRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableProactiveEngagementRequest')
EnableProactiveEngagementResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableProactiveEngagementResponse')
GetSubscriptionStateRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionStateRequest')
GetSubscriptionStateResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionStateResponse')
HealthCheckArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HealthCheckArn')
HealthCheckId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'HealthCheckId')
HealthCheckIds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'HealthCheckIds')
InclusionProtectionFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InclusionProtectionFilters')
InclusionProtectionGroupFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InclusionProtectionGroupFilters')
Integer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Integer')
InternalErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalErrorException')
InvalidOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidOperationException')
InvalidPaginationTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidPaginationTokenException')
InvalidParameterException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidParameterException')
InvalidResourceException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidResourceException')
Limit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Limit')
LimitNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LimitNumber')
LimitType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LimitType')
Limits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Limits')
LimitsExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitsExceededException')
ListAttacksRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAttacksRequest')
ListAttacksResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAttacksResponse')
ListProtectionGroupsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProtectionGroupsRequest')
ListProtectionGroupsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProtectionGroupsResponse')
ListProtectionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProtectionsRequest')
ListProtectionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListProtectionsResponse')
ListResourcesInProtectionGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupRequest')
ListResourcesInProtectionGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourcesInProtectionGroupResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
LockedSubscriptionException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LockedSubscriptionException')
LogBucket =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LogBucket')
LogBucketList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'LogBucketList')
Long =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Long')
MaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxResults')
Mitigation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Mitigation')
MitigationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MitigationList')
NoAssociatedRoleException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NoAssociatedRoleException')
OptimisticLockException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'OptimisticLockException')
PhoneNumber =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PhoneNumber')
ProactiveEngagementStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProactiveEngagementStatus')
ProtectedResourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectedResourceType')
ProtectedResourceTypeFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectedResourceTypeFilters')
Protection =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Protection')
ProtectionGroup =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProtectionGroup')
ProtectionGroupAggregation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectionGroupAggregation')
ProtectionGroupAggregationFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionGroupAggregationFilters')
ProtectionGroupArbitraryPatternLimits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProtectionGroupArbitraryPatternLimits')
ProtectionGroupId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectionGroupId')
ProtectionGroupIdFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionGroupIdFilters')
ProtectionGroupLimits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProtectionGroupLimits')
ProtectionGroupMembers =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionGroupMembers')
ProtectionGroupPattern =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectionGroupPattern')
ProtectionGroupPatternFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionGroupPatternFilters')
ProtectionGroupPatternTypeLimits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProtectionGroupPatternTypeLimits')
ProtectionGroups =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionGroups')
ProtectionId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectionId')
ProtectionLimits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ProtectionLimits')
ProtectionName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ProtectionName')
ProtectionNameFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ProtectionNameFilters')
Protections =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Protections')
ResourceAlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceAlreadyExistsException')
ResourceArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResourceArn')
ResourceArnFilterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceArnFilterList')
ResourceArnFilters =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceArnFilters')
ResourceArnList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ResourceArnList')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
ResponseAction =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResponseAction')
RoleArn =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RoleArn')
String =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'String')
SubResourceSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubResourceSummary')
SubResourceSummaryList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SubResourceSummaryList')
SubResourceType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubResourceType')
Subscription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Subscription')
SubscriptionLimits =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscriptionLimits')
SubscriptionState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SubscriptionState')
SummarizedAttackVector =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SummarizedAttackVector')
SummarizedAttackVectorList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SummarizedAttackVectorList')
SummarizedCounter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SummarizedCounter')
SummarizedCounterList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SummarizedCounterList')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKey')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceResponse')
TagValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValue')
TimeRange =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TimeRange')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'Timestamp')
Token =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Token')
TopContributors =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TopContributors')
Unit =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Unit')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UntagResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceResponse')
UpdateApplicationLayerAutomaticResponseRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateApplicationLayerAutomaticResponseRequest')
UpdateApplicationLayerAutomaticResponseResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateApplicationLayerAutomaticResponseResponse')
UpdateEmergencyContactSettingsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsRequest')
UpdateEmergencyContactSettingsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateEmergencyContactSettingsResponse')
UpdateProtectionGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateProtectionGroupRequest')
UpdateProtectionGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateProtectionGroupResponse')
UpdateSubscriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSubscriptionRequest')
UpdateSubscriptionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSubscriptionResponse')
ValidationExceptionField =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ValidationExceptionField')
ValidationExceptionFieldList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
ValidationExceptionReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ValidationExceptionReason')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2016-06-02"

  api. = {
    "apiVersion" => "2016-06-02",
    "endpointPrefix" => "shield",
    "jsonVersion" => "1.1",
    "protocol" => "json",
    "serviceAbbreviation" => "AWS Shield",
    "serviceFullName" => "AWS Shield",
    "serviceId" => "Shield",
    "signatureVersion" => "v4",
    "targetPrefix" => "AWSShield_20160616",
    "uid" => "shield-2016-06-02",
  }

  api.add_operation(:associate_drt_log_bucket, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateDRTLogBucket"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateDRTLogBucketRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateDRTLogBucketResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: NoAssociatedRoleException)
    o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedForDependencyException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:associate_drt_role, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateDRTRole"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateDRTRoleRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateDRTRoleResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedForDependencyException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:associate_health_check, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateHealthCheck"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateHealthCheckRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateHealthCheckResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
  end)

  api.add_operation(:associate_proactive_engagement_details, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateProactiveEngagementDetails"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateProactiveEngagementDetailsRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateProactiveEngagementDetailsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
  end)

  api.add_operation(:create_protection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateProtection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateProtectionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateProtectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
  end)

  api.add_operation(:create_protection_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateProtectionGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateProtectionGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateProtectionGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
  end)

  api.add_operation(:create_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
  end)

  api.add_operation(:delete_protection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProtection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteProtectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProtectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
  end)

  api.add_operation(:delete_protection_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProtectionGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteProtectionGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProtectionGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:delete_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.deprecated = true
    o.input = Shapes::ShapeRef.new(shape: DeleteSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LockedSubscriptionException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_attack, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAttack"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeAttackRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAttackResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
  end)

  api.add_operation(:describe_attack_statistics, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeAttackStatistics"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeAttackStatisticsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeAttackStatisticsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
  end)

  api.add_operation(:describe_drt_access, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeDRTAccess"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeDRTAccessRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeDRTAccessResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_emergency_contact_settings, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeEmergencyContactSettings"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeEmergencyContactSettingsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeEmergencyContactSettingsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_protection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeProtection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeProtectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeProtectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_protection_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeProtectionGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeProtectionGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeProtectionGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeSubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeSubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:disable_application_layer_automatic_response, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisableApplicationLayerAutomaticResponse"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisableApplicationLayerAutomaticResponseRequest)
    o.output = Shapes::ShapeRef.new(shape: DisableApplicationLayerAutomaticResponseResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
  end)

  api.add_operation(:disable_proactive_engagement, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisableProactiveEngagement"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisableProactiveEngagementRequest)
    o.output = Shapes::ShapeRef.new(shape: DisableProactiveEngagementResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
  end)

  api.add_operation(:disassociate_drt_log_bucket, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateDRTLogBucket"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateDRTLogBucketRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateDRTLogBucketResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: NoAssociatedRoleException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedForDependencyException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:disassociate_drt_role, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateDRTRole"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateDRTRoleRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateDRTRoleResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:disassociate_health_check, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateHealthCheck"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateHealthCheckRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateHealthCheckResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
  end)

  api.add_operation(:enable_application_layer_automatic_response, Seahorse::Model::Operation.new.tap do |o|
    o.name = "EnableApplicationLayerAutomaticResponse"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: EnableApplicationLayerAutomaticResponseRequest)
    o.output = Shapes::ShapeRef.new(shape: EnableApplicationLayerAutomaticResponseResponse)
    o.errors << Shapes::ShapeRef.new(shape: LimitsExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
  end)

  api.add_operation(:enable_proactive_engagement, Seahorse::Model::Operation.new.tap do |o|
    o.name = "EnableProactiveEngagement"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: EnableProactiveEngagementRequest)
    o.output = Shapes::ShapeRef.new(shape: EnableProactiveEngagementResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
  end)

  api.add_operation(:get_subscription_state, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSubscriptionState"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSubscriptionStateRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSubscriptionStateResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
  end)

  api.add_operation(:list_attacks, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAttacks"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListAttacksRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAttacksResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_protection_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListProtectionGroups"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListProtectionGroupsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListProtectionGroupsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_protections, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListProtections"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListProtectionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListProtectionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_resources_in_protection_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResourcesInProtectionGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListResourcesInProtectionGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResourcesInProtectionGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidResourceException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:update_application_layer_automatic_response, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateApplicationLayerAutomaticResponse"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateApplicationLayerAutomaticResponseRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateApplicationLayerAutomaticResponseResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidOperationException)
  end)

  api.add_operation(:update_emergency_contact_settings, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateEmergencyContactSettings"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateEmergencyContactSettingsRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateEmergencyContactSettingsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:update_protection_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateProtectionGroup"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateProtectionGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateProtectionGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
  end)

  api.add_operation(:update_subscription, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateSubscription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateSubscriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateSubscriptionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
    o.errors << Shapes::ShapeRef.new(shape: LockedSubscriptionException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: OptimisticLockException)
  end)
end