cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
916 lines • 96.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Transcribe = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [transcribe](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Transcribe extends shared_1.PolicyStatement {
/**
* Grants permission to create an analytics category. Amazon Transcribe applies the conditions specified by your analytics categories to your call analytics jobs
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateCallAnalyticsCategory.html
*/
toCreateCallAnalyticsCategory() {
return this.to('CreateCallAnalyticsCategory');
}
/**
* Grants permission to create a new custom language model
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
* - s3:ListBucket
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateLanguageModel.html
*/
toCreateLanguageModel() {
return this.to('CreateLanguageModel');
}
/**
* Grants permission to create a new custom vocabulary that you can use to change the way Amazon Transcribe Medical handles transcription of an audio file
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateMedicalVocabulary.html
*/
toCreateMedicalVocabulary() {
return this.to('CreateMedicalVocabulary');
}
/**
* Grants permission to create a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateVocabulary.html
*/
toCreateVocabulary() {
return this.to('CreateVocabulary');
}
/**
* Grants permission to create a new vocabulary filter that you can use to filter out words from the transcription of an audio file generated by Amazon Transcribe
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateVocabularyFilter.html
*/
toCreateVocabularyFilter() {
return this.to('CreateVocabularyFilter');
}
/**
* Grants permission to delete a call analytics category using its name from Amazon Transcribe
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteCallAnalyticsCategory.html
*/
toDeleteCallAnalyticsCategory() {
return this.to('DeleteCallAnalyticsCategory');
}
/**
* Grants permission to delete a previously submitted call analytics job along with any other generated results such as the transcription, models, and so on
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteCallAnalyticsJob.html
*/
toDeleteCallAnalyticsJob() {
return this.to('DeleteCallAnalyticsJob');
}
/**
* Grants permission to delete a previously created custom language model
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteLanguageModel.html
*/
toDeleteLanguageModel() {
return this.to('DeleteLanguageModel');
}
/**
* Grants permission to delete a previously submitted Medical Scribe job
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteMedicalScribeJob.html
*/
toDeleteMedicalScribeJob() {
return this.to('DeleteMedicalScribeJob');
}
/**
* Grants permission to delete a previously submitted medical transcription job
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteMedicalTranscriptionJob.html
*/
toDeleteMedicalTranscriptionJob() {
return this.to('DeleteMedicalTranscriptionJob');
}
/**
* Grants permission to delete a medical vocabulary from Amazon Transcribe
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteMedicalVocabulary.html
*/
toDeleteMedicalVocabulary() {
return this.to('DeleteMedicalVocabulary');
}
/**
* Grants permission to delete a previously submitted transcription job along with any other generated results such as the transcription, models, and so on
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteTranscriptionJob.html
*/
toDeleteTranscriptionJob() {
return this.to('DeleteTranscriptionJob');
}
/**
* Grants permission to delete a vocabulary from Amazon Transcribe
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteVocabulary.html
*/
toDeleteVocabulary() {
return this.to('DeleteVocabulary');
}
/**
* Grants permission to delete a vocabulary filter from Amazon Transcribe
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DeleteVocabularyFilter.html
*/
toDeleteVocabularyFilter() {
return this.to('DeleteVocabularyFilter');
}
/**
* Grants permission to return information about a custom language model
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_DescribeLanguageModel.html
*/
toDescribeLanguageModel() {
return this.to('DescribeLanguageModel');
}
/**
* Grants permission to retrieve information about a call analytics category
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetCallAnalyticsCategory.html
*/
toGetCallAnalyticsCategory() {
return this.to('GetCallAnalyticsCategory');
}
/**
* Grants permission to return information about a call analytics job
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetCallAnalyticsJob.html
*/
toGetCallAnalyticsJob() {
return this.to('GetCallAnalyticsJob');
}
/**
* Grants permission to return information about a Medical Scribe job
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetMedicalScribeJob.html
*/
toGetMedicalScribeJob() {
return this.to('GetMedicalScribeJob');
}
/**
* Grants permission to return information about a medical transcription job
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetMedicalTranscriptionJob.html
*/
toGetMedicalTranscriptionJob() {
return this.to('GetMedicalTranscriptionJob');
}
/**
* Grants permission to get information about a medical vocabulary
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetMedicalVocabulary.html
*/
toGetMedicalVocabulary() {
return this.to('GetMedicalVocabulary');
}
/**
* Grants permission to return information about a transcription job
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetTranscriptionJob.html
*/
toGetTranscriptionJob() {
return this.to('GetTranscriptionJob');
}
/**
* Grants permission to to get information about a vocabulary
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetVocabulary.html
*/
toGetVocabulary() {
return this.to('GetVocabulary');
}
/**
* Grants permission to get information about a vocabulary filter
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_GetVocabularyFilter.html
*/
toGetVocabularyFilter() {
return this.to('GetVocabularyFilter');
}
/**
* Grants permission to list call analytics categories that has been created
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListCallAnalyticsCategories.html
*/
toListCallAnalyticsCategories() {
return this.to('ListCallAnalyticsCategories');
}
/**
* Grants permission to list call analytics jobs with the specified status
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListCallAnalyticsJobs.html
*/
toListCallAnalyticsJobs() {
return this.to('ListCallAnalyticsJobs');
}
/**
* Grants permission to list custom language models
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListLanguageModels.html
*/
toListLanguageModels() {
return this.to('ListLanguageModels');
}
/**
* Grants permission to list Medical Scribe jobs with the specified status
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListMedicalScribeJobs.html
*/
toListMedicalScribeJobs() {
return this.to('ListMedicalScribeJobs');
}
/**
* Grants permission to list medical transcription jobs with the specified status
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListMedicalTranscriptionJobs.html
*/
toListMedicalTranscriptionJobs() {
return this.to('ListMedicalTranscriptionJobs');
}
/**
* Grants permission to return a list of medical vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListMedicalVocabularies.html
*/
toListMedicalVocabularies() {
return this.to('ListMedicalVocabularies');
}
/**
* Grants permission to list tags for a resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to list transcription jobs with the specified status
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListTranscriptionJobs.html
*/
toListTranscriptionJobs() {
return this.to('ListTranscriptionJobs');
}
/**
* Grants permission to return a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListVocabularies.html
*/
toListVocabularies() {
return this.to('ListVocabularies');
}
/**
* Grants permission to return a list of vocabulary filters that match the specified criteria. If no criteria are specified, returns the at most 5 vocabulary filters
*
* Access Level: List
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_ListVocabularyFilters.html
*/
toListVocabularyFilters() {
return this.to('ListVocabularyFilters');
}
/**
* Grants permission to start an asynchronous analytics job that not only transcribes the audio recording of a caller and agent, but also returns additional insights
*
* Access Level: Write
*
* Possible conditions:
* - .ifOutputEncryptionKMSKeyId()
* - .ifOutputLocation()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_StartCallAnalyticsJob.html
*/
toStartCallAnalyticsJob() {
return this.to('StartCallAnalyticsJob');
}
/**
* Grants permission to start a protocol where audio is streamed to Transcribe Call Analytics and the transcription results are streamed to your application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartCallAnalyticsStreamTranscription.html
*/
toStartCallAnalyticsStreamTranscription() {
return this.to('StartCallAnalyticsStreamTranscription');
}
/**
* Grants permission to start a WebSocket where audio is streamed to Transcribe Call Analytics and the transcription results are streamed to your application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartCallAnalyticsStreamTranscriptionWebSocket.html
*/
toStartCallAnalyticsStreamTranscriptionWebSocket() {
return this.to('StartCallAnalyticsStreamTranscriptionWebSocket');
}
/**
* Grants permission to start an asynchronous job to transcribe patient-clinician conversations and generates clinical notes
*
* Access Level: Write
*
* Possible conditions:
* - .ifOutputBucketName()
* - .ifOutputEncryptionKMSKeyId()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_StartMedicalScribeJob.html
*/
toStartMedicalScribeJob() {
return this.to('StartMedicalScribeJob');
}
/**
* Grants permission to start a protocol where audio is streamed to Transcribe Medical and the transcription results are streamed to your application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html
*/
toStartMedicalStreamTranscription() {
return this.to('StartMedicalStreamTranscription');
}
/**
* Grants permission to start a WebSocket where audio is streamed to Transcribe Medical and the transcription results are streamed to your application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscriptionWebSocket.html
*/
toStartMedicalStreamTranscriptionWebSocket() {
return this.to('StartMedicalStreamTranscriptionWebSocket');
}
/**
* Grants permission to start an asynchronous job to transcribe medical speech to text
*
* Access Level: Write
*
* Possible conditions:
* - .ifOutputBucketName()
* - .ifOutputEncryptionKMSKeyId()
* - .ifOutputKey()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_StartMedicalTranscriptionJob.html
*/
toStartMedicalTranscriptionJob() {
return this.to('StartMedicalTranscriptionJob');
}
/**
* Grants permission to start a bidirectional HTTP2 stream to transcribe speech to text in real time
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html
*/
toStartStreamTranscription() {
return this.to('StartStreamTranscription');
}
/**
* Grants permission to start a websocket stream to transcribe speech to text in real time
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscriptionWebSocket.html
*/
toStartStreamTranscriptionWebSocket() {
return this.to('StartStreamTranscriptionWebSocket');
}
/**
* Grants permission to start an asynchronous job to transcribe speech to text
*
* Access Level: Write
*
* Possible conditions:
* - .ifOutputBucketName()
* - .ifOutputEncryptionKMSKeyId()
* - .ifOutputKey()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_StartTranscriptionJob.html
*/
toStartTranscriptionJob() {
return this.to('StartTranscriptionJob');
}
/**
* Grants permission to tag a resource with given key value pairs
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to untag a resource with given key
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update the call analytics category with new values. The UpdateCallAnalyticsCategory operation overwrites all of the existing information with the values that you provide in the request
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_UpdateCallAnalyticsCategory.html
*/
toUpdateCallAnalyticsCategory() {
return this.to('UpdateCallAnalyticsCategory');
}
/**
* Grants permission to update an existing medical vocabulary with new values. The UpdateMedicalVocabulary operation overwrites all of the existing information with the values that you provide in the request
*
* Access Level: Write
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_UpdateMedicalVocabulary.html
*/
toUpdateMedicalVocabulary() {
return this.to('UpdateMedicalVocabulary');
}
/**
* Grants permission to update an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request
*
* Access Level: Write
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_UpdateVocabulary.html
*/
toUpdateVocabulary() {
return this.to('UpdateVocabulary');
}
/**
* Grants permission to update an existing vocabulary filter with new values. The UpdateVocabularyFilter operation overwrites all of the existing information with the values that you provide in the request
*
* Access Level: Write
*
* Dependent actions:
* - s3:GetObject
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_UpdateVocabularyFilter.html
*/
toUpdateVocabularyFilter() {
return this.to('UpdateVocabularyFilter');
}
/**
* Adds a resource of type transcriptionjob to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_TranscriptionJob.html
*
* @param jobName - Identifier for the jobName.
* @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()
*/
onTranscriptionjob(jobName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:transcription-job/${jobName}`);
}
/**
* Adds a resource of type vocabulary to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateVocabulary.html
*
* @param vocabularyName - Identifier for the vocabularyName.
* @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()
*/
onVocabulary(vocabularyName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:vocabulary/${vocabularyName}`);
}
/**
* Adds a resource of type vocabularyfilter to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateVocabularyFilter.html
*
* @param vocabularyFilterName - Identifier for the vocabularyFilterName.
* @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()
*/
onVocabularyfilter(vocabularyFilterName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:vocabulary-filter/${vocabularyFilterName}`);
}
/**
* Adds a resource of type languagemodel to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_LanguageModel.html
*
* @param modelName - Identifier for the modelName.
* @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()
*/
onLanguagemodel(modelName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:language-model/${modelName}`);
}
/**
* Adds a resource of type medicaltranscriptionjob to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_MedicalTranscriptionJob.html
*
* @param jobName - Identifier for the jobName.
* @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()
*/
onMedicaltranscriptionjob(jobName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:medical-transcription-job/${jobName}`);
}
/**
* Adds a resource of type medicalvocabulary to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateMedicalVocabulary.html
*
* @param vocabularyName - Identifier for the vocabularyName.
* @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()
*/
onMedicalvocabulary(vocabularyName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:medical-vocabulary/${vocabularyName}`);
}
/**
* Adds a resource of type callanalyticsjob to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CallAnalyticsJob.html
*
* @param jobName - Identifier for the jobName.
* @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.
*/
onCallanalyticsjob(jobName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:analytics-job/${jobName}`);
}
/**
* Adds a resource of type callanalyticscategory to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_CreateCallAnalyticsCategory.html
*
* @param categoryName - Identifier for the categoryName.
* @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.
*/
onCallanalyticscategory(categoryName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:analytics-category/${categoryName}`);
}
/**
* Adds a resource of type medicalscribejob to the statement
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_MedicalScribeJob.html
*
* @param jobName - Identifier for the jobName.
* @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()
*/
onMedicalscribejob(jobName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:medical-scribe-job/${jobName}`);
}
/**
* Filters access by requiring tag values present in a resource creation request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-globally-available
*
* Applies to actions:
* - .toCreateLanguageModel()
* - .toCreateMedicalVocabulary()
* - .toCreateVocabulary()
* - .toCreateVocabularyFilter()
* - .toStartMedicalScribeJob()
* - .toStartMedicalTranscriptionJob()
* - .toStartTranscriptionJob()
* - .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 requiring tag value associated with the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-globally-available
*
* Applies to resource types:
* - transcriptionjob
* - vocabulary
* - vocabularyfilter
* - languagemodel
* - medicaltranscriptionjob
* - medicalvocabulary
* - medicalscribejob
*
* @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 requiring the presence of mandatory tags in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-globally-available
*
* Applies to actions:
* - .toCreateLanguageModel()
* - .toCreateMedicalVocabulary()
* - .toCreateVocabulary()
* - .toCreateVocabularyFilter()
* - .toStartMedicalScribeJob()
* - .toStartMedicalTranscriptionJob()
* - .toStartTranscriptionJob()
* - .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');
}
/**
* Filters access based on the output bucket name included in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazontranscribe.html#amazontranscribe-policy-keys
*
* Applies to actions:
* - .toStartMedicalScribeJob()
* - .toStartMedicalTranscriptionJob()
* - .toStartTranscriptionJob()
*
* @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`
*/
ifOutputBucketName(value, operator) {
return this.if(`OutputBucketName`, value, operator ?? 'StringLike');
}
/**
* Filters access based on the KMS key id included in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazontranscribe.html#amazontranscribe-policy-keys
*
* Applies to actions:
* - .toStartCallAnalyticsJob()
* - .toStartMedicalScribeJob()
* - .toStartMedicalTranscriptionJob()
* - .toStartTranscriptionJob()
*
* @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`
*/
ifOutputEncryptionKMSKeyId(value, operator) {
return this.if(`OutputEncryptionKMSKeyId`, value, operator ?? 'StringLike');
}
/**
* Filters access based on the output key included in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazontranscribe.html#amazontranscribe-policy-keys
*
* Applies to actions:
* - .toStartMedicalTranscriptionJob()
* - .toStartTranscriptionJob()
*
* @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`
*/
ifOutputKey(value, operator) {
return this.if(`OutputKey`, value, operator ?? 'StringLike');
}
/**
* Filters access based on the output location included in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazontranscribe.html#amazontranscribe-policy-keys
*
* Applies to actions:
* - .toStartCallAnalyticsJob()
*
* @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`
*/
ifOutputLocation(value, operator) {
return this.if(`OutputLocation`, value, operator ?? 'StringLike');
}
/**
* Statement provider for service [transcribe](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'transcribe';
this.accessLevelList = {
Write: [
'CreateCallAnalyticsCategory',
'CreateLanguageModel',
'CreateMedicalVocabulary',
'CreateVocabulary',
'CreateVocabularyFilter',
'DeleteCallAnalyticsCategory',
'DeleteCallAnalyticsJob',
'DeleteLanguageModel',
'DeleteMedicalScribeJob',
'DeleteMedicalTranscriptionJob',
'DeleteMedicalVocabulary',
'DeleteTranscriptionJob',
'DeleteVocabulary',
'DeleteVocabularyFilter',
'StartCallAnalyticsJob',
'StartCallAnalyticsStreamTranscription',
'StartCallAnalyticsStreamTranscriptionWebSocket',
'StartMedicalScribeJob',
'StartMedicalStreamTranscription',
'StartMedicalStreamTranscriptionWebSocket',
'StartMedicalTranscriptionJob',
'StartStreamTranscription',
'StartStreamTranscriptionWebSocket',
'StartTranscriptionJob',
'UpdateCallAnalyticsCategory',
'UpdateMedicalVocabulary',
'UpdateVocabulary',
'UpdateVocabularyFilter'
],
Read: [
'DescribeLanguageModel',
'GetCallAnalyticsCategory',
'GetCallAnalyticsJob',
'GetMedicalScribeJob',
'GetMedicalTranscriptionJob',
'GetMedicalVocabulary',
'GetTranscriptionJob',
'GetVocabulary',
'GetVocabularyFilter',
'ListTagsForResource'
],
List: [
'ListCallAnalyticsCategories',
'ListCallAnalyticsJobs',
'ListLanguageModels',
'ListMedicalScribeJobs',
'ListMedicalTranscriptionJobs',
'ListMedicalVocabularies',
'ListTranscriptionJobs',
'ListVocabularies',
'ListVocabularyFilters'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
}
exports.Transcribe = Transcribe;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNjcmliZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRyYW5zY3JpYmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSx3QkFBZTtJQUc3Qzs7Ozs7O09BTUc7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0ksd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFB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NkI7Z0JBQzdCLHlCQUF5QjtnQkFDekIsa0JBQWtCO2dCQUNsQix3QkFBd0I7YUFDekI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osdUJBQXVCO2dCQUN2QiwwQkFBMEI7Z0JBQzFCLHFCQUFxQjtnQkFDckIscUJBQXFCO2dCQUNyQiw0QkFBNEI7Z0JBQzVCLHNCQUFzQjtnQkFDdEIscUJBQXFCO2dCQUNyQixlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDZCQUE2QjtnQkFDN0IsdUJBQXVCO2dCQUN2QixvQkFBb0I7Z0JBQ3BCLHVCQUF1QjtnQkFDdkIsOEJBQThCO2dCQUM5Qix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQix1QkFBdUI7YUFDeEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQWlTRixDQUFDO0NBQ0Y7QUEzOEJELGdDQTI4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3RyYW5zY3JpYmVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2FtYXpvbnRyYW5zY3JpYmUuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2NyaWJlIGV4dGVuZHMgUG9saWN5U3RhdGVtZW50IHtcbiAgcHVibGljIHNlcnZpY2VQcmVmaXggPSAndHJhbnNjcmliZSc7XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhbiBhbmFseXRpY3MgY2F0ZWdvcnkuIEFtYXpvbiBUcmFuc2NyaWJlIGFwcGxpZXMgdGhlIGNvbmRpdGlvbnMgc3BlY2lmaWVkIGJ5IHlvdXIgYW5hbHl0aWNzIGNhdGVnb3JpZXMgdG8geW91ciBjYWxsIGFuYWx5dGljcyBqb2JzXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zY3JpYmUvbGF0ZXN0L2RnL0FQSV9DcmVhdGVDYWxsQW5hbHl0aWNzQ2F0ZWdvcnkuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlQ2FsbEFuYWx5dGljc0NhdGVnb3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVDYWxsQW5hbHl0aWNzQ2F0ZWdvcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBuZXcgY3VzdG9tIGxhbmd1YWdlIG1vZGVsXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogRGVwZW5kZW50IGFjdGlvbnM6XG4gICAqIC0gczM6R2V0T2JqZWN0XG4gICAqIC0gczM6TGlzdEJ1Y2tldFxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNjcmliZS9sYXRlc3QvZGcvQVBJX0NyZWF0ZUxhbmd1YWdlTW9kZWwuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlTGFuZ3VhZ2VNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlTGFuZ3VhZ2VNb2RlbCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIG5ldyBjdXN0b20gdm9jYWJ1bGFyeSB0aGF0IHlvdSBjYW4gdXNlIHRvIGNoYW5nZSB0aGUgd2F5IEFt