UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

916 lines 96.5 kB
"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