/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace TranscribeService { namespace Model { /** */ class AWS_TRANSCRIBESERVICE_API StartTranscriptionJobRequest : public TranscribeServiceRequest { public: StartTranscriptionJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartTranscriptionJob"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline const Aws::String& GetTranscriptionJobName() const{ return m_transcriptionJobName; } /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline bool TranscriptionJobNameHasBeenSet() const { return m_transcriptionJobNameHasBeenSet; } /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline void SetTranscriptionJobName(const Aws::String& value) { m_transcriptionJobNameHasBeenSet = true; m_transcriptionJobName = value; } /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline void SetTranscriptionJobName(Aws::String&& value) { m_transcriptionJobNameHasBeenSet = true; m_transcriptionJobName = std::move(value); } /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline void SetTranscriptionJobName(const char* value) { m_transcriptionJobNameHasBeenSet = true; m_transcriptionJobName.assign(value); } /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline StartTranscriptionJobRequest& WithTranscriptionJobName(const Aws::String& value) { SetTranscriptionJobName(value); return *this;} /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline StartTranscriptionJobRequest& WithTranscriptionJobName(Aws::String&& value) { SetTranscriptionJobName(std::move(value)); return *this;} /** *

The name of the job. You can't use the strings "." or * ".." by themselves as the job name. The name must also be unique * within an AWS account. If you try to create a transcription job with the same * name as a previous transcription job, you get a ConflictException * error.

*/ inline StartTranscriptionJobRequest& WithTranscriptionJobName(const char* value) { SetTranscriptionJobName(value); return *this;} /** *

The language code for the language used in the input media file.

*/ inline const LanguageCode& GetLanguageCode() const{ return m_languageCode; } /** *

The language code for the language used in the input media file.

*/ inline bool LanguageCodeHasBeenSet() const { return m_languageCodeHasBeenSet; } /** *

The language code for the language used in the input media file.

*/ inline void SetLanguageCode(const LanguageCode& value) { m_languageCodeHasBeenSet = true; m_languageCode = value; } /** *

The language code for the language used in the input media file.

*/ inline void SetLanguageCode(LanguageCode&& value) { m_languageCodeHasBeenSet = true; m_languageCode = std::move(value); } /** *

The language code for the language used in the input media file.

*/ inline StartTranscriptionJobRequest& WithLanguageCode(const LanguageCode& value) { SetLanguageCode(value); return *this;} /** *

The language code for the language used in the input media file.

*/ inline StartTranscriptionJobRequest& WithLanguageCode(LanguageCode&& value) { SetLanguageCode(std::move(value)); return *this;} /** *

The sample rate, in Hertz, of the audio track in the input media file.

*

If you do not specify the media sample rate, Amazon Transcribe determines the * sample rate. If you specify the sample rate, it must match the sample rate * detected by Amazon Transcribe. In most cases, you should leave the * MediaSampleRateHertz field blank and let Amazon Transcribe * determine the sample rate.

*/ inline int GetMediaSampleRateHertz() const{ return m_mediaSampleRateHertz; } /** *

The sample rate, in Hertz, of the audio track in the input media file.

*

If you do not specify the media sample rate, Amazon Transcribe determines the * sample rate. If you specify the sample rate, it must match the sample rate * detected by Amazon Transcribe. In most cases, you should leave the * MediaSampleRateHertz field blank and let Amazon Transcribe * determine the sample rate.

*/ inline bool MediaSampleRateHertzHasBeenSet() const { return m_mediaSampleRateHertzHasBeenSet; } /** *

The sample rate, in Hertz, of the audio track in the input media file.

*

If you do not specify the media sample rate, Amazon Transcribe determines the * sample rate. If you specify the sample rate, it must match the sample rate * detected by Amazon Transcribe. In most cases, you should leave the * MediaSampleRateHertz field blank and let Amazon Transcribe * determine the sample rate.

*/ inline void SetMediaSampleRateHertz(int value) { m_mediaSampleRateHertzHasBeenSet = true; m_mediaSampleRateHertz = value; } /** *

The sample rate, in Hertz, of the audio track in the input media file.

*

If you do not specify the media sample rate, Amazon Transcribe determines the * sample rate. If you specify the sample rate, it must match the sample rate * detected by Amazon Transcribe. In most cases, you should leave the * MediaSampleRateHertz field blank and let Amazon Transcribe * determine the sample rate.

*/ inline StartTranscriptionJobRequest& WithMediaSampleRateHertz(int value) { SetMediaSampleRateHertz(value); return *this;} /** *

The format of the input media file.

*/ inline const MediaFormat& GetMediaFormat() const{ return m_mediaFormat; } /** *

The format of the input media file.

*/ inline bool MediaFormatHasBeenSet() const { return m_mediaFormatHasBeenSet; } /** *

The format of the input media file.

*/ inline void SetMediaFormat(const MediaFormat& value) { m_mediaFormatHasBeenSet = true; m_mediaFormat = value; } /** *

The format of the input media file.

*/ inline void SetMediaFormat(MediaFormat&& value) { m_mediaFormatHasBeenSet = true; m_mediaFormat = std::move(value); } /** *

The format of the input media file.

*/ inline StartTranscriptionJobRequest& WithMediaFormat(const MediaFormat& value) { SetMediaFormat(value); return *this;} /** *

The format of the input media file.

*/ inline StartTranscriptionJobRequest& WithMediaFormat(MediaFormat&& value) { SetMediaFormat(std::move(value)); return *this;} /** *

An object that describes the input media for a transcription job.

*/ inline const Media& GetMedia() const{ return m_media; } /** *

An object that describes the input media for a transcription job.

*/ inline bool MediaHasBeenSet() const { return m_mediaHasBeenSet; } /** *

An object that describes the input media for a transcription job.

*/ inline void SetMedia(const Media& value) { m_mediaHasBeenSet = true; m_media = value; } /** *

An object that describes the input media for a transcription job.

*/ inline void SetMedia(Media&& value) { m_mediaHasBeenSet = true; m_media = std::move(value); } /** *

An object that describes the input media for a transcription job.

*/ inline StartTranscriptionJobRequest& WithMedia(const Media& value) { SetMedia(value); return *this;} /** *

An object that describes the input media for a transcription job.

*/ inline StartTranscriptionJobRequest& WithMedia(Media&& value) { SetMedia(std::move(value)); return *this;} /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline const Aws::String& GetOutputBucketName() const{ return m_outputBucketName; } /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline bool OutputBucketNameHasBeenSet() const { return m_outputBucketNameHasBeenSet; } /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline void SetOutputBucketName(const Aws::String& value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName = value; } /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline void SetOutputBucketName(Aws::String&& value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName = std::move(value); } /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline void SetOutputBucketName(const char* value) { m_outputBucketNameHasBeenSet = true; m_outputBucketName.assign(value); } /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline StartTranscriptionJobRequest& WithOutputBucketName(const Aws::String& value) { SetOutputBucketName(value); return *this;} /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline StartTranscriptionJobRequest& WithOutputBucketName(Aws::String&& value) { SetOutputBucketName(std::move(value)); return *this;} /** *

The location where the transcription is stored.

If you set the * OutputBucketName, Amazon Transcribe puts the transcript in the * specified S3 bucket. When you call the GetTranscriptionJob operation, the * operation returns this location in the TranscriptFileUri field. If * you enable content redaction, the redacted transcript appears in * RedactedTranscriptFileUri. If you enable content redaction and * choose to output an unredacted transcript, that transcript's location still * appears in the TranscriptFileUri. The S3 bucket must have * permissions that allow Amazon Transcribe to put files in the bucket. For more * information, see Permissions * Required for IAM User Roles.

You can specify an AWS Key Management * Service (KMS) key to encrypt the output of your transcription using the * OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, * Amazon Transcribe uses the default Amazon S3 key for server-side encryption of * transcripts that are placed in your S3 bucket.

If you don't set the * OutputBucketName, Amazon Transcribe generates a pre-signed URL, a * shareable URL that provides secure access to your transcription, and returns it * in the TranscriptFileUri field. Use this URL to download the * transcription.

*/ inline StartTranscriptionJobRequest& WithOutputBucketName(const char* value) { SetOutputBucketName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline const Aws::String& GetOutputEncryptionKMSKeyId() const{ return m_outputEncryptionKMSKeyId; } /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline bool OutputEncryptionKMSKeyIdHasBeenSet() const { return m_outputEncryptionKMSKeyIdHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline void SetOutputEncryptionKMSKeyId(const Aws::String& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = value; } /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline void SetOutputEncryptionKMSKeyId(Aws::String&& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = std::move(value); } /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline void SetOutputEncryptionKMSKeyId(const char* value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId.assign(value); } /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline StartTranscriptionJobRequest& WithOutputEncryptionKMSKeyId(const Aws::String& value) { SetOutputEncryptionKMSKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline StartTranscriptionJobRequest& WithOutputEncryptionKMSKeyId(Aws::String&& value) { SetOutputEncryptionKMSKeyId(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key * used to encrypt the output of the transcription job. The user calling the * StartTranscriptionJob operation must have permission to use the * specified KMS key.

You can use either of the following to identify a KMS * key in the current account:

  • KMS Key ID: * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • KMS Key Alias: * "alias/ExampleAlias"

You can use either of the following to * identify a KMS key in the current account or another account:

  • *

    Amazon Resource Name (ARN) of a KMS Key: "arn:aws:kms:region:account * ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"

  • ARN of a KMS Key * Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"

If * you don't specify an encryption key, the output of the transcription job is * encrypted with the default Amazon S3 key (SSE-S3).

If you specify a KMS * key to encrypt your output, you must also specify an output location in the * OutputBucketName parameter.

*/ inline StartTranscriptionJobRequest& WithOutputEncryptionKMSKeyId(const char* value) { SetOutputEncryptionKMSKeyId(value); return *this;} /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline const Settings& GetSettings() const{ return m_settings; } /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline void SetSettings(const Settings& value) { m_settingsHasBeenSet = true; m_settings = value; } /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline void SetSettings(Settings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline StartTranscriptionJobRequest& WithSettings(const Settings& value) { SetSettings(value); return *this;} /** *

A Settings object that provides optional settings for a * transcription job.

*/ inline StartTranscriptionJobRequest& WithSettings(Settings&& value) { SetSettings(std::move(value)); return *this;} /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline const ModelSettings& GetModelSettings() const{ return m_modelSettings; } /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline bool ModelSettingsHasBeenSet() const { return m_modelSettingsHasBeenSet; } /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline void SetModelSettings(const ModelSettings& value) { m_modelSettingsHasBeenSet = true; m_modelSettings = value; } /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline void SetModelSettings(ModelSettings&& value) { m_modelSettingsHasBeenSet = true; m_modelSettings = std::move(value); } /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline StartTranscriptionJobRequest& WithModelSettings(const ModelSettings& value) { SetModelSettings(value); return *this;} /** *

Choose the custom language model you use for your transcription job in this * parameter.

*/ inline StartTranscriptionJobRequest& WithModelSettings(ModelSettings&& value) { SetModelSettings(std::move(value)); return *this;} /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline const JobExecutionSettings& GetJobExecutionSettings() const{ return m_jobExecutionSettings; } /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline bool JobExecutionSettingsHasBeenSet() const { return m_jobExecutionSettingsHasBeenSet; } /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline void SetJobExecutionSettings(const JobExecutionSettings& value) { m_jobExecutionSettingsHasBeenSet = true; m_jobExecutionSettings = value; } /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline void SetJobExecutionSettings(JobExecutionSettings&& value) { m_jobExecutionSettingsHasBeenSet = true; m_jobExecutionSettings = std::move(value); } /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline StartTranscriptionJobRequest& WithJobExecutionSettings(const JobExecutionSettings& value) { SetJobExecutionSettings(value); return *this;} /** *

Provides information about how a transcription job is executed. Use this * field to indicate that the job can be queued for deferred execution if the * concurrency limit is reached and there are no slots available to immediately run * the job.

*/ inline StartTranscriptionJobRequest& WithJobExecutionSettings(JobExecutionSettings&& value) { SetJobExecutionSettings(std::move(value)); return *this;} /** *

An object that contains the request parameters for content redaction.

*/ inline const ContentRedaction& GetContentRedaction() const{ return m_contentRedaction; } /** *

An object that contains the request parameters for content redaction.

*/ inline bool ContentRedactionHasBeenSet() const { return m_contentRedactionHasBeenSet; } /** *

An object that contains the request parameters for content redaction.

*/ inline void SetContentRedaction(const ContentRedaction& value) { m_contentRedactionHasBeenSet = true; m_contentRedaction = value; } /** *

An object that contains the request parameters for content redaction.

*/ inline void SetContentRedaction(ContentRedaction&& value) { m_contentRedactionHasBeenSet = true; m_contentRedaction = std::move(value); } /** *

An object that contains the request parameters for content redaction.

*/ inline StartTranscriptionJobRequest& WithContentRedaction(const ContentRedaction& value) { SetContentRedaction(value); return *this;} /** *

An object that contains the request parameters for content redaction.

*/ inline StartTranscriptionJobRequest& WithContentRedaction(ContentRedaction&& value) { SetContentRedaction(std::move(value)); return *this;} private: Aws::String m_transcriptionJobName; bool m_transcriptionJobNameHasBeenSet; LanguageCode m_languageCode; bool m_languageCodeHasBeenSet; int m_mediaSampleRateHertz; bool m_mediaSampleRateHertzHasBeenSet; MediaFormat m_mediaFormat; bool m_mediaFormatHasBeenSet; Media m_media; bool m_mediaHasBeenSet; Aws::String m_outputBucketName; bool m_outputBucketNameHasBeenSet; Aws::String m_outputEncryptionKMSKeyId; bool m_outputEncryptionKMSKeyIdHasBeenSet; Settings m_settings; bool m_settingsHasBeenSet; ModelSettings m_modelSettings; bool m_modelSettingsHasBeenSet; JobExecutionSettings m_jobExecutionSettings; bool m_jobExecutionSettingsHasBeenSet; ContentRedaction m_contentRedaction; bool m_contentRedactionHasBeenSet; }; } // namespace Model } // namespace TranscribeService } // namespace Aws