---
updatedAt: 2025-11-12T01:06:17.000Z
agentTools:
  projectIndex: https://public.docs.kivera.io/llms.txt
---

# REKOGNITION

<Embed url="https://docs.aws.amazon.com/" title="AWS documentation" provider="docs.aws.amazon.com" href="https://docs.aws.amazon.com/" />

# AssociateFaces

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.UserId == STRING
    input.Body.FaceIds[_] == STRING
    input.Body.UserMatchThreshold == FLOAT
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CompareFaces

```erlang
enum_QualityFilter := [ "NONE", "AUTO", "LOW", "MEDIUM", "HIGH" ]

valid {
    input.Body.SourceImage.Bytes == BLOB
    input.Body.SourceImage.S3Object.Bucket == STRING
    input.Body.SourceImage.S3Object.Name == STRING
    input.Body.SourceImage.S3Object.Version == STRING
    input.Body.TargetImage.Bytes == BLOB
    input.Body.TargetImage.S3Object.Bucket == STRING
    input.Body.TargetImage.S3Object.Name == STRING
    input.Body.TargetImage.S3Object.Version == STRING
    input.Body.SimilarityThreshold == FLOAT
    input.Body.QualityFilter == enum_QualityFilter[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CopyProjectVersion

```erlang
valid {
    input.Body.SourceProjectArn == STRING
    input.Body.SourceProjectVersionArn == STRING
    input.Body.DestinationProjectArn == STRING
    input.Body.VersionName == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3KeyPrefix == STRING
    input.Body.Tags.STRING == STRING
    input.Body.KmsKeyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateCollection

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateDataset

```erlang
enum_DatasetType := [ "TRAIN", "TEST" ]

valid {
    input.Body.DatasetSource.GroundTruthManifest.S3Object.Bucket == STRING
    input.Body.DatasetSource.GroundTruthManifest.S3Object.Name == STRING
    input.Body.DatasetSource.GroundTruthManifest.S3Object.Version == STRING
    input.Body.DatasetSource.DatasetArn == STRING
    input.Body.DatasetType == enum_DatasetType[_]
    input.Body.ProjectArn == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateFaceLivenessSession

```erlang
enum_ChallengeType := [ "FaceMovementAndLightChallenge", "FaceMovementChallenge" ]

valid {
    input.Body.KmsKeyId == STRING
    input.Body.Settings.OutputConfig.S3Bucket == STRING
    input.Body.Settings.OutputConfig.S3KeyPrefix == STRING
    input.Body.Settings.AuditImagesLimit == INTEGER
    input.Body.Settings.ChallengePreferences[_].Type == enum_ChallengeType[_]
    input.Body.Settings.ChallengePreferences[_].Versions.Minimum == STRING
    input.Body.Settings.ChallengePreferences[_].Versions.Maximum == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateProject

```erlang
enum_CustomizationFeature := [ "CONTENT_MODERATION", "CUSTOM_LABELS" ]
enum_ProjectAutoUpdate := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.ProjectName == STRING
    input.Body.Feature == enum_CustomizationFeature[_]
    input.Body.AutoUpdate == enum_ProjectAutoUpdate[_]
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateProjectVersion

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.Body.VersionName == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3KeyPrefix == STRING
    input.Body.TrainingData.Assets[_].GroundTruthManifest.S3Object.Bucket == STRING
    input.Body.TrainingData.Assets[_].GroundTruthManifest.S3Object.Name == STRING
    input.Body.TrainingData.Assets[_].GroundTruthManifest.S3Object.Version == STRING
    input.Body.TestingData.Assets[_].GroundTruthManifest.S3Object.Bucket == STRING
    input.Body.TestingData.Assets[_].GroundTruthManifest.S3Object.Name == STRING
    input.Body.TestingData.Assets[_].GroundTruthManifest.S3Object.Version == STRING
    input.Body.TestingData.AutoCreate == BOOLEAN
    input.Body.Tags.STRING == STRING
    input.Body.KmsKeyId == STRING
    input.Body.VersionDescription == STRING
    input.Body.FeatureConfig.ContentModeration.ConfidenceThreshold == FLOAT
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateStreamProcessor

```erlang
valid {
    input.Body.Input.KinesisVideoStream.Arn == STRING
    input.Body.Output.KinesisDataStream.Arn == STRING
    input.Body.Output.S3Destination.Bucket == STRING
    input.Body.Output.S3Destination.KeyPrefix == STRING
    input.Body.Name == STRING
    input.Body.Settings.FaceSearch.CollectionId == STRING
    input.Body.Settings.FaceSearch.FaceMatchThreshold == FLOAT
    input.Body.Settings.ConnectedHome.Labels[_] == STRING
    input.Body.Settings.ConnectedHome.MinConfidence == FLOAT
    input.Body.RoleArn == STRING
    input.Body.Tags.STRING == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.KmsKeyId == STRING
    input.Body.RegionsOfInterest[_].BoundingBox.Width == FLOAT
    input.Body.RegionsOfInterest[_].BoundingBox.Height == FLOAT
    input.Body.RegionsOfInterest[_].BoundingBox.Left == FLOAT
    input.Body.RegionsOfInterest[_].BoundingBox.Top == FLOAT
    input.Body.RegionsOfInterest[_].Polygon[_].X == FLOAT
    input.Body.RegionsOfInterest[_].Polygon[_].Y == FLOAT
    input.Body.DataSharingPreference.OptIn == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# CreateUser

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.UserId == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteCollection

```erlang
valid {
    input.Body.CollectionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteDataset

```erlang
valid {
    input.Body.DatasetArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteFaces

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.FaceIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteProject

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteProjectPolicy

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.Body.PolicyName == STRING
    input.Body.PolicyRevisionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteProjectVersion

```erlang
valid {
    input.Body.ProjectVersionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteStreamProcessor

```erlang
valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DeleteUser

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.UserId == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeCollection

```erlang
valid {
    input.Body.CollectionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeDataset

```erlang
valid {
    input.Body.DatasetArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeProjectVersions

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.Body.VersionNames[_] == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeProjects

```erlang
enum_CustomizationFeature := [ "CONTENT_MODERATION", "CUSTOM_LABELS" ]

valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.ProjectNames[_] == STRING
    input.Body.Features[_] == enum_CustomizationFeature[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DescribeStreamProcessor

```erlang
valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectCustomLabels

```erlang
valid {
    input.Body.ProjectVersionArn == STRING
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.MaxResults == INTEGER
    input.Body.MinConfidence == FLOAT
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectFaces

```erlang
enum_Attribute := [ "DEFAULT", "ALL", "AGE_RANGE", "BEARD", "EMOTIONS", "EYE_DIRECTION", "EYEGLASSES", "EYES_OPEN", "GENDER", "MOUTH_OPEN", "MUSTACHE", "FACE_OCCLUDED", "SMILE", "SUNGLASSES" ]

valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.Attributes[_] == enum_Attribute[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectLabels

```erlang
enum_DetectLabelsFeatureName := [ "GENERAL_LABELS", "IMAGE_PROPERTIES" ]

valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.MaxLabels == INTEGER
    input.Body.MinConfidence == FLOAT
    input.Body.Features[_] == enum_DetectLabelsFeatureName[_]
    input.Body.Settings.GeneralLabels.LabelInclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelExclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelCategoryInclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelCategoryExclusionFilters[_] == STRING
    input.Body.Settings.ImageProperties.MaxDominantColors == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectModerationLabels

```erlang
enum_ContentClassifier := [ "FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent" ]

valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.MinConfidence == FLOAT
    input.Body.HumanLoopConfig.HumanLoopName == STRING
    input.Body.HumanLoopConfig.FlowDefinitionArn == STRING
    input.Body.HumanLoopConfig.DataAttributes.ContentClassifiers[_] == enum_ContentClassifier[_]
    input.Body.ProjectVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectProtectiveEquipment

```erlang
enum_ProtectiveEquipmentType := [ "FACE_COVER", "HAND_COVER", "HEAD_COVER" ]

valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.SummarizationAttributes.MinConfidence == FLOAT
    input.Body.SummarizationAttributes.RequiredEquipmentTypes[_] == enum_ProtectiveEquipmentType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DetectText

```erlang
valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.Filters.WordFilter.MinConfidence == FLOAT
    input.Body.Filters.WordFilter.MinBoundingBoxHeight == FLOAT
    input.Body.Filters.WordFilter.MinBoundingBoxWidth == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Width == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Height == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Left == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Top == FLOAT
    input.Body.Filters.RegionsOfInterest[_].Polygon[_].X == FLOAT
    input.Body.Filters.RegionsOfInterest[_].Polygon[_].Y == FLOAT
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DisassociateFaces

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.UserId == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.FaceIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# DistributeDatasetEntries

```erlang
valid {
    input.Body.Datasets[_].Arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetCelebrityInfo

```erlang
valid {
    input.Body.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetCelebrityRecognition

```erlang
enum_CelebrityRecognitionSortBy := [ "ID", "TIMESTAMP" ]

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.SortBy == enum_CelebrityRecognitionSortBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetContentModeration

```erlang
enum_ContentModerationAggregateBy := [ "TIMESTAMPS", "SEGMENTS" ]
enum_ContentModerationSortBy := [ "NAME", "TIMESTAMP" ]

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.SortBy == enum_ContentModerationSortBy[_]
    input.Body.AggregateBy == enum_ContentModerationAggregateBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetFaceDetection

```erlang
valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetFaceLivenessSessionResults

```erlang
valid {
    input.Body.SessionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetFaceSearch

```erlang
enum_FaceSearchSortBy := [ "INDEX", "TIMESTAMP" ]

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.SortBy == enum_FaceSearchSortBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetLabelDetection

```erlang
enum_LabelDetectionAggregateBy := [ "TIMESTAMPS", "SEGMENTS" ]
enum_LabelDetectionSortBy := [ "NAME", "TIMESTAMP" ]

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.SortBy == enum_LabelDetectionSortBy[_]
    input.Body.AggregateBy == enum_LabelDetectionAggregateBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetMediaAnalysisJob

```erlang
valid {
    input.Body.JobId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetPersonTracking

```erlang
enum_PersonTrackingSortBy := [ "INDEX", "TIMESTAMP" ]

valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.Body.SortBy == enum_PersonTrackingSortBy[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetSegmentDetection

```erlang
valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# GetTextDetection

```erlang
valid {
    input.Body.JobId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# IndexFaces

```erlang
enum_Attribute := [ "DEFAULT", "ALL", "AGE_RANGE", "BEARD", "EMOTIONS", "EYE_DIRECTION", "EYEGLASSES", "EYES_OPEN", "GENDER", "MOUTH_OPEN", "MUSTACHE", "FACE_OCCLUDED", "SMILE", "SUNGLASSES" ]
enum_QualityFilter := [ "NONE", "AUTO", "LOW", "MEDIUM", "HIGH" ]

valid {
    input.Body.CollectionId == STRING
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.ExternalImageId == STRING
    input.Body.DetectionAttributes[_] == enum_Attribute[_]
    input.Body.MaxFaces == INTEGER
    input.Body.QualityFilter == enum_QualityFilter[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListCollections

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListDatasetEntries

```erlang
valid {
    input.Body.DatasetArn == STRING
    input.Body.ContainsLabels[_] == STRING
    input.Body.Labeled == BOOLEAN
    input.Body.SourceRefContains == STRING
    input.Body.HasErrors == BOOLEAN
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListDatasetLabels

```erlang
valid {
    input.Body.DatasetArn == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListFaces

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.Body.UserId == STRING
    input.Body.FaceIds[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListMediaAnalysisJobs

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListProjectPolicies

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListStreamProcessors

```erlang
valid {
    input.Body.NextToken == STRING
    input.Body.MaxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListTagsForResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# ListUsers

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.MaxResults == INTEGER
    input.Body.NextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# PutProjectPolicy

```erlang
valid {
    input.Body.ProjectArn == STRING
    input.Body.PolicyName == STRING
    input.Body.PolicyRevisionId == STRING
    input.Body.PolicyDocument == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# RecognizeCelebrities

```erlang
valid {
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SearchFaces

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.FaceId == STRING
    input.Body.MaxFaces == INTEGER
    input.Body.FaceMatchThreshold == FLOAT
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SearchFacesByImage

```erlang
enum_QualityFilter := [ "NONE", "AUTO", "LOW", "MEDIUM", "HIGH" ]

valid {
    input.Body.CollectionId == STRING
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.MaxFaces == INTEGER
    input.Body.FaceMatchThreshold == FLOAT
    input.Body.QualityFilter == enum_QualityFilter[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SearchUsers

```erlang
valid {
    input.Body.CollectionId == STRING
    input.Body.UserId == STRING
    input.Body.FaceId == STRING
    input.Body.UserMatchThreshold == FLOAT
    input.Body.MaxUsers == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# SearchUsersByImage

```erlang
enum_QualityFilter := [ "NONE", "AUTO", "LOW", "MEDIUM", "HIGH" ]

valid {
    input.Body.CollectionId == STRING
    input.Body.Image.Bytes == BLOB
    input.Body.Image.S3Object.Bucket == STRING
    input.Body.Image.S3Object.Name == STRING
    input.Body.Image.S3Object.Version == STRING
    input.Body.UserMatchThreshold == FLOAT
    input.Body.MaxUsers == INTEGER
    input.Body.QualityFilter == enum_QualityFilter[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartCelebrityRecognition

```erlang
valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartContentModeration

```erlang
valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.MinConfidence == FLOAT
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartFaceDetection

```erlang
enum_FaceAttributes := [ "DEFAULT", "ALL" ]

valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.FaceAttributes == enum_FaceAttributes[_]
    input.Body.JobTag == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartFaceSearch

```erlang
valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.FaceMatchThreshold == FLOAT
    input.Body.CollectionId == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartLabelDetection

```erlang
enum_LabelDetectionFeatureName := [ "GENERAL_LABELS" ]

valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.MinConfidence == FLOAT
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.Body.Features[_] == enum_LabelDetectionFeatureName[_]
    input.Body.Settings.GeneralLabels.LabelInclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelExclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelCategoryInclusionFilters[_] == STRING
    input.Body.Settings.GeneralLabels.LabelCategoryExclusionFilters[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartMediaAnalysisJob

```erlang
valid {
    input.Body.ClientRequestToken == STRING
    input.Body.JobName == STRING
    input.Body.OperationsConfig.DetectModerationLabels.MinConfidence == FLOAT
    input.Body.OperationsConfig.DetectModerationLabels.ProjectVersion == STRING
    input.Body.Input.S3Object.Bucket == STRING
    input.Body.Input.S3Object.Name == STRING
    input.Body.Input.S3Object.Version == STRING
    input.Body.OutputConfig.S3Bucket == STRING
    input.Body.OutputConfig.S3KeyPrefix == STRING
    input.Body.KmsKeyId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartPersonTracking

```erlang
valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartProjectVersion

```erlang
valid {
    input.Body.ProjectVersionArn == STRING
    input.Body.MinInferenceUnits == INTEGER
    input.Body.MaxInferenceUnits == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartSegmentDetection

```erlang
enum_SegmentType := [ "TECHNICAL_CUE", "SHOT" ]

valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.Body.Filters.TechnicalCueFilter.MinSegmentConfidence == FLOAT
    input.Body.Filters.TechnicalCueFilter.BlackFrame.MaxPixelThreshold == FLOAT
    input.Body.Filters.TechnicalCueFilter.BlackFrame.MinCoveragePercentage == FLOAT
    input.Body.Filters.ShotFilter.MinSegmentConfidence == FLOAT
    input.Body.SegmentTypes[_] == enum_SegmentType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartStreamProcessor

```erlang
valid {
    input.Body.Name == STRING
    input.Body.StartSelector.KVSStreamStartSelector.ProducerTimestamp == LONG
    input.Body.StartSelector.KVSStreamStartSelector.FragmentNumber == STRING
    input.Body.StopSelector.MaxDurationInSeconds == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StartTextDetection

```erlang
valid {
    input.Body.Video.S3Object.Bucket == STRING
    input.Body.Video.S3Object.Name == STRING
    input.Body.Video.S3Object.Version == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.NotificationChannel.SNSTopicArn == STRING
    input.Body.NotificationChannel.RoleArn == STRING
    input.Body.JobTag == STRING
    input.Body.Filters.WordFilter.MinConfidence == FLOAT
    input.Body.Filters.WordFilter.MinBoundingBoxHeight == FLOAT
    input.Body.Filters.WordFilter.MinBoundingBoxWidth == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Width == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Height == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Left == FLOAT
    input.Body.Filters.RegionsOfInterest[_].BoundingBox.Top == FLOAT
    input.Body.Filters.RegionsOfInterest[_].Polygon[_].X == FLOAT
    input.Body.Filters.RegionsOfInterest[_].Polygon[_].Y == FLOAT
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopProjectVersion

```erlang
valid {
    input.Body.ProjectVersionArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# StopStreamProcessor

```erlang
valid {
    input.Body.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# TagResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.Body.Tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UntagResource

```erlang
valid {
    input.Body.ResourceArn == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateDatasetEntries

```erlang
valid {
    input.Body.DatasetArn == STRING
    input.Body.Changes.GroundTruth == BLOB
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```

# UpdateStreamProcessor

```erlang
enum_StreamProcessorParameterToDelete := [ "ConnectedHomeMinConfidence", "RegionsOfInterest" ]

valid {
    input.Body.Name == STRING
    input.Body.SettingsForUpdate.ConnectedHomeForUpdate.Labels[_] == STRING
    input.Body.SettingsForUpdate.ConnectedHomeForUpdate.MinConfidence == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].BoundingBox.Width == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].BoundingBox.Height == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].BoundingBox.Left == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].BoundingBox.Top == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].Polygon[_].X == FLOAT
    input.Body.RegionsOfInterestForUpdate[_].Polygon[_].Y == FLOAT
    input.Body.DataSharingPreferenceForUpdate.OptIn == BOOLEAN
    input.Body.ParametersToDelete[_] == enum_StreamProcessorParameterToDelete[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}
```