import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Lookoutvision extends PolicyStatement { public servicePrefix = 'lookoutvision' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to create a dataset manifest
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_CreateDataset.html
     */ public toCreateDataset ( ) { return this . to ( 'CreateDataset' ) ; } /**
     * Grants permission to create a new anomaly detection model
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_CreateModel.html
     */ public toCreateModel ( ) { return this . to ( 'CreateModel' ) ; } /**
     * Grants permission to create a new project
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_CreateProject.html
     */ public toCreateProject ( ) { return this . to ( 'CreateProject' ) ; } /**
     * Grants permission to delete a dataset
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DeleteDataset.html
     */ public toDeleteDataset ( ) { return this . to ( 'DeleteDataset' ) ; } /**
     * Grants permission to delete a model and all associated assets
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DeleteModel.html
     */ public toDeleteModel ( ) { return this . to ( 'DeleteModel' ) ; } /**
     * Grants permission to permanently remove a project
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DeleteProject.html
     */ public toDeleteProject ( ) { return this . to ( 'DeleteProject' ) ; } /**
     * Grants permission to show detailed information about dataset manifest
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DescribeDataset.html
     */ public toDescribeDataset ( ) { return this . to ( 'DescribeDataset' ) ; } /**
     * Grants permission to show detailed information about a model
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DescribeModel.html
     */ public toDescribeModel ( ) { return this . to ( 'DescribeModel' ) ; } /**
     * Grants permission to show detailed information about a model packaging job
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DescribeModelPackagingJob.html
     */ public toDescribeModelPackagingJob ( ) { return this . to ( 'DescribeModelPackagingJob' ) ; } /**
     * Grants permission to show detailed information about a project
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DescribeProject.html
     */ public toDescribeProject ( ) { return this . to ( 'DescribeProject' ) ; } /**
     * Grants permission to provides state information about a running anomaly detection job
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/developer-guide/trial-detection.html
     */ public toDescribeTrialDetection ( ) { return this . to ( 'DescribeTrialDetection' ) ; } /**
     * Grants permission to invoke detection of anomalies
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_DetectAnomalies.html
     */ public toDetectAnomalies ( ) { return this . to ( 'DetectAnomalies' ) ; } /**
     * Grants permission to list the contents of dataset manifest
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_ListDatasetEntries.html
     */ public toListDatasetEntries ( ) { return this . to ( 'ListDatasetEntries' ) ; } /**
     * Grants permission to list all model packaging jobs associated with a project
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_ListModelPackagingJobs.html
     */ public toListModelPackagingJobs ( ) { return this . to ( 'ListModelPackagingJobs' ) ; } /**
     * Grants permission to list all models associated with a project
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_ListModels.html
     */ public toListModels ( ) { return this . to ( 'ListModels' ) ; } /**
     * Grants permission to list all projects
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_ListProjects.html
     */ public toListProjects ( ) { return this . to ( 'ListProjects' ) ; } /**
     * Grant permission to list tags for a resource
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to list all anomaly detection jobs
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/developer-guide/trial-detection.html
     */ public toListTrialDetections ( ) { return this . to ( 'ListTrialDetections' ) ; } /**
     * Grants permission to start anomaly detection model
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_StartModel.html
     */ public toStartModel ( ) { return this . to ( 'StartModel' ) ; } /**
     * Grants permission to start a model packaging job
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_StartModelPackagingJob.html
     */ public toStartModelPackagingJob ( ) { return this . to ( 'StartModelPackagingJob' ) ; } /**
     * Grants permission to start bulk detection of anomalies for a set of images stored in an S3 bucket
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/developer-guide/trial-detection.html
     */ public toStartTrialDetection ( ) { return this . to ( 'StartTrialDetection' ) ; } /**
     * Grants permission to stop anomaly detection model
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_StopModel.html
     */ public toStopModel ( ) { return this . to ( 'StopModel' ) ; } /**
     * Grant permission to tag a resource with given key value pairs
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grant permission to remove the tag with the given key from a resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_UntagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to update a training or test dataset manifest
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/lookout-for-vision/latest/APIReference/API_UpdateDatasetEntries.html
     */ public toUpdateDatasetEntries ( ) { return this . to ( 'UpdateDatasetEntries' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'CreateDataset' , 'CreateModel' , 'CreateProject' , 'DeleteDataset' , 'DeleteModel' , 'DeleteProject' , 'DetectAnomalies' , 'StartModel' , 'StartModelPackagingJob' , 'StartTrialDetection' , 'StopModel' , 'UpdateDatasetEntries' ] , Read : [ 'DescribeDataset' , 'DescribeModel' , 'DescribeModelPackagingJob' , 'DescribeProject' , 'DescribeTrialDetection' , 'ListDatasetEntries' , 'ListTagsForResource' ] , List : [ 'ListModelPackagingJobs' , 'ListModels' , 'ListProjects' , 'ListTrialDetections' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param projectName param modelVersion param account param region param partition public onModel ( projectName , modelVersion , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lookoutvision:${ region || '*' }:${ account || '*' }:model/${ projectName }/${ modelVersion }` ) ; } param projectName param account param region param partition public onProject ( projectName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:lookoutvision:${ region || '*' }:${ account || '*' }:project/${ projectName }` ) ; } }