Module: Aws::Rekognition::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-rekognition/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')
AgeRange =

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: 'AgeRange')
Asset =

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: 'Asset')
Assets =

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: 'Assets')
AssociateFacesRequest =

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: 'AssociateFacesRequest')
AssociateFacesResponse =

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: 'AssociateFacesResponse')
AssociatedFace =

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: 'AssociatedFace')
AssociatedFacesList =

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: 'AssociatedFacesList')
Attribute =

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: 'Attribute')
Attributes =

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: 'Attributes')
AudioMetadata =

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: 'AudioMetadata')
AudioMetadataList =

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: 'AudioMetadataList')
AuditImage =

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: 'AuditImage')
AuditImages =

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: 'AuditImages')
AuditImagesLimit =

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: 'AuditImagesLimit')
Beard =

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: 'Beard')
BlackFrame =

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: 'BlackFrame')
BodyPart =

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: 'BodyPart')
BodyParts =

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: 'BodyParts')
Boolean =

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::BooleanShape.new(name: 'Boolean')
BoundingBox =

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: 'BoundingBox')
BoundingBoxHeight =

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: 'BoundingBoxHeight')
BoundingBoxWidth =

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: 'BoundingBoxWidth')
Celebrity =

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: 'Celebrity')
CelebrityDetail =

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: 'CelebrityDetail')
CelebrityList =

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: 'CelebrityList')
CelebrityRecognition =

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: 'CelebrityRecognition')
CelebrityRecognitionSortBy =

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: 'CelebrityRecognitionSortBy')
CelebrityRecognitions =

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: 'CelebrityRecognitions')
ClientRequestToken =

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: 'ClientRequestToken')
CollectionId =

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: 'CollectionId')
CollectionIdList =

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: 'CollectionIdList')
CompareFacesMatch =

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: 'CompareFacesMatch')
CompareFacesMatchList =

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: 'CompareFacesMatchList')
CompareFacesRequest =

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: 'CompareFacesRequest')
CompareFacesResponse =

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: 'CompareFacesResponse')
CompareFacesUnmatchList =

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: 'CompareFacesUnmatchList')
ComparedFace =

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: 'ComparedFace')
ComparedFaceList =

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: 'ComparedFaceList')
ComparedSourceImageFace =

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: 'ComparedSourceImageFace')
ConflictException =

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: 'ConflictException')
ConnectedHomeLabel =

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: 'ConnectedHomeLabel')
ConnectedHomeLabels =

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: 'ConnectedHomeLabels')
ConnectedHomeSettings =

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: 'ConnectedHomeSettings')
ConnectedHomeSettingsForUpdate =

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: 'ConnectedHomeSettingsForUpdate')
ContentClassifier =

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: 'ContentClassifier')
ContentClassifiers =

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: 'ContentClassifiers')
ContentModerationAggregateBy =

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: 'ContentModerationAggregateBy')
ContentModerationDetection =

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: 'ContentModerationDetection')
ContentModerationDetections =

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: 'ContentModerationDetections')
ContentModerationSortBy =

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: 'ContentModerationSortBy')
ContentType =

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: 'ContentType')
ContentTypes =

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: 'ContentTypes')
CopyProjectVersionRequest =

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: 'CopyProjectVersionRequest')
CopyProjectVersionResponse =

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: 'CopyProjectVersionResponse')
CoversBodyPart =

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: 'CoversBodyPart')
CreateCollectionRequest =

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: 'CreateCollectionRequest')
CreateCollectionResponse =

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: 'CreateCollectionResponse')
CreateDatasetRequest =

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: 'CreateDatasetRequest')
CreateDatasetResponse =

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: 'CreateDatasetResponse')
CreateFaceLivenessSessionRequest =

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: 'CreateFaceLivenessSessionRequest')
CreateFaceLivenessSessionRequestSettings =

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: 'CreateFaceLivenessSessionRequestSettings')
CreateFaceLivenessSessionResponse =

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: 'CreateFaceLivenessSessionResponse')
CreateProjectRequest =

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: 'CreateProjectRequest')
CreateProjectResponse =

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: 'CreateProjectResponse')
CreateProjectVersionRequest =

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: 'CreateProjectVersionRequest')
CreateProjectVersionResponse =

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: 'CreateProjectVersionResponse')
CreateStreamProcessorRequest =

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: 'CreateStreamProcessorRequest')
CreateStreamProcessorResponse =

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: 'CreateStreamProcessorResponse')
CreateUserRequest =

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: 'CreateUserRequest')
CreateUserResponse =

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: 'CreateUserResponse')
CustomLabel =

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: 'CustomLabel')
CustomLabels =

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: 'CustomLabels')
CustomizationFeature =

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: 'CustomizationFeature')
CustomizationFeatureConfig =

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: 'CustomizationFeatureConfig')
CustomizationFeatureContentModerationConfig =

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: 'CustomizationFeatureContentModerationConfig')
CustomizationFeatures =

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: 'CustomizationFeatures')
DatasetArn =

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: 'DatasetArn')
DatasetChanges =

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: 'DatasetChanges')
DatasetDescription =

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: 'DatasetDescription')
DatasetEntries =

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: 'DatasetEntries')
DatasetEntry =

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: 'DatasetEntry')
DatasetLabel =

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: 'DatasetLabel')
DatasetLabelDescription =

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: 'DatasetLabelDescription')
DatasetLabelDescriptions =

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: 'DatasetLabelDescriptions')
DatasetLabelStats =

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: 'DatasetLabelStats')
DatasetLabels =

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: 'DatasetLabels')
DatasetMetadata =

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: 'DatasetMetadata')
DatasetMetadataList =

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: 'DatasetMetadataList')
DatasetSource =

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: 'DatasetSource')
DatasetStats =

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: 'DatasetStats')
DatasetStatus =

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: 'DatasetStatus')
DatasetStatusMessageCode =

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: 'DatasetStatusMessageCode')
DatasetType =

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: 'DatasetType')
DateTime =

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: 'DateTime')
Degree =

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: 'Degree')
DeleteCollectionRequest =

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: 'DeleteCollectionRequest')
DeleteCollectionResponse =

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: 'DeleteCollectionResponse')
DeleteDatasetRequest =

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: 'DeleteDatasetRequest')
DeleteDatasetResponse =

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: 'DeleteDatasetResponse')
DeleteFacesRequest =

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: 'DeleteFacesRequest')
DeleteFacesResponse =

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: 'DeleteFacesResponse')
DeleteProjectPolicyRequest =

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: 'DeleteProjectPolicyRequest')
DeleteProjectPolicyResponse =

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: 'DeleteProjectPolicyResponse')
DeleteProjectRequest =

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: 'DeleteProjectRequest')
DeleteProjectResponse =

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: 'DeleteProjectResponse')
DeleteProjectVersionRequest =

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: 'DeleteProjectVersionRequest')
DeleteProjectVersionResponse =

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: 'DeleteProjectVersionResponse')
DeleteStreamProcessorRequest =

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: 'DeleteStreamProcessorRequest')
DeleteStreamProcessorResponse =

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: 'DeleteStreamProcessorResponse')
DeleteUserRequest =

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: 'DeleteUserRequest')
DeleteUserResponse =

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: 'DeleteUserResponse')
DescribeCollectionRequest =

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: 'DescribeCollectionRequest')
DescribeCollectionResponse =

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: 'DescribeCollectionResponse')
DescribeDatasetRequest =

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: 'DescribeDatasetRequest')
DescribeDatasetResponse =

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: 'DescribeDatasetResponse')
DescribeProjectVersionsRequest =

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: 'DescribeProjectVersionsRequest')
DescribeProjectVersionsResponse =

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: 'DescribeProjectVersionsResponse')
DescribeProjectsRequest =

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: 'DescribeProjectsRequest')
DescribeProjectsResponse =

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: 'DescribeProjectsResponse')
DescribeStreamProcessorRequest =

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: 'DescribeStreamProcessorRequest')
DescribeStreamProcessorResponse =

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: 'DescribeStreamProcessorResponse')
DetectCustomLabelsRequest =

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: 'DetectCustomLabelsRequest')
DetectCustomLabelsResponse =

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: 'DetectCustomLabelsResponse')
DetectFacesRequest =

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: 'DetectFacesRequest')
DetectFacesResponse =

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: 'DetectFacesResponse')
DetectLabelsFeatureList =

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: 'DetectLabelsFeatureList')
DetectLabelsFeatureName =

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: 'DetectLabelsFeatureName')
DetectLabelsImageBackground =

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: 'DetectLabelsImageBackground')
DetectLabelsImageForeground =

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: 'DetectLabelsImageForeground')
DetectLabelsImageProperties =

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: 'DetectLabelsImageProperties')
DetectLabelsImagePropertiesSettings =

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: 'DetectLabelsImagePropertiesSettings')
DetectLabelsImageQuality =

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: 'DetectLabelsImageQuality')
DetectLabelsMaxDominantColors =

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: 'DetectLabelsMaxDominantColors')
DetectLabelsRequest =

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: 'DetectLabelsRequest')
DetectLabelsResponse =

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: 'DetectLabelsResponse')
DetectLabelsSettings =

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: 'DetectLabelsSettings')
DetectModerationLabelsRequest =

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: 'DetectModerationLabelsRequest')
DetectModerationLabelsResponse =

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: 'DetectModerationLabelsResponse')
DetectProtectiveEquipmentRequest =

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: 'DetectProtectiveEquipmentRequest')
DetectProtectiveEquipmentResponse =

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: 'DetectProtectiveEquipmentResponse')
DetectTextFilters =

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: 'DetectTextFilters')
DetectTextRequest =

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: 'DetectTextRequest')
DetectTextResponse =

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: 'DetectTextResponse')
DetectionFilter =

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: 'DetectionFilter')
DisassociateFacesRequest =

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: 'DisassociateFacesRequest')
DisassociateFacesResponse =

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: 'DisassociateFacesResponse')
DisassociatedFace =

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: 'DisassociatedFace')
DisassociatedFacesList =

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: 'DisassociatedFacesList')
DistributeDataset =

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: 'DistributeDataset')
DistributeDatasetEntriesRequest =

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: 'DistributeDatasetEntriesRequest')
DistributeDatasetEntriesResponse =

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: 'DistributeDatasetEntriesResponse')
DistributeDatasetMetadataList =

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: 'DistributeDatasetMetadataList')
DominantColor =

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: 'DominantColor')
DominantColors =

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: 'DominantColors')
Emotion =

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: 'Emotion')
EmotionName =

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: 'EmotionName')
Emotions =

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: 'Emotions')
EquipmentDetection =

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: 'EquipmentDetection')
EquipmentDetections =

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: 'EquipmentDetections')
EvaluationResult =

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: 'EvaluationResult')
ExtendedPaginationToken =

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: 'ExtendedPaginationToken')
ExternalImageId =

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: 'ExternalImageId')
EyeDirection =

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: 'EyeDirection')
EyeOpen =

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: 'EyeOpen')
Eyeglasses =

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: 'Eyeglasses')
Face =

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: 'Face')
FaceAttributes =

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: 'FaceAttributes')
FaceDetail =

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: 'FaceDetail')
FaceDetailList =

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: 'FaceDetailList')
FaceDetection =

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: 'FaceDetection')
FaceDetections =

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: 'FaceDetections')
FaceId =

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: 'FaceId')
FaceIdList =

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: 'FaceIdList')
FaceList =

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: 'FaceList')
FaceMatch =

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: 'FaceMatch')
FaceMatchList =

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: 'FaceMatchList')
FaceModelVersionList =

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: 'FaceModelVersionList')
FaceOccluded =

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: 'FaceOccluded')
FaceRecord =

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: 'FaceRecord')
FaceRecordList =

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: 'FaceRecordList')
FaceSearchSettings =

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: 'FaceSearchSettings')
FaceSearchSortBy =

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: 'FaceSearchSortBy')
Float =

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: 'Float')
FlowDefinitionArn =

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: 'FlowDefinitionArn')
Gender =

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: 'Gender')
GenderType =

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: 'GenderType')
GeneralLabelsFilterList =

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: 'GeneralLabelsFilterList')
GeneralLabelsFilterValue =

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: 'GeneralLabelsFilterValue')
GeneralLabelsSettings =

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: 'GeneralLabelsSettings')
Geometry =

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: 'Geometry')
GetCelebrityInfoRequest =

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: 'GetCelebrityInfoRequest')
GetCelebrityInfoResponse =

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: 'GetCelebrityInfoResponse')
GetCelebrityRecognitionRequest =

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: 'GetCelebrityRecognitionRequest')
GetCelebrityRecognitionResponse =

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: 'GetCelebrityRecognitionResponse')
GetContentModerationRequest =

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: 'GetContentModerationRequest')
GetContentModerationRequestMetadata =

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: 'GetContentModerationRequestMetadata')
GetContentModerationResponse =

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: 'GetContentModerationResponse')
GetFaceDetectionRequest =

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: 'GetFaceDetectionRequest')
GetFaceDetectionResponse =

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: 'GetFaceDetectionResponse')
GetFaceLivenessSessionResultsRequest =

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: 'GetFaceLivenessSessionResultsRequest')
GetFaceLivenessSessionResultsResponse =

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: 'GetFaceLivenessSessionResultsResponse')
GetFaceSearchRequest =

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: 'GetFaceSearchRequest')
GetFaceSearchResponse =

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: 'GetFaceSearchResponse')
GetLabelDetectionRequest =

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: 'GetLabelDetectionRequest')
GetLabelDetectionRequestMetadata =

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: 'GetLabelDetectionRequestMetadata')
GetLabelDetectionResponse =

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: 'GetLabelDetectionResponse')
GetMediaAnalysisJobRequest =

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: 'GetMediaAnalysisJobRequest')
GetMediaAnalysisJobResponse =

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: 'GetMediaAnalysisJobResponse')
GetPersonTrackingRequest =

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: 'GetPersonTrackingRequest')
GetPersonTrackingResponse =

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: 'GetPersonTrackingResponse')
GetSegmentDetectionRequest =

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: 'GetSegmentDetectionRequest')
GetSegmentDetectionResponse =

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: 'GetSegmentDetectionResponse')
GetTextDetectionRequest =

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: 'GetTextDetectionRequest')
GetTextDetectionResponse =

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: 'GetTextDetectionResponse')
GroundTruthBlob =

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::BlobShape.new(name: 'GroundTruthBlob')
GroundTruthManifest =

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: 'GroundTruthManifest')
HasErrors =

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::BooleanShape.new(name: 'HasErrors')
HumanLoopActivationConditionsEvaluationResults =

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: 'HumanLoopActivationConditionsEvaluationResults')
HumanLoopActivationOutput =

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: 'HumanLoopActivationOutput')
HumanLoopActivationReason =

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: 'HumanLoopActivationReason')
HumanLoopActivationReasons =

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: 'HumanLoopActivationReasons')
HumanLoopArn =

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: 'HumanLoopArn')
HumanLoopConfig =

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: 'HumanLoopConfig')
HumanLoopDataAttributes =

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: 'HumanLoopDataAttributes')
HumanLoopName =

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: 'HumanLoopName')
HumanLoopQuotaExceededException =

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: 'HumanLoopQuotaExceededException')
IdempotentParameterMismatchException =

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: 'IdempotentParameterMismatchException')
Image =

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: 'Image')
ImageBlob =

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::BlobShape.new(name: 'ImageBlob')
ImageId =

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: 'ImageId')
ImageQuality =

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: 'ImageQuality')
ImageTooLargeException =

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: 'ImageTooLargeException')
IndexFacesModelVersion =

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: 'IndexFacesModelVersion')
IndexFacesRequest =

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: 'IndexFacesRequest')
IndexFacesResponse =

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: 'IndexFacesResponse')
InferenceUnits =

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: 'InferenceUnits')
Instance =

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: 'Instance')
Instances =

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: 'Instances')
InternalServerError =

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: 'InternalServerError')
InvalidImageFormatException =

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: 'InvalidImageFormatException')
InvalidManifestException =

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: 'InvalidManifestException')
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')
InvalidPolicyRevisionIdException =

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: 'InvalidPolicyRevisionIdException')
InvalidS3ObjectException =

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: 'InvalidS3ObjectException')
IsLabeled =

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::BooleanShape.new(name: 'IsLabeled')
JobId =

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: 'JobId')
JobTag =

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: 'JobTag')
KinesisDataArn =

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: 'KinesisDataArn')
KinesisDataStream =

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: 'KinesisDataStream')
KinesisVideoArn =

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: 'KinesisVideoArn')
KinesisVideoStream =

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: 'KinesisVideoStream')
KinesisVideoStreamFragmentNumber =

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: 'KinesisVideoStreamFragmentNumber')
KinesisVideoStreamStartSelector =

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: 'KinesisVideoStreamStartSelector')
KmsKeyId =

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: 'KmsKeyId')
KnownGender =

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: 'KnownGender')
KnownGenderType =

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: 'KnownGenderType')
Label =

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: 'Label')
LabelAlias =

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: 'LabelAlias')
LabelAliases =

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: 'LabelAliases')
LabelCategories =

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: 'LabelCategories')
LabelCategory =

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: 'LabelCategory')
LabelDetection =

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: 'LabelDetection')
LabelDetectionAggregateBy =

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: 'LabelDetectionAggregateBy')
LabelDetectionFeatureList =

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: 'LabelDetectionFeatureList')
LabelDetectionFeatureName =

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: 'LabelDetectionFeatureName')
LabelDetectionSettings =

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: 'LabelDetectionSettings')
LabelDetectionSortBy =

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: 'LabelDetectionSortBy')
LabelDetections =

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: 'LabelDetections')
Labels =

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: 'Labels')
Landmark =

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: 'Landmark')
LandmarkType =

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: 'LandmarkType')
Landmarks =

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: 'Landmarks')
LimitExceededException =

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: 'LimitExceededException')
ListCollectionsRequest =

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: 'ListCollectionsRequest')
ListCollectionsResponse =

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: 'ListCollectionsResponse')
ListDatasetEntriesPageSize =

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: 'ListDatasetEntriesPageSize')
ListDatasetEntriesRequest =

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: 'ListDatasetEntriesRequest')
ListDatasetEntriesResponse =

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: 'ListDatasetEntriesResponse')
ListDatasetLabelsPageSize =

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: 'ListDatasetLabelsPageSize')
ListDatasetLabelsRequest =

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: 'ListDatasetLabelsRequest')
ListDatasetLabelsResponse =

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: 'ListDatasetLabelsResponse')
ListFacesRequest =

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: 'ListFacesRequest')
ListFacesResponse =

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: 'ListFacesResponse')
ListMediaAnalysisJobsPageSize =

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: 'ListMediaAnalysisJobsPageSize')
ListMediaAnalysisJobsRequest =

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: 'ListMediaAnalysisJobsRequest')
ListMediaAnalysisJobsResponse =

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: 'ListMediaAnalysisJobsResponse')
ListProjectPoliciesPageSize =

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: 'ListProjectPoliciesPageSize')
ListProjectPoliciesRequest =

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: 'ListProjectPoliciesRequest')
ListProjectPoliciesResponse =

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: 'ListProjectPoliciesResponse')
ListStreamProcessorsRequest =

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: 'ListStreamProcessorsRequest')
ListStreamProcessorsResponse =

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: 'ListStreamProcessorsResponse')
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')
ListUsersRequest =

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: 'ListUsersRequest')
ListUsersResponse =

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: 'ListUsersResponse')
LivenessImageBlob =

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::BlobShape.new(name: 'LivenessImageBlob')
LivenessOutputConfig =

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: 'LivenessOutputConfig')
LivenessS3KeyPrefix =

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: 'LivenessS3KeyPrefix')
LivenessSessionId =

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: 'LivenessSessionId')
LivenessSessionStatus =

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: 'LivenessSessionStatus')
MalformedPolicyDocumentException =

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: 'MalformedPolicyDocumentException')
MatchedUser =

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: 'MatchedUser')
MaxDurationInSecondsULong =

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: 'MaxDurationInSecondsULong')
MaxFaces =

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: 'MaxFaces')
MaxFacesToIndex =

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: 'MaxFacesToIndex')
MaxPixelThreshold =

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: 'MaxPixelThreshold')
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')
MaxUserResults =

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: 'MaxUserResults')
MediaAnalysisDetectModerationLabelsConfig =

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: 'MediaAnalysisDetectModerationLabelsConfig')
MediaAnalysisInput =

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: 'MediaAnalysisInput')
MediaAnalysisJobDescription =

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: 'MediaAnalysisJobDescription')
MediaAnalysisJobDescriptions =

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: 'MediaAnalysisJobDescriptions')
MediaAnalysisJobFailureCode =

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: 'MediaAnalysisJobFailureCode')
MediaAnalysisJobFailureDetails =

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: 'MediaAnalysisJobFailureDetails')
MediaAnalysisJobId =

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: 'MediaAnalysisJobId')
MediaAnalysisJobName =

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: 'MediaAnalysisJobName')
MediaAnalysisJobStatus =

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: 'MediaAnalysisJobStatus')
MediaAnalysisManifestSummary =

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: 'MediaAnalysisManifestSummary')
MediaAnalysisModelVersions =

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: 'MediaAnalysisModelVersions')
MediaAnalysisOperationsConfig =

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: 'MediaAnalysisOperationsConfig')
MediaAnalysisOutputConfig =

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: 'MediaAnalysisOutputConfig')
MediaAnalysisResults =

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: 'MediaAnalysisResults')
MediaAnalysisS3KeyPrefix =

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: 'MediaAnalysisS3KeyPrefix')
MinCoveragePercentage =

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: 'MinCoveragePercentage')
ModerationLabel =

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: 'ModerationLabel')
ModerationLabels =

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: 'ModerationLabels')
MouthOpen =

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: 'MouthOpen')
Mustache =

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: 'Mustache')
NotificationChannel =

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: 'NotificationChannel')
OrientationCorrection =

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: 'OrientationCorrection')
OutputConfig =

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: 'OutputConfig')
PageSize =

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: 'PageSize')
PaginationToken =

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: 'PaginationToken')
Parent =

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: 'Parent')
Parents =

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: 'Parents')
Percent =

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: 'Percent')
PersonDetail =

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: 'PersonDetail')
PersonDetection =

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: 'PersonDetection')
PersonDetections =

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: 'PersonDetections')
PersonIndex =

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: 'PersonIndex')
PersonMatch =

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: 'PersonMatch')
PersonMatches =

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: 'PersonMatches')
PersonTrackingSortBy =

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: 'PersonTrackingSortBy')
Point =

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: 'Point')
Polygon =

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: 'Polygon')
Pose =

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: 'Pose')
ProjectArn =

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: 'ProjectArn')
ProjectAutoUpdate =

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: 'ProjectAutoUpdate')
ProjectDescription =

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: 'ProjectDescription')
ProjectDescriptions =

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: 'ProjectDescriptions')
ProjectName =

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: 'ProjectName')
ProjectNames =

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: 'ProjectNames')
ProjectPolicies =

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: 'ProjectPolicies')
ProjectPolicy =

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: 'ProjectPolicy')
ProjectPolicyDocument =

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: 'ProjectPolicyDocument')
ProjectPolicyName =

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: 'ProjectPolicyName')
ProjectPolicyRevisionId =

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: 'ProjectPolicyRevisionId')
ProjectStatus =

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: 'ProjectStatus')
ProjectVersionArn =

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: 'ProjectVersionArn')
ProjectVersionDescription =

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: 'ProjectVersionDescription')
ProjectVersionDescriptions =

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: 'ProjectVersionDescriptions')
ProjectVersionId =

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: 'ProjectVersionId')
ProjectVersionStatus =

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: 'ProjectVersionStatus')
ProjectVersionsPageSize =

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: 'ProjectVersionsPageSize')
ProjectsPageSize =

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: 'ProjectsPageSize')
ProtectiveEquipmentBodyPart =

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: 'ProtectiveEquipmentBodyPart')
ProtectiveEquipmentPerson =

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: 'ProtectiveEquipmentPerson')
ProtectiveEquipmentPersonIds =

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: 'ProtectiveEquipmentPersonIds')
ProtectiveEquipmentPersons =

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: 'ProtectiveEquipmentPersons')
ProtectiveEquipmentSummarizationAttributes =

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: 'ProtectiveEquipmentSummarizationAttributes')
ProtectiveEquipmentSummary =

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: 'ProtectiveEquipmentSummary')
ProtectiveEquipmentType =

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: 'ProtectiveEquipmentType')
ProtectiveEquipmentTypes =

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: 'ProtectiveEquipmentTypes')
ProvisionedThroughputExceededException =

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: 'ProvisionedThroughputExceededException')
PutProjectPolicyRequest =

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: 'PutProjectPolicyRequest')
PutProjectPolicyResponse =

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: 'PutProjectPolicyResponse')
QualityFilter =

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: 'QualityFilter')
QueryString =

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: 'QueryString')
Reason =

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: 'Reason')
Reasons =

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: 'Reasons')
RecognizeCelebritiesRequest =

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: 'RecognizeCelebritiesRequest')
RecognizeCelebritiesResponse =

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: 'RecognizeCelebritiesResponse')
RegionOfInterest =

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: 'RegionOfInterest')
RegionsOfInterest =

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: 'RegionsOfInterest')
RekognitionUniqueId =

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: 'RekognitionUniqueId')
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')
ResourceInUseException =

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: 'ResourceInUseException')
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')
ResourceNotReadyException =

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: 'ResourceNotReadyException')
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')
S3Bucket =

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: 'S3Bucket')
S3Destination =

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: 'S3Destination')
S3KeyPrefix =

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: 'S3KeyPrefix')
S3Object =

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: 'S3Object')
S3ObjectName =

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: 'S3ObjectName')
S3ObjectVersion =

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: 'S3ObjectVersion')
SNSTopicArn =

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: 'SNSTopicArn')
SearchFacesByImageRequest =

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: 'SearchFacesByImageRequest')
SearchFacesByImageResponse =

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: 'SearchFacesByImageResponse')
SearchFacesRequest =

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: 'SearchFacesRequest')
SearchFacesResponse =

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: 'SearchFacesResponse')
SearchUsersByImageRequest =

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: 'SearchUsersByImageRequest')
SearchUsersByImageResponse =

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: 'SearchUsersByImageResponse')
SearchUsersRequest =

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: 'SearchUsersRequest')
SearchUsersResponse =

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: 'SearchUsersResponse')
SearchedFace =

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: 'SearchedFace')
SearchedFaceDetails =

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: 'SearchedFaceDetails')
SearchedUser =

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: 'SearchedUser')
SegmentConfidence =

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: 'SegmentConfidence')
SegmentDetection =

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: 'SegmentDetection')
SegmentDetections =

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: 'SegmentDetections')
SegmentType =

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: 'SegmentType')
SegmentTypeInfo =

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: 'SegmentTypeInfo')
SegmentTypes =

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: 'SegmentTypes')
SegmentTypesInfo =

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: 'SegmentTypesInfo')
ServiceQuotaExceededException =

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: 'ServiceQuotaExceededException')
SessionNotFoundException =

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: 'SessionNotFoundException')
ShotSegment =

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: 'ShotSegment')
Smile =

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: 'Smile')
StartCelebrityRecognitionRequest =

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: 'StartCelebrityRecognitionRequest')
StartCelebrityRecognitionResponse =

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: 'StartCelebrityRecognitionResponse')
StartContentModerationRequest =

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: 'StartContentModerationRequest')
StartContentModerationResponse =

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: 'StartContentModerationResponse')
StartFaceDetectionRequest =

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: 'StartFaceDetectionRequest')
StartFaceDetectionResponse =

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: 'StartFaceDetectionResponse')
StartFaceSearchRequest =

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: 'StartFaceSearchRequest')
StartFaceSearchResponse =

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: 'StartFaceSearchResponse')
StartLabelDetectionRequest =

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: 'StartLabelDetectionRequest')
StartLabelDetectionResponse =

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: 'StartLabelDetectionResponse')
StartMediaAnalysisJobRequest =

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: 'StartMediaAnalysisJobRequest')
StartMediaAnalysisJobResponse =

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: 'StartMediaAnalysisJobResponse')
StartPersonTrackingRequest =

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: 'StartPersonTrackingRequest')
StartPersonTrackingResponse =

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: 'StartPersonTrackingResponse')
StartProjectVersionRequest =

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: 'StartProjectVersionRequest')
StartProjectVersionResponse =

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: 'StartProjectVersionResponse')
StartSegmentDetectionFilters =

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: 'StartSegmentDetectionFilters')
StartSegmentDetectionRequest =

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: 'StartSegmentDetectionRequest')
StartSegmentDetectionResponse =

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: 'StartSegmentDetectionResponse')
StartShotDetectionFilter =

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: 'StartShotDetectionFilter')
StartStreamProcessorRequest =

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: 'StartStreamProcessorRequest')
StartStreamProcessorResponse =

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: 'StartStreamProcessorResponse')
StartStreamProcessorSessionId =

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: 'StartStreamProcessorSessionId')
StartTechnicalCueDetectionFilter =

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: 'StartTechnicalCueDetectionFilter')
StartTextDetectionFilters =

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: 'StartTextDetectionFilters')
StartTextDetectionRequest =

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: 'StartTextDetectionRequest')
StartTextDetectionResponse =

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: 'StartTextDetectionResponse')
StatusMessage =

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: 'StatusMessage')
StopProjectVersionRequest =

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: 'StopProjectVersionRequest')
StopProjectVersionResponse =

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: 'StopProjectVersionResponse')
StopStreamProcessorRequest =

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: 'StopStreamProcessorRequest')
StopStreamProcessorResponse =

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: 'StopStreamProcessorResponse')
StreamProcessingStartSelector =

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: 'StreamProcessingStartSelector')
StreamProcessingStopSelector =

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: 'StreamProcessingStopSelector')
StreamProcessor =

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: 'StreamProcessor')
StreamProcessorArn =

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: 'StreamProcessorArn')
StreamProcessorDataSharingPreference =

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: 'StreamProcessorDataSharingPreference')
StreamProcessorInput =

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: 'StreamProcessorInput')
StreamProcessorList =

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: 'StreamProcessorList')
StreamProcessorName =

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: 'StreamProcessorName')
StreamProcessorNotificationChannel =

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: 'StreamProcessorNotificationChannel')
StreamProcessorOutput =

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: 'StreamProcessorOutput')
StreamProcessorParameterToDelete =

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: 'StreamProcessorParameterToDelete')
StreamProcessorParametersToDelete =

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: 'StreamProcessorParametersToDelete')
StreamProcessorSettings =

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: 'StreamProcessorSettings')
StreamProcessorSettingsForUpdate =

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: 'StreamProcessorSettingsForUpdate')
StreamProcessorStatus =

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: 'StreamProcessorStatus')
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')
Summary =

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: 'Summary')
Sunglasses =

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: 'Sunglasses')
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')
TagMap =

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::MapShape.new(name: 'TagMap')
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')
TechnicalCueSegment =

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: 'TechnicalCueSegment')
TechnicalCueType =

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: 'TechnicalCueType')
TestingData =

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: 'TestingData')
TestingDataResult =

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: 'TestingDataResult')
TextDetection =

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: 'TextDetection')
TextDetectionList =

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: 'TextDetectionList')
TextDetectionResult =

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: 'TextDetectionResult')
TextDetectionResults =

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: 'TextDetectionResults')
TextTypes =

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: 'TextTypes')
ThrottlingException =

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: 'ThrottlingException')
Timecode =

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: 'Timecode')
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::IntegerShape.new(name: 'Timestamp')
TrainingData =

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: 'TrainingData')
TrainingDataResult =

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: 'TrainingDataResult')
UInteger =

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: 'UInteger')
ULong =

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: 'ULong')
UnindexedFace =

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: 'UnindexedFace')
UnindexedFaces =

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: 'UnindexedFaces')
UnsearchedFace =

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: 'UnsearchedFace')
UnsearchedFaceReason =

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: 'UnsearchedFaceReason')
UnsearchedFaceReasons =

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: 'UnsearchedFaceReasons')
UnsearchedFacesList =

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: 'UnsearchedFacesList')
UnsuccessfulFaceAssociation =

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: 'UnsuccessfulFaceAssociation')
UnsuccessfulFaceAssociationList =

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: 'UnsuccessfulFaceAssociationList')
UnsuccessfulFaceAssociationReason =

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: 'UnsuccessfulFaceAssociationReason')
UnsuccessfulFaceAssociationReasons =

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: 'UnsuccessfulFaceAssociationReasons')
UnsuccessfulFaceDeletion =

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: 'UnsuccessfulFaceDeletion')
UnsuccessfulFaceDeletionReason =

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: 'UnsuccessfulFaceDeletionReason')
UnsuccessfulFaceDeletionReasons =

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: 'UnsuccessfulFaceDeletionReasons')
UnsuccessfulFaceDeletionsList =

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: 'UnsuccessfulFaceDeletionsList')
UnsuccessfulFaceDisassociation =

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: 'UnsuccessfulFaceDisassociation')
UnsuccessfulFaceDisassociationList =

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: 'UnsuccessfulFaceDisassociationList')
UnsuccessfulFaceDisassociationReason =

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: 'UnsuccessfulFaceDisassociationReason')
UnsuccessfulFaceDisassociationReasons =

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: 'UnsuccessfulFaceDisassociationReasons')
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')
UpdateDatasetEntriesRequest =

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: 'UpdateDatasetEntriesRequest')
UpdateDatasetEntriesResponse =

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: 'UpdateDatasetEntriesResponse')
UpdateStreamProcessorRequest =

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: 'UpdateStreamProcessorRequest')
UpdateStreamProcessorResponse =

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: 'UpdateStreamProcessorResponse')
Url =

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: 'Url')
Urls =

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: 'Urls')
User =

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: 'User')
UserFaceIdList =

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: 'UserFaceIdList')
UserId =

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: 'UserId')
UserList =

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: 'UserList')
UserMatch =

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: 'UserMatch')
UserMatchList =

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: 'UserMatchList')
UserStatus =

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: 'UserStatus')
ValidationData =

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: 'ValidationData')
VersionDescription =

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: 'VersionDescription')
VersionName =

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: 'VersionName')
VersionNames =

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: 'VersionNames')
Video =

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: 'Video')
VideoColorRange =

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: 'VideoColorRange')
VideoJobStatus =

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: 'VideoJobStatus')
VideoMetadata =

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: 'VideoMetadata')
VideoMetadataList =

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: 'VideoMetadataList')
VideoTooLargeException =

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: 'VideoTooLargeException')
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-27"

  api. = {
    "apiVersion" => "2016-06-27",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "rekognition",
    "jsonVersion" => "1.1",
    "protocol" => "json",
    "protocols" => ["json"],
    "serviceFullName" => "Amazon Rekognition",
    "serviceId" => "Rekognition",
    "signatureVersion" => "v4",
    "targetPrefix" => "RekognitionService",
    "uid" => "rekognition-2016-06-27",
  }

  api.add_operation(:associate_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: AssociateFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
  end)

  api.add_operation(:compare_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CompareFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CompareFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: CompareFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:copy_project_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CopyProjectVersion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CopyProjectVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CopyProjectVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
  end)

  api.add_operation(:create_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCollection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
  end)

  api.add_operation(:create_dataset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDataset"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateDatasetRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDatasetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:create_face_liveness_session, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFaceLivenessSession"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateFaceLivenessSessionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFaceLivenessSessionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateProject"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:create_project_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateProjectVersion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateProjectVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateProjectVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
  end)

  api.add_operation(:create_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
  end)

  api.add_operation(:create_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateUser"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateUserRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:delete_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCollection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:delete_dataset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDataset"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteDatasetRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteDatasetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:delete_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:delete_project, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProject"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteProjectRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProjectResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:delete_project_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProjectPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteProjectPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProjectPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPolicyRevisionIdException)
  end)

  api.add_operation(:delete_project_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteProjectVersion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteProjectVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteProjectVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:delete_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteUser"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteUserRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteUserResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_collection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCollection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCollectionRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeCollectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_dataset, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeDataset"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeDatasetRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeDatasetResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:describe_project_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeProjectVersions"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeProjectVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeProjectVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:describe_projects, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeProjects"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeProjectsRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeProjectsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:describe_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:detect_custom_labels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectCustomLabels"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectCustomLabelsRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectCustomLabelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:detect_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:detect_labels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectLabels"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectLabelsRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectLabelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:detect_moderation_labels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectModerationLabels"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectModerationLabelsRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectModerationLabelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
    o.errors << Shapes::ShapeRef.new(shape: HumanLoopQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
  end)

  api.add_operation(:detect_protective_equipment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectProtectiveEquipment"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectProtectiveEquipmentResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:detect_text, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DetectText"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DetectTextRequest)
    o.output = Shapes::ShapeRef.new(shape: DetectTextResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:disassociate_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisassociateFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
  end)

  api.add_operation(:distribute_dataset_entries, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DistributeDatasetEntries"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DistributeDatasetEntriesRequest)
    o.output = Shapes::ShapeRef.new(shape: DistributeDatasetEntriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
  end)

  api.add_operation(:get_celebrity_info, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCelebrityInfo"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCelebrityInfoRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCelebrityInfoResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:get_celebrity_recognition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCelebrityRecognition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetCelebrityRecognitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCelebrityRecognitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_content_moderation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetContentModeration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetContentModerationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetContentModerationResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_face_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFaceDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetFaceDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFaceDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_face_liveness_session_results, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFaceLivenessSessionResults"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetFaceLivenessSessionResultsRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFaceLivenessSessionResultsResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: SessionNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:get_face_search, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFaceSearch"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetFaceSearchRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFaceSearchResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_label_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetLabelDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetLabelDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetLabelDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_media_analysis_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetMediaAnalysisJob"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetMediaAnalysisJobRequest)
    o.output = Shapes::ShapeRef.new(shape: GetMediaAnalysisJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_person_tracking, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPersonTracking"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetPersonTrackingRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPersonTrackingResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_segment_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSegmentDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetSegmentDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSegmentDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:get_text_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetTextDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetTextDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetTextDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:index_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "IndexFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: IndexFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: IndexFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
  end)

  api.add_operation(:list_collections, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCollections"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListCollectionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCollectionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_dataset_entries, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDatasetEntries"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListDatasetEntriesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDatasetEntriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_dataset_labels, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDatasetLabels"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListDatasetLabelsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDatasetLabelsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_media_analysis_jobs, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListMediaAnalysisJobs"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListMediaAnalysisJobsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListMediaAnalysisJobsResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_project_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListProjectPolicies"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListProjectPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListProjectPoliciesResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    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_stream_processors, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListStreamProcessors"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListStreamProcessorsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListStreamProcessorsResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    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: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:list_users, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListUsers"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListUsersRequest)
    o.output = Shapes::ShapeRef.new(shape: ListUsersResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPaginationTokenException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:put_project_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutProjectPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PutProjectPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: PutProjectPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidPolicyRevisionIdException)
    o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
  end)

  api.add_operation(:recognize_celebrities, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RecognizeCelebrities"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RecognizeCelebritiesRequest)
    o.output = Shapes::ShapeRef.new(shape: RecognizeCelebritiesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:search_faces, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchFaces"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SearchFacesRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchFacesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:search_faces_by_image, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchFacesByImage"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SearchFacesByImageRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchFacesByImageResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
  end)

  api.add_operation(:search_users, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchUsers"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SearchUsersRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchUsersResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:search_users_by_image, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SearchUsersByImage"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SearchUsersByImageRequest)
    o.output = Shapes::ShapeRef.new(shape: SearchUsersByImageResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImageFormatException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: ImageTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_celebrity_recognition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartCelebrityRecognition"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartCelebrityRecognitionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartCelebrityRecognitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_content_moderation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartContentModeration"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartContentModerationRequest)
    o.output = Shapes::ShapeRef.new(shape: StartContentModerationResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_face_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartFaceDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartFaceDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartFaceDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_face_search, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartFaceSearch"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartFaceSearchRequest)
    o.output = Shapes::ShapeRef.new(shape: StartFaceSearchResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_label_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartLabelDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartLabelDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartLabelDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_media_analysis_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartMediaAnalysisJob"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartMediaAnalysisJobRequest)
    o.output = Shapes::ShapeRef.new(shape: StartMediaAnalysisJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidManifestException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotReadyException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
  end)

  api.add_operation(:start_person_tracking, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartPersonTracking"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartPersonTrackingRequest)
    o.output = Shapes::ShapeRef.new(shape: StartPersonTrackingResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_project_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartProjectVersion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartProjectVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartProjectVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:start_segment_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartSegmentDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartSegmentDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartSegmentDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:start_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: StartStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:start_text_detection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartTextDetection"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StartTextDetectionRequest)
    o.output = Shapes::ShapeRef.new(shape: StartTextDetectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidS3ObjectException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: VideoTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:stop_project_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StopProjectVersion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StopProjectVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: StopProjectVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:stop_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StopStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: StopStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: StopStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  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: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  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: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
  end)

  api.add_operation(:update_dataset_entries, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateDatasetEntries"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateDatasetEntriesRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateDatasetEntriesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:update_stream_processor, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateStreamProcessor"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateStreamProcessorRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateStreamProcessorResponse)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ProvisionedThroughputExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
  end)
end