iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
957 lines • 100 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 {
/**
* 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
*/
constructor(sid) {
super(sid);
this.servicePrefix = 'transcribe';
this.accessLevelList = {
Write: [
'CreateCallAnalyticsCategory',
'CreateLanguageModel',
'CreateMedicalVocabulary',
'CreateVocabulary',
'CreateVocabularyFilter',
'DeleteCallAnalyticsCategory',
'DeleteCallAnalyticsJob',
'DeleteLanguageModel',
'DeleteMedicalScribeJob',
'DeleteMedicalTranscriptionJob',
'DeleteMedicalVocabulary',
'DeleteTranscriptionJob',
'DeleteVocabulary',
'DeleteVocabularyFilter',
'StartCallAnalyticsJob',
'StartCallAnalyticsStreamTranscription',
'StartCallAnalyticsStreamTranscriptionWebSocket',
'StartMedicalScribeJob',
'StartMedicalScribeStream',
'StartMedicalStreamTranscription',
'StartMedicalStreamTranscriptionWebSocket',
'StartMedicalTranscriptionJob',
'StartStreamTranscription',
'StartStreamTranscriptionWebSocket',
'StartTranscriptionJob',
'UpdateCallAnalyticsCategory',
'UpdateMedicalVocabulary',
'UpdateVocabulary',
'UpdateVocabularyFilter'
],
Read: [
'DescribeLanguageModel',
'GetCallAnalyticsCategory',
'GetCallAnalyticsJob',
'GetMedicalScribeJob',
'GetMedicalScribeStream',
'GetMedicalTranscriptionJob',
'GetMedicalVocabulary',
'GetTranscriptionJob',
'GetVocabulary',
'GetVocabularyFilter',
'ListTagsForResource'
],
List: [
'ListCallAnalyticsCategories',
'ListCallAnalyticsJobs',
'ListLanguageModels',
'ListMedicalScribeJobs',
'ListMedicalTranscriptionJobs',
'ListMedicalVocabularies',
'ListTranscriptionJobs',
'ListVocabularies',
'ListVocabularyFilters'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
/**
* 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
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* 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 get information about the specified AWS HealthScribe streaming session
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_GetMedicalScribeStream.html
*/
toGetMedicalScribeStream() {
return this.to('GetMedicalScribeStream');
}
/**
* 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()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* 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 bidirectional HTTP2 stream where audio is streamed to AWS HealthScribe and the transcription results are streamed to your application
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalScribeStream.html
*/
toStartMedicalScribeStream() {
return this.to('StartMedicalScribeStream');
}
/**
* 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.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onCallanalyticsjob(jobName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transcribe:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:analytics/${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.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
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:
* - .toCreateCallAnalyticsCategory()
* - .toCreateLanguageModel()
* - .toCreateMedicalVocabulary()
* - .toCreateVocabulary()
* - .toCreateVocabularyFilter()
* - .toStartCallAnalyticsJob()
* - .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
* - callanalyticsjob
* - callanalyticscategory
* - 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:
* - .toCreateCallAnalyticsCategory()
* - .toCreateLanguageModel()
* - .toCreateMedicalVocabulary()
* - .toCreateVocabulary()
* - .toCreateVocabularyFilter()
* - .toStartCallAnalyticsJob()
* - .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');
}
}
exports.Transcribe = Transcribe;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNjcmliZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRyYW5zY3JpYmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBRXpEOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSx3QkFBZTtJQUc3Qzs7OztPQUlHO0lBQ0gsWUFBWSxHQUFZO1FBQ3RCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQVJOLGtCQUFhLEdBQUcsWUFBWSxDQUFDO1FBbXBCMUIsb0JBQWUsR0FBb0I7WUFDM0MsS0FBSyxFQUFFO2dCQUNMLDZCQUE2QjtnQkFDN0IscUJBQXFCO2dCQUNyQix5QkFBeUI7Z0JBQ3pCLGtCQUFrQjtnQkFDbEIsd0JBQXdCO2dCQUN4Qiw2QkFBNkI7Z0JBQzdCLHdCQUF3QjtnQkFDeEIscUJBQXFCO2dCQUNyQix3QkFBd0I7Z0JBQ3hCLCtCQUErQjtnQkFDL0IseUJBQXlCO2dCQUN6Qix3QkFBd0I7Z0JBQ3hCLGtCQUFrQjtnQkFDbEIsd0JBQXdCO2dCQUN4Qix1QkFBdUI7Z0JBQ3ZCLHVDQUF1QztnQkFDdkMsZ0RBQWdEO2dCQUNoRCx1QkFBdUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsaUNBQWlDO2dCQUNqQywwQ0FBMEM7Z0JBQzFDLDhCQUE4QjtnQkFDOUIsMEJBQTBCO2dCQUMxQixtQ0FBbUM7Z0JBQ25DLHVCQUF1QjtnQkFDdkIsNkJBQTZCO2dCQUM3Qix5QkFBeUI7Z0JBQ3pCLGtCQUFrQjtnQkFDbEIsd0JBQXdCO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLHVCQUF1QjtnQkFDdkIsMEJBQTBCO2dCQUMxQixxQkFBcUI7Z0JBQ3JCLHFCQUFxQjtnQkFDckIsd0JBQXdCO2dCQUN4Qiw0QkFBNEI7Z0JBQzVCLHNCQUFzQjtnQkFDdEIscUJBQXFCO2dCQUNyQixlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIscUJBQXFCO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLDZCQUE2QjtnQkFDN0IsdUJB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RSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxrQkFBa0IsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQzlFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0ksMEJBQTBCLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUN0RixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxXQUFXLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUN2RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxnQkFBZ0IsQ0FBQyxLQUF3QixFQUFFLFFBQTRCO1FBQzVFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQXQvQkQsZ0NBcy9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbi8qKlxuICogU3RhdGVtZW50IHByb3ZpZGVyIGZvciBzZXJ2aWNlIFt0cmFuc2NyaWJlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb2