import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement } from '../shared' ; param sid export class Polly extends PolicyStatement { public servicePrefix = 'polly' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permissions to delete the specified pronunciation lexicon stored in an AWS Region
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_DeleteLexicon.html
     */ public toDeleteLexicon ( ) { return this . to ( 'DeleteLexicon' ) ; } /**
     * Grants permissions to describe the list of voices that are available for use when requesting speech synthesis
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_DescribeVoices.html
     */ public toDescribeVoices ( ) { return this . to ( 'DescribeVoices' ) ; } /**
     * Grants permissions to retrieve the content of the specified pronunciation lexicon stored in an AWS Region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_GetLexicon.html
     */ public toGetLexicon ( ) { return this . to ( 'GetLexicon' ) ; } /**
     * Grants permissions to get information about specific speech synthesis task
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_GetSpeechSynthesisTask.html
     */ public toGetSpeechSynthesisTask ( ) { return this . to ( 'GetSpeechSynthesisTask' ) ; } /**
     * Grants permisions to list the pronunciation lexicons stored in an AWS Region
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_ListLexicons.html
     */ public toListLexicons ( ) { return this . to ( 'ListLexicons' ) ; } /**
     * Grants permissions to list requested speech synthesis tasks
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_ListSpeechSynthesisTasks.html
     */ public toListSpeechSynthesisTasks ( ) { return this . to ( 'ListSpeechSynthesisTasks' ) ; } /**
     * Grants permissions to store a pronunciation lexicon in an AWS Region
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_PutLexicon.html
     */ public toPutLexicon ( ) { return this . to ( 'PutLexicon' ) ; } /**
     * Grants permissions to synthesize long inputs to the provided S3 location
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - s3:PutObject
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_StartSpeechSynthesisTask.html
     */ public toStartSpeechSynthesisTask ( ) { return this . to ( 'StartSpeechSynthesisTask' ) ; } /**
     * Grants permissions to synthesize speech
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html
     */ public toSynthesizeSpeech ( ) { return this . to ( 'SynthesizeSpeech' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'DeleteLexicon' , 'PutLexicon' , 'StartSpeechSynthesisTask' ] , List : [ 'DescribeVoices' , 'ListLexicons' , 'ListSpeechSynthesisTasks' ] , Read : [ 'GetLexicon' , 'GetSpeechSynthesisTask' , 'SynthesizeSpeech' ] } ; param lexiconName param account param region param partition public onLexicon ( lexiconName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:polly:${ region || '*' }:${ account || '*' }:lexicon/${ lexiconName }` ) ; } }