UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,044 lines 97.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Rekognition = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [rekognition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Rekognition extends shared_1.PolicyStatement { /** * Grants permission to associate multiple individual faces with a single user * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_AssociateFaces.html */ toAssociateFaces() { return this.to('AssociateFaces'); } /** * Grants permission to compare faces in the source input image with each face detected in the target input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CompareFaces.html */ toCompareFaces() { return this.to('CompareFaces'); } /** * Grants permission to copy an existing model version to a new model version * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CopyProjectVersion.html */ toCopyProjectVersion() { return this.to('CopyProjectVersion'); } /** * Grants permission to create a collection in an AWS Region * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateCollection.html */ toCreateCollection() { return this.to('CreateCollection'); } /** * Grants permission to create a new Amazon Rekognition Custom Labels dataset * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateDataset.html */ toCreateDataset() { return this.to('CreateDataset'); } /** * Grants permission to create a face liveness session * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateFaceLivenessSession.html */ toCreateFaceLivenessSession() { return this.to('CreateFaceLivenessSession'); } /** * Grants permission to create an Amazon Rekognition Custom Labels project * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject.html */ toCreateProject() { return this.to('CreateProject'); } /** * Grants permission to begin training a new version of a model * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion.html */ toCreateProjectVersion() { return this.to('CreateProjectVersion'); } /** * Grants permission to create an Amazon Rekognition stream processor * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateStreamProcessor.html */ toCreateStreamProcessor() { return this.to('CreateStreamProcessor'); } /** * Grants permission to create a new user in a collection using a unique user ID you provide * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateUser.html */ toCreateUser() { return this.to('CreateUser'); } /** * Grants permission to delete the specified collection * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteCollection.html */ toDeleteCollection() { return this.to('DeleteCollection'); } /** * Grants permission to delete an existing Amazon Rekognition Custom Labels dataset * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteDataset.html */ toDeleteDataset() { return this.to('DeleteDataset'); } /** * Grants permission to delete faces from a collection * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteFaces.html */ toDeleteFaces() { return this.to('DeleteFaces'); } /** * Grants permission to delete a project * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject.html */ toDeleteProject() { return this.to('DeleteProject'); } /** * Grants permission to delete a resource policy attached to a project * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProjectPolicy.html */ toDeleteProjectPolicy() { return this.to('DeleteProjectPolicy'); } /** * Grants permission to delete a model * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProjectVersion.html */ toDeleteProjectVersion() { return this.to('DeleteProjectVersion'); } /** * Grants permission to delete the specified stream processor * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteStreamProcessor.html */ toDeleteStreamProcessor() { return this.to('DeleteStreamProcessor'); } /** * Grants permission to delete a user from a collection based on the provided user ID * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteUser.html */ toDeleteUser() { return this.to('DeleteUser'); } /** * Grants permission to read details about a collection * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeCollection.html */ toDescribeCollection() { return this.to('DescribeCollection'); } /** * Grants permission to describe an Amazon Rekognition Custom Labels dataset * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeDataset.html */ toDescribeDataset() { return this.to('DescribeDataset'); } /** * Grants permission to list the versions of a model in an Amazon Rekognition Custom Labels project * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions.html */ toDescribeProjectVersions() { return this.to('DescribeProjectVersions'); } /** * Grants permission to list Amazon Rekognition Custom Labels projects * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects.html */ toDescribeProjects() { return this.to('DescribeProjects'); } /** * Grants permission to get information about the specified stream processor * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeStreamProcessor.html */ toDescribeStreamProcessor() { return this.to('DescribeStreamProcessor'); } /** * Grants permission to detect custom labels in a supplied image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectCustomLabels.html */ toDetectCustomLabels() { return this.to('DetectCustomLabels'); } /** * Grants permission to detect human faces within an image provided as input * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectFaces.html */ toDetectFaces() { return this.to('DetectFaces'); } /** * Grants permission to detect instances of real-world labels within an image provided as input * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectLabels.html */ toDetectLabels() { return this.to('DetectLabels'); } /** * Grants permission to detect moderation labels within the input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectModerationLabels.html */ toDetectModerationLabels() { return this.to('DetectModerationLabels'); } /** * Grants permission to detect Personal Protective Equipment in the input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectProtectiveEquipment.html */ toDetectProtectiveEquipment() { return this.to('DetectProtectiveEquipment'); } /** * Grants permission to detect text in the input image and convert it into machine-readable text * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectText.html */ toDetectText() { return this.to('DetectText'); } /** * Grants permission to remove the association between a user ID and a face ID * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DisassociateFaces.html */ toDisassociateFaces() { return this.to('DisassociateFaces'); } /** * Grants permission to distribute the entries in a training dataset across the training dataset and the test dataset for a project * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DistributeDatasetEntries.html */ toDistributeDatasetEntries() { return this.to('DistributeDatasetEntries'); } /** * Grants permission to read the name, and additional information, of a celebrity * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetCelebrityInfo.html */ toGetCelebrityInfo() { return this.to('GetCelebrityInfo'); } /** * Grants permission to read the celebrity recognition results found in a stored video by an asynchronous celebrity recognition job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetCelebrityRecognition.html */ toGetCelebrityRecognition() { return this.to('GetCelebrityRecognition'); } /** * Grants permission to read the content moderation analysis results found in a stored video by an asynchronous content moderation job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetContentModeration.html */ toGetContentModeration() { return this.to('GetContentModeration'); } /** * Grants permission to read the faces detection results found in a stored video by an asynchronous face detection job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceDetection.html */ toGetFaceDetection() { return this.to('GetFaceDetection'); } /** * Grants permission to get results of a face liveness session * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceLivenessSessionResults.html */ toGetFaceLivenessSessionResults() { return this.to('GetFaceLivenessSessionResults'); } /** * Grants permission to read the matching collection faces found in a stored video by an asynchronous face search job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetFaceSearch.html */ toGetFaceSearch() { return this.to('GetFaceSearch'); } /** * Grants permission to read the label detected resuls found in a stored video by an asynchronous label detection job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetLabelDetection.html */ toGetLabelDetection() { return this.to('GetLabelDetection'); } /** * Grants permission to read the reference to job results in S3 and additional information about a media analysis job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetMediaAnalysisJob.html */ toGetMediaAnalysisJob() { return this.to('GetMediaAnalysisJob'); } /** * Grants permission to read the list of persons detected in a stored video by an asynchronous person tracking job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetPersonTracking.html */ toGetPersonTracking() { return this.to('GetPersonTracking'); } /** * Grants permission to get the vdeo segments found in a stored video by an asynchronous segment detection job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetSegmentDetection.html */ toGetSegmentDetection() { return this.to('GetSegmentDetection'); } /** * Grants permission to get the text found in a stored video by an asynchronous text detection job * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_GetTextDetection.html */ toGetTextDetection() { return this.to('GetTextDetection'); } /** * Grants permission to update an existing collection with faces detected in the input image * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_IndexFaces.html */ toIndexFaces() { return this.to('IndexFaces'); } /** * Grants permission to read the collection Id's in your account * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListCollections.html */ toListCollections() { return this.to('ListCollections'); } /** * Grants permission to list the dataset entries in an existing Amazon Rekognition Custom Labels dataset * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListDatasetEntries.html */ toListDatasetEntries() { return this.to('ListDatasetEntries'); } /** * Grants permission to list the labels in a dataset * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListDatasetLabels.html */ toListDatasetLabels() { return this.to('ListDatasetLabels'); } /** * Grants permission to read metadata for faces in the specificed collection * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListFaces.html */ toListFaces() { return this.to('ListFaces'); } /** * Grants permission to read the list of media analysis jobs * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListMediaAnalysisJobs.html */ toListMediaAnalysisJobs() { return this.to('ListMediaAnalysisJobs'); } /** * Grants permission to list the resource policies attached to a project * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListProjectPolicies.html */ toListProjectPolicies() { return this.to('ListProjectPolicies'); } /** * Grants permission to get a list of your stream processors * * Access Level: List * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListStreamProcessors.html */ toListStreamProcessors() { return this.to('ListStreamProcessors'); } /** * Grants permission to return a list of tags associated with a resource * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list UserIds and the UserStatus * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ListUsers.html */ toListUsers() { return this.to('ListUsers'); } /** * Grants permission to attach a resource policy to a project * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_PutProjectPolicy.html */ toPutProjectPolicy() { return this.to('PutProjectPolicy'); } /** * Grants permission to detect celebrities in the input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_RecognizeCelebrities.html */ toRecognizeCelebrities() { return this.to('RecognizeCelebrities'); } /** * Grants permission to search the specificed collection for the supplied face ID * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFaces.html */ toSearchFaces() { return this.to('SearchFaces'); } /** * Grants permission to search the specificed collection for the largest face in the input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchFacesByImage.html */ toSearchFacesByImage() { return this.to('SearchFacesByImage'); } /** * Grants permission to search the specificed collection for user match result with given either face ID or user ID * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchUsers.html */ toSearchUsers() { return this.to('SearchUsers'); } /** * Grants permission to search the specificed collection for user match result by using the largest face in the input image * * Access Level: Read * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_SearchUsersByImage.html */ toSearchUsersByImage() { return this.to('SearchUsersByImage'); } /** * Grants permission to start the asynchronous recognition of celebrities in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartCelebrityRecognition.html */ toStartCelebrityRecognition() { return this.to('StartCelebrityRecognition'); } /** * Grants permission to start asynchronous detection of explicit or suggestive adult content in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartContentModeration.html */ toStartContentModeration() { return this.to('StartContentModeration'); } /** * Grants permission to start asynchronous detection of faces in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartFaceDetection.html */ toStartFaceDetection() { return this.to('StartFaceDetection'); } /** * Grants permission to start streaming video for a face liveness session * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_rekognitionstreaming_StartFaceLivenessSession.html */ toStartFaceLivenessSession() { return this.to('StartFaceLivenessSession'); } /** * Grants permission to start an asynchronous search for faces in a collection that match the faces of persons detected in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartFaceSearch.html */ toStartFaceSearch() { return this.to('StartFaceSearch'); } /** * Grants permission to start asynchronous detection of labels in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartLabelDetection.html */ toStartLabelDetection() { return this.to('StartLabelDetection'); } /** * Grants permission to start a media analysis job * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartMediaAnalysisJob.html */ toStartMediaAnalysisJob() { return this.to('StartMediaAnalysisJob'); } /** * Grants permission to start the asynchronous tracking of persons in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartPersonTracking.html */ toStartPersonTracking() { return this.to('StartPersonTracking'); } /** * Grants permission to start running a model version * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartProjectVersion.html */ toStartProjectVersion() { return this.to('StartProjectVersion'); } /** * Grants permission to start the asynchronous detection of segments in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartSegmentDetection.html */ toStartSegmentDetection() { return this.to('StartSegmentDetection'); } /** * Grants permission to start running a stream processor * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartStreamProcessor.html */ toStartStreamProcessor() { return this.to('StartStreamProcessor'); } /** * Grants permission to start the asynchronous detection of text in a stored video * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartTextDetection.html */ toStartTextDetection() { return this.to('StartTextDetection'); } /** * Grants permission to stop a running model version * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StopProjectVersion.html */ toStopProjectVersion() { return this.to('StopProjectVersion'); } /** * Grants permission to stop a running stream processor * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StopStreamProcessor.html */ toStopStreamProcessor() { return this.to('StopStreamProcessor'); } /** * Grants permission to add one or more tags to a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to remove one or more tags from a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to add or update one or more JSON Lines (entries) in a dataset * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UpdateDatasetEntries.html */ toUpdateDatasetEntries() { return this.to('UpdateDatasetEntries'); } /** * Grants permission to modify properties for a stream processor * * Access Level: Write * * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_UpdateStreamProcessor.html */ toUpdateStreamProcessor() { return this.to('UpdateStreamProcessor'); } /** * Adds a resource of type collection to the statement * * https://docs.aws.amazon.com/rekognition/latest/dg/collections.html * * @param collectionId - Identifier for the collectionId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onCollection(collectionId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:rekognition:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:collection/${collectionId}`); } /** * Adds a resource of type streamprocessor to the statement * * https://docs.aws.amazon.com/rekognition/latest/dg/streaming-video.html * * @param streamprocessorId - Identifier for the streamprocessorId. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onStreamprocessor(streamprocessorId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:rekognition:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:streamprocessor/${streamprocessorId}`); } /** * Adds a resource of type project to the statement * * https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/mp-create-project.html * * @param projectName - Identifier for the projectName. * @param creationTimestamp - Identifier for the creationTimestamp. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onProject(projectName, creationTimestamp, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:rekognition:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:project/${projectName}/${creationTimestamp}`); } /** * Adds a resource of type projectversion to the statement * * https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/training-model.html * * @param projectName - Identifier for the projectName. * @param versionName - Identifier for the versionName. * @param creationTimestamp - Identifier for the creationTimestamp. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onProjectversion(projectName, versionName, creationTimestamp, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:rekognition:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:project/${projectName}/version/${versionName}/${creationTimestamp}`); } /** * Adds a resource of type dataset to the statement * * https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/creating-datasets.html * * @param projectName - Identifier for the projectName. * @param datasetType - Identifier for the datasetType. * @param creationTimestamp - Identifier for the creationTimestamp. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition. * * Possible conditions: * - .ifAwsResourceTag() */ onDataset(projectName, datasetType, creationTimestamp, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:rekognition:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:project/${projectName}/dataset/${datasetType}/${creationTimestamp}`); } /** * Filters access by tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCopyProjectVersion() * - .toCreateCollection() * - .toCreateDataset() * - .toCreateProject() * - .toCreateProjectVersion() * - .toCreateStreamProcessor() * - .toTagResource() * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsRequestTag(tagKey, value, operator) { return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - collection * - streamprocessor * - project * - projectversion * - dataset * * @param tagKey The tag key to check * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCopyProjectVersion() * - .toCreateCollection() * - .toCreateDataset() * - .toCreateProject() * - .toCreateProjectVersion() * - .toCreateStreamProcessor() * - .toTagResource() * - .toUntagResource() * * @param value The value(s) to check * @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [rekognition](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html). * */ constructor(props) { super(props); this.servicePrefix = 'rekognition'; this.accessLevelList = { Write: [ 'AssociateFaces', 'CopyProjectVersion', 'CreateCollection', 'CreateDataset', 'CreateFaceLivenessSession', 'CreateProject', 'CreateProjectVersion', 'CreateStreamProcessor', 'CreateUser', 'DeleteCollection', 'DeleteDataset', 'DeleteFaces', 'DeleteProject', 'DeleteProjectPolicy', 'DeleteProjectVersion', 'DeleteStreamProcessor', 'DeleteUser', 'DisassociateFaces', 'DistributeDatasetEntries', 'IndexFaces', 'PutProjectPolicy', 'StartCelebrityRecognition', 'StartContentModeration', 'StartFaceDetection', 'StartFaceLivenessSession', 'StartFaceSearch', 'StartLabelDetection', 'StartMediaAnalysisJob', 'StartPersonTracking', 'StartProjectVersion', 'StartSegmentDetection', 'StartStreamProcessor', 'StartTextDetection', 'StopProjectVersion', 'StopStreamProcessor', 'UpdateDatasetEntries', 'UpdateStreamProcessor' ], Read: [ 'CompareFaces', 'DescribeCollection', 'DescribeDataset', 'DescribeProjectVersions', 'DescribeProjects', 'DescribeStreamProcessor', 'DetectCustomLabels', 'DetectFaces', 'DetectLabels', 'DetectModerationLabels', 'DetectProtectiveEquipment', 'DetectText', 'GetCelebrityInfo', 'GetCelebrityRecognition', 'GetContentModeration', 'GetFaceDetection', 'GetFaceLivenessSessionResults', 'GetFaceSearch', 'GetLabelDetection', 'GetMediaAnalysisJob', 'GetPersonTracking', 'GetSegmentDetection', 'GetTextDetection', 'ListCollections', 'ListDatasetEntries', 'ListDatasetLabels', 'ListFaces', 'ListMediaAnalysisJobs', 'ListProjectPolicies', 'ListTagsForResource', 'ListUsers', 'RecognizeCelebrities', 'SearchFaces', 'SearchFacesByImage', 'SearchUsers', 'SearchUsersByImage' ], List: [ 'ListStreamProcessors' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Rekognition = Rekognition; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVrb2duaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWtvZ25pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsV0FBWSxTQUFRLHdCQUFlO0lBRzlDOzs7Ozs7T0FNRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSx1QkFBdUI7UUFDNUIsT0FBTyxJ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QUNwQixvQkFBb0I7Z0JBQ3BCLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0Qix1QkFBdUI7YUFDeEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osY0FBYztnQkFDZCxvQkFBb0I7Z0JBQ3BCLGlCQUFpQjtnQkFDakIseUJBQXlCO2dCQUN6QixrQkFBa0I7Z0JBQ2xCLHlCQUF5QjtnQkFDekIsb0JBQW9CO2dCQUNwQixhQUFhO2dCQUNiLGNBQWM7Z0JBQ2Qsd0JBQXdCO2dCQUN4QiwyQkFBMkI7Z0JBQzNCLFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQix5QkFBeUI7Z0JBQ3pCLHNCQUFzQjtnQkFDdEIsa0JBQWtCO2dCQUNsQiwrQkFBK0I7Z0JBQy9CLGVBQWU7Z0JBQ2YsbUJBQW1CO2dCQUNuQixxQkFBcUI7Z0JBQ3JCLG1CQUFtQjtnQkFDbkIscUJBQXFCO2dCQUNyQixrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLFdBQVc7Z0JBQ1gsdUJBQXVCO2dCQUN2QixxQkFBcUI7Z0JBQ3JCLHFCQUFxQjtnQkFDckIsV0FBVztnQkFDWCxzQkFBc0I7Z0JBQ3RCLGFBQWE7Z0JBQ2Isb0JBQW9CO2dCQUNwQixhQUFhO2dCQUNiLG9CQUFvQjthQUNyQjtZQUNELElBQUksRUFBRTtnQkFDSixzQkFBc0I7YUFDdkI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQWtLRixDQUFDO0NBQ0Y7QUE5bENELGtDQThsQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3Jla29nbml0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hbWF6b25yZWtvZ25pdGlvbi5odG1sKS5cbiAqXG4gKiBAcGFyYW0gc2lkIFtTSURdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU